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

Reply via email to