This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | MDR Libraries since 2002-08-31 and later are not backwards compatible | ||
---|---|---|---|
Product: | java | Reporter: | Jens Fransson <jens> |
Component: | Unsupported | Assignee: | Martin Matula <mmatula> |
Status: | RESOLVED INVALID | ||
Severity: | blocker | ||
Priority: | P1 | ||
Version: | 3.x | ||
Hardware: | PC | ||
OS: | Windows ME/2000 | ||
Issue Type: | DEFECT | Exception Reporter: |
Description
Jens Fransson
2002-09-05 16:14:08 UTC
Hi Jens, I've tried the code and it worked for me after rebooting the repository. We made significant changes to the repository storage which resulted in the storage not being backwards compatible and even our mechanisms for autorebooting did not work as the change we made was too deep. Keeping MDR storage backward compatible is not a requirement for MDR since the storage contains only derived data - MDR should not be used to store primary data - the primary data should be stored in source files/XMI files and the MDR serves only as a cache for them. Please confirm that after deleting the storage files (thus forcing the reboot of the storage manually) the problems still presist. I suppose that it is working for you now (after rebooting?), since you haven't reply my last message. Hi Martin! Indeed it is the case that the problem persists when deleting the repository. I always delete the repository and force it to reboot, loading any needed contents from XMI. It must be another problem. I find the problem severe (P1) as I am disconnected from the actual MDR evolvement because I am forced to use an old version. Regards, Jens Hi Jens, there is a very stupid bug in your code. Your code does not iterate through the last element of the iterator. First time it iterates through null (that's why you needed to put if (m != null) to your code, which is normaly not necessary), then through the all the elements of the iterator but the last one. Try using: for (; i.hasNext();) { m = (javax.jmi.model.ModelElement) i.next()); ... } instead of: for (; i.hasNext(); m = (javax.jmi.model.ModelElement) i.next()) { if (m != null) { ... } } Also I recommend you to not use your custom lookup. Just delete the lookup class. Openide library (since NB 3.4) already contains a default implementation of lookup which is able to resolve all the needed instances (registered in meta-inf folder of jars - see e.g. jmiutils.jar) |