Hello Patrik, at the moment the workaround is okay for me, but in future it would be good when the recursive imports are working. it make it easier to split the model into separate files.
thanks, Markus polly.c.chang wrote: > > Personally, I like the recursive imports. The second way of doing the > imports is so much cleaner. It would be good if having extra imports > doesn't cause a NullPointerException though. Those can be so hard to > resolve. Just my 2 cents. > > I've been swamped so I have been unable to update to oAW 4.3.1. I'm very > interested in what you find though. > > Thanks, > Polly > > > Patrik Nordwall wrote: >> >> Hi, >> >> I have actually noticed the same thing for the DDD Sample and I solved it >> in the same way, i.e. removed the extra imports from the top levels. This >> problem started when we migrated to oAW 4.3.1. We had a lot of problems >> with the linking. This is one of them. >> >> I will try to debug it again. Is the workaround ok for you at the moment? >> >> I'm not sure if the recursive import is a good at all. What do you think? >> >> /Patrik >> >> Markus Flögel wrote: >>> >>> Hello, >>> >>> i have some problems with sharing my model designs. >>> >>> i have 4 files for the model: >>> >>> model.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-rightmanagement.design" >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-usermanagement.design" >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-common.design" >>> >>> >>> model-rightmanagement.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-usermanagement.design" >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-common.design" >>> >>> >>> model-usermanagement.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-common.design" >>> >>> >>> model-common.design (with no import) >>> >>> This import order results in an exception in the WorkflowRunner: >>> >>> 3828 ERROR WorkflowRunner - Workflow interrupted. Reason: Errors >>> during validation. >>> 3828 ERROR WorkflowRunner - ERROR in Component of type >>> org.openarchitectureware.check.CheckComponent >>> java.lang.NullPointerException [boolean checkCyclicDependencies(Module >>> module)] in workflow: CheckComponent: slot model check file(s): >>> constraints/constraints >>> 3828 ERROR WorkflowRunner - ERROR in Component of type >>> org.openarchitectureware.check.CheckComponent >>> java.lang.NullPointerException [this.checkCyclicDependencies()] in >>> workflow: CheckComponent: slot model check file(s): >>> constraints/constraints >>> 3828 ERROR WorkflowRunner - >>> java.lang.NullPointerException[EvaluationException : >>> java.lang.NullPointerException >>> constraints::constraints.chk[1400,30] on line 33 >>> 'this.checkCyclicDependencies()' >>> >>> at >>> org.openarchitectureware.expression.ast.Expression.evaluate(Expression.java:59) >>> at org.openarchitectureware.xtend.ast.Check.validate(Check.java:140) >>> at >>> org.openarchitectureware.xtend.ast.ExtensionFile.check(ExtensionFile.java:198) >>> at >>> org.openarchitectureware.check.CheckFacade.checkAll(CheckFacade.java:50) >>> at >>> org.openarchitectureware.check.CheckComponent.invokeInternal2(CheckComponent.java:139) >>> at >>> org.openarchitectureware.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:164) >>> at >>> org.openarchitectureware.workflow.lib.AbstractWorkflowComponent2.invoke(AbstractWorkflowComponent2.java:61) >>> at >>> org.openarchitectureware.workflow.container.CompositeComponent.internalInvoke(CompositeComponent.java:129) >>> at >>> org.openarchitectureware.workflow.container.CompositeComponent.invoke(CompositeComponent.java:112) >>> at >>> org.openarchitectureware.workflow.container.CompositeComponent.internalInvoke(CompositeComponent.java:129) >>> at >>> org.openarchitectureware.workflow.container.CompositeComponent.invoke(CompositeComponent.java:112) >>> at >>> org.openarchitectureware.workflow.WorkflowRunner.executeWorkflow(WorkflowRunner.java:380) >>> at >>> org.openarchitectureware.workflow.WorkflowRunner.run(WorkflowRunner.java:261) >>> at >>> org.fornax.toolsupport.maven2.OawWorkflowMojo.execute(OawWorkflowMojo.java:262) >>> at >>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) >>> at >>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) >>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) >>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) >>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) >>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) >>> at >>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) >>> at org.codehaus.classworlds.Launcher.main(Launcher.java:375) >>> >>> >>> when i change the files like this, no error occurs. >>> >>> model.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-rightmanagement.design" >>> >>> >>> model-rightmanagement.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-usermanagement.design" >>> >>> >>> model-usermanagement.design: >>> >>> import >>> "platform:/resource/UserRightManagement/src/main/resources/model-common.design" >>> >>> >>> model-common.design (with no import) >>> >>> >>> Any ideas? >>> >> >> > > -- View this message in context: http://www.nabble.com/-Sculptor--NullpointerException-in-checkCyclicDependencies%28%29-tp22075689s17564p22095625.html Sent from the Fornax-Platform mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Fornax-developer mailing list Fornax-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fornax-developer