Thanks for checking Sebastien, most is in SVN now, and I have already cleaned up the classLoader issue you mentioned. Indeed, I have couple questions...
- We need a better extensible way to handle the matching of import/export to proper initialize the resolvers. I have looked into using the ArtifactProcessor.resolve to handle part of this (as suggested on the code comments), but I could think about couple issues : the processor might bot have all the required dependencies to proper find the matching import/export and to initialize the resolvers, also the processors might be contributed by the not really be tied together with the module that implementing the import/export support (java case). So, any ideas are welcome... For now, TUSCANY-1488 [1] shows a workaround that is working on top of svn. - Another issue I noticed is regarding resolving classReferences. Because loading a given class would never fails (no class loader isolation) there is never going to be delegation to the proper modelResolver from a contribution that is exporting the package. Any ideas here ? Or should we revisit this when we enhance classLoader support? [1] https://issues.apache.org/jira/browse/TUSCANY-1488 On 7/27/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: > I've been looking into some of the model resolvers and some of them > still pass a ClassLoader around. I'd like to fix that and leverage the > Java resolver extension in the contribution-java module, but that module > is empty... > > How is that work going? Are you planning to add these resolvers for Java > imports/exports sometime this week? do you need any help to implement them? > > Thanks. > > [EMAIL PROTECTED] wrote: > > Author: lresende > > Date: Tue Jul 24 16:23:01 2007 > > New Revision: 559257 > > > > URL: http://svn.apache.org/viewvc?view=rev&rev=559257 > > Log: > > [work in progress] > > Contribution import/export java support based on new extensibility of > > contribution import/export > > > > Added: > > incubator/tuscany/java/sca/modules/contribution-java/ > > incubator/tuscany/java/sca/modules/contribution-java/.checkstyle > > incubator/tuscany/java/sca/modules/contribution-java/.pmd > > incubator/tuscany/java/sca/modules/contribution-java/.ruleset > > incubator/tuscany/java/sca/modules/contribution-java/pom.xml > > incubator/tuscany/java/sca/modules/contribution-java/src/ > > incubator/tuscany/java/sca/modules/contribution-java/src/main/ > > incubator/tuscany/java/sca/modules/contribution-java/src/main/java/ > > incubator/tuscany/java/sca/modules/contribution-java/src/main/resources/ > > incubator/tuscany/java/sca/modules/contribution-java/src/test/ > > incubator/tuscany/java/sca/modules/contribution-java/src/test/java/ > > incubator/tuscany/java/sca/modules/contribution-java/src/test/resources/ > > > > Added: incubator/tuscany/java/sca/modules/contribution-java/.checkstyle > > URL: > > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-java/.checkstyle?view=auto&rev=559257 > > ============================================================================== > > --- incubator/tuscany/java/sca/modules/contribution-java/.checkstyle (added) > > +++ incubator/tuscany/java/sca/modules/contribution-java/.checkstyle Tue > > Jul 24 16:23:01 2007 > > @@ -0,0 +1,25 @@ > > +<?xml version="1.0" encoding="UTF-8"?> > > +<!-- > > + * Licensed to the Apache Software Foundation (ASF) under one > > + * or more contributor license agreements. See the NOTICE file > > + * distributed with this work for additional information > > + * regarding copyright ownership. The ASF licenses this file > > + * to you under the Apache License, Version 2.0 (the > > + * "License"); you may not use this file except in compliance > > + * with the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, > > + * software distributed under the License is distributed on an > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > + * KIND, either express or implied. See the License for the > > + * specific language governing permissions and limitations > > + * under the License. > > +--> > > + > > +<fileset-config file-format-version="1.2.0" simple-config="true"> > > + <fileset name="all" enabled="true" check-config-name="Sun Checks" > > local="false"> > > + <file-match-pattern match-pattern="." include-pattern="true"/> > > + </fileset> > > +</fileset-config> > > > > Added: incubator/tuscany/java/sca/modules/contribution-java/.pmd > > URL: > > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-java/.pmd?view=auto&rev=559257 > > ============================================================================== > > --- incubator/tuscany/java/sca/modules/contribution-java/.pmd (added) > > +++ incubator/tuscany/java/sca/modules/contribution-java/.pmd Tue Jul 24 > > 16:23:01 2007 > > @@ -0,0 +1,20 @@ > > +<?xml version="1.0" encoding="UTF-8"?> > > +<!-- > > + * Licensed to the Apache Software Foundation (ASF) under one > > + * or more contributor license agreements. See the NOTICE file > > + * distributed with this work for additional information > > + * regarding copyright ownership. The ASF licenses this file > > + * to you under the Apache License, Version 2.0 (the > > + * "License"); you may not use this file except in compliance > > + * with the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, > > + * software distributed under the License is distributed on an > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > + * KIND, either express or implied. See the License for the > > + * specific language governing permissions and limitations > > + * under the License. > > +--> > > +<pmd><useProjectRuleSet>true</useProjectRuleSet><rules/></pmd> > > > > Added: incubator/tuscany/java/sca/modules/contribution-java/.ruleset > > URL: > > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-java/.ruleset?view=auto&rev=559257 > > ============================================================================== > > --- incubator/tuscany/java/sca/modules/contribution-java/.ruleset (added) > > +++ incubator/tuscany/java/sca/modules/contribution-java/.ruleset Tue Jul > > 24 16:23:01 2007 > > @@ -0,0 +1,190 @@ > > +<?xml version="1.0" encoding="UTF-8"?> > > +<!-- > > + * Licensed to the Apache Software Foundation (ASF) under one > > + * or more contributor license agreements. See the NOTICE file > > + * distributed with this work for additional information > > + * regarding copyright ownership. The ASF licenses this file > > + * to you under the Apache License, Version 2.0 (the > > + * "License"); you may not use this file except in compliance > > + * with the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, > > + * software distributed under the License is distributed on an > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > + * KIND, either express or implied. See the License for the > > + * specific language governing permissions and limitations > > + * under the License. > > +--> > > +<ruleset name="pmd-eclipse"> > > + <description>PMD Plugin preferences rule set</description> > > + > > + > > + <rule ref="rulesets/basic.xml/BooleanInstantiation"/> > > + <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/> > > + <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/> > > +<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>--> > > + <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/> > > +<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>--> > > +<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>--> > > + <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/> > > + <rule ref="rulesets/basic.xml/JumbledIncrementer"/> > > +<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>--> > > + <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/> > > + <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/> > > + <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/> > > + <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/> > > + <rule ref="rulesets/basic.xml/UnnecessaryReturn"/> > > +<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>--> > > + > > +<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>--> > > +<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>--> > > +<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>--> > > +<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>--> > > + > > +<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>--> > > +<!--<rule > > ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>--> > > +<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>--> > > + > > +<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>--> > > +<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>--> > > +<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>--> > > +<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>--> > > +<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>--> > > +<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>--> > > + > > +<rule ref="rulesets/controversial.xml/AssignmentInOperand"/> > > +<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>--> > > +<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>--> > > +<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>--> > > +<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>--> > > +<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>--> > > +<!--<rule ref="rulesets/controversial.xml/SingularField"/>--> > > +<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>--> > > +<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>--> > > +<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/> > > +<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>--> > > + > > +<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>--> > > +<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>--> > > +<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>--> > > + > > +<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>--> > > +<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>--> > > +<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>--> > > +<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>--> > > +<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>--> > > +<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/> > > +<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>--> > > +<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>--> > > +<!--<rule ref="rulesets/design.xml/BadComparison"/>--> > > +<!--<rule ref="rulesets/design.xml/CloseConnection"/>--> > > +<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>--> > > +<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>--> > > +<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/> > > +<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>--> > > +<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>--> > > +<rule ref="rulesets/design.xml/IdempotentOperations"/> > > +<!--<rule ref="rulesets/design.xml/ImmutableField"/>--> > > +<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>--> > > +<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>--> > > +<!--<rule > > ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>--> > > +<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>--> > > +<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>--> > > +<rule ref="rulesets/design.xml/OptimizableToArrayCall"/> > > +<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/> > > +<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/> > > +<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/> > > +<rule ref="rulesets/design.xml/SimplifyConditional"/> > > +<!--<rule ref="rulesets/design.xml/SwitchDensity"/>--> > > +<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>--> > > +<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/> > > +<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>--> > > +<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>--> > > +<!--<rule ref="rulesets/design.xml/UseSingleton"/>--> > > + > > +<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>--> > > +<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>--> > > +<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>--> > > +<!--<rule > > ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>--> > > +<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>--> > > +<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>--> > > + > > +<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>--> > > +<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>--> > > +<!--<rule ref="rulesets/imports.xml/UnusedImports"/>--> > > +<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>--> > > + > > +<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>--> > > +<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>--> > > + > > +<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>--> > > +<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>--> > > +<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>--> > > +<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>--> > > +<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>--> > > +<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>--> > > +<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>--> > > +<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>--> > > + > > + <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>--> > > + <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>--> > > + <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>--> > > + <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>--> > > + <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>--> > > + <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>--> > > + <!--<rule > > ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>--> > > + <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>--> > > + > > + <!--<rule ref="rulesets/naming.xml/ShortVariable"/>--> > > + <!--<rule ref="rulesets/naming.xml/LongVariable"/>--> > > + <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>--> > > + <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>--> > > + <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>--> > > + <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>--> > > + <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>--> > > + <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>--> > > + <!--<rule > > ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>--> > > + <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>--> > > + <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>--> > > + <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>--> > > + <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>--> > > + <!--<rule > > ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>--> > > + <!--<rule ref="rulesets/naming.xml/NoPackage"/>--> > > + <!--<rule ref="rulesets/naming.xml/PackageCase"/>--> > > + > > + <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>--> > > + <!--<rule > > ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>--> > > + <!--<rule > > ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>--> > > + <!--<rule > > ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>--> > > + <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>--> > > + <!--<rule > > ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>--> > > + > > + <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>--> > > + <!--<rule > > ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>--> > > + <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>--> > > + <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>--> > > + <!--<rule > > ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>--> > > + <!--<rule > > ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>--> > > + > > + <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>--> > > + <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>--> > > + <!--<rule ref="rulesets/strings.xml/StringToString"/>--> > > + <!--<rule > > ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>--> > > + <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>--> > > + > > + <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>--> > > + <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>--> > > + > > + <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/> > > + <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/> > > + <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/> > > + <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>--> > > + > > +</ruleset> > > > > Added: incubator/tuscany/java/sca/modules/contribution-java/pom.xml > > URL: > > http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-java/pom.xml?view=auto&rev=559257 > > ============================================================================== > > --- incubator/tuscany/java/sca/modules/contribution-java/pom.xml (added) > > +++ incubator/tuscany/java/sca/modules/contribution-java/pom.xml Tue Jul 24 > > 16:23:01 2007 > > @@ -0,0 +1,45 @@ > > +<?xml version="1.0" encoding="UTF-8"?> > > +<!-- > > + * Licensed to the Apache Software Foundation (ASF) under one > > + * or more contributor license agreements. See the NOTICE file > > + * distributed with this work for additional information > > + * regarding copyright ownership. The ASF licenses this file > > + * to you under the Apache License, Version 2.0 (the > > + * "License"); you may not use this file except in compliance > > + * with the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, > > + * software distributed under the License is distributed on an > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > + * KIND, either express or implied. See the License for the > > + * specific language governing permissions and limitations > > + * under the License. > > +--> > > +<project> > > + <modelVersion>4.0.0</modelVersion> > > + <parent> > > + <groupId>org.apache.tuscany.sca</groupId> > > + <artifactId>tuscany-modules</artifactId> > > + <version>1.0-incubating-SNAPSHOT</version> > > + <relativePath>../pom.xml</relativePath> > > + </parent> > > + <artifactId>tuscany-contribution-java</artifactId> > > + <name>Apache Tuscany SCA Contribution Service Java Import/Export</name> > > + > > + <dependencies> > > + <dependency> > > + <groupId>org.apache.tuscany.sca</groupId> > > + <artifactId>tuscany-contribution</artifactId> > > + <version>1.0-incubating-SNAPSHOT</version> > > + </dependency> > > + > > + <dependency> > > + <groupId>org.codehaus.woodstox</groupId> > > + <artifactId>wstx-asl</artifactId> > > + <version>3.2.0</version> > > + <scope>runtime</scope> > > + </dependency> > > + </dependencies> > > +</project> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > -- > Jean-Sebastien > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
