Author: ramkumar
Date: Mon Nov 16 11:57:01 2009
New Revision: 880717
URL: http://svn.apache.org/viewvc?rev=880717&view=rev
Log:
Fixes for validating uniqueness in <import.java> and <export.java>
Modified:
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
tuscany/java/sca/modules/contribution/src/main/resources/contribution-xml-validation-messages.properties
Modified:
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java?rev=880717&r1=880716&r2=880717&view=diff
==============================================================================
---
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
(original)
+++
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
Mon Nov 16 11:57:01 2009
@@ -34,6 +34,8 @@
import org.apache.tuscany.sca.contribution.ContributionMetadata;
import org.apache.tuscany.sca.contribution.Export;
import org.apache.tuscany.sca.contribution.Import;
+import org.apache.tuscany.sca.contribution.java.JavaImport;
+import org.apache.tuscany.sca.contribution.java.JavaExport;
import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import
org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
@@ -157,8 +159,30 @@
Object extension = extensionProcessor.read(reader,
context);
if (extension != null && contribution != null) {
if (extension instanceof Import) {
-
contribution.getImports().add((Import)extension);
+ // The value of the @package attribute on
the <import.java/> element MUST be
+ // unique across all other
<import.java/> elements within the contribution.
+ if (extension instanceof JavaImport) {
+ for (Import imports :
contribution.getImports()) {
+ if (imports instanceof
JavaImport) {
+ if
(((JavaImport)extension).getPackage().equals(((JavaImport)
imports).getPackage())) {
+
error(context.getMonitor(), "DuplicateJavaImports", reader);
+ }
+ }
+ }
+ }
+
contribution.getImports().add((Import)extension);
} else if (extension instanceof Export) {
+ // The value of the @package attribute
on the <export.java/> element MUST be
+ // unique across all other
<export.java/> elements within the contribution.
+ if (extension instanceof JavaExport) {
+ for (Export exports :
contribution.getExports()) {
+ if (exports instanceof
JavaExport) {
+ if
(((JavaExport)extension).getPackage().equals(((JavaExport)
exports).getPackage())) {
+
error(context.getMonitor(), "DuplicateJavaExports", reader);
+ }
+ }
+ }
+ }
contribution.getExports().add((Export)extension);
} else {
contribution.getExtensions().add(extension);
Modified:
tuscany/java/sca/modules/contribution/src/main/resources/contribution-xml-validation-messages.properties
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/resources/contribution-xml-validation-messages.properties?rev=880717&r1=880716&r2=880717&view=diff
==============================================================================
---
tuscany/java/sca/modules/contribution/src/main/resources/contribution-xml-validation-messages.properties
(original)
+++
tuscany/java/sca/modules/contribution/src/main/resources/contribution-xml-validation-messages.properties
Mon Nov 16 11:57:01 2009
@@ -21,4 +21,5 @@
XMLStreamException = XMLStreamException occured due to : {0}
IOException = IOException occured due to : {0}
AttributeCompositeMissing = Attribute 'composite' is missing
-
+DuplicateJavaImports = The value of the @package attribute on the
<import.java/> element is not unique across all other <import.java/> elements
within the contribution.
+DuplicateJavaExports = The value of the @package attribute on the
<export.java/> element is not unique across all other <export.java/> elements
within the contribution.