You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/07/07 19:07:18 UTC
svn commit: r674558 - in
/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model:
ModelTransformerContext.java impl/DefaultModelDataSource.java
Author: sisbell
Date: Mon Jul 7 10:07:02 2008
New Revision: 674558
URL: http://svn.apache.org/viewvc?rev=674558&view=rev
Log:
Latest changes, docs, etc.
Modified:
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
Modified: maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java?rev=674558&r1=674557&r2=674558&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java (original)
+++ maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java Mon Jul 7 10:07:02 2008
@@ -27,6 +27,8 @@
/**
* Default constructor
+ *
+ * @param factories model container factories. Value may be null.
*/
public ModelTransformerContext(Collection<ModelContainerFactory> factories) {
this.factories = (factories == null) ? Collections.EMPTY_LIST : factories;
@@ -37,12 +39,12 @@
* Unlike ModelTransformerContext#transform(java.util.List, ModelTransformer, ModelTransformer), this method requires
* the user to add interpolator properties. It's intended to be used by IDEs.
*
- * @param domainModels
- * @param fromModelTransformer
- * @param toModelTransformer
+ * @param domainModels the domain model list to transform
+ * @param fromModelTransformer transformer that transforms from specified domain models to canonical data model
+ * @param toModelTransformer transformer that transforms from canonical data model to returned domain model
* @param interpolatorProperties properties to use during interpolation.
- * @return
- * @throws IOException
+ * @return processed domain model
+ * @throws IOException if there was a problem with the transform
*/
public DomainModel transform(List<DomainModel> domainModels, ModelTransformer fromModelTransformer,
ModelTransformer toModelTransformer,
@@ -54,7 +56,7 @@
baseUriForModel);
ModelDataSource modelDataSource = new DefaultModelDataSource();
modelDataSource.init(modelProperties, factories);
- long start = System.currentTimeMillis();
+
for (ModelContainerFactory factory : factories) {
for (String uri : factory.getUris()) {
List<ModelContainer> modelContainers = modelDataSource.queryFor(uri);
@@ -72,11 +74,9 @@
}
}
}
- // System.out.println("Time= " + (System.currentTimeMillis() - start));
//interpolator
List<ModelProperty> mps = modelDataSource.getModelProperties();
- long s = System.currentTimeMillis();
for (ModelProperty mp : mps) {
InterpolatorProperty ip = mp.asInterpolatorProperty(baseUriForModel);
@@ -103,7 +103,6 @@
}
*/
- //System.out.println("Resolve Time = " + (System.currentTimeMillis() - s));
validate(mps);
return toModelTransformer.transformToDomainModel(mps);
}
Modified: maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java?rev=674558&r1=674557&r2=674558&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java (original)
+++ maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java Mon Jul 7 10:07:02 2008
@@ -20,9 +20,16 @@
if (b == null || b.getProperties() == null) {
throw new IllegalArgumentException("b: null or b.properties: empty");
}
+
if (!modelProperties.containsAll(a.getProperties())) {
+ for (ModelProperty mp : a.getProperties()) {
+ if (!modelProperties.contains(mp)) {
+ System.out.println(mp);
+ }
+ }
throw new DataSourceException("ModelContainer 'a' contains elements not within datasource");
}
+
if (a.equals(b) || b.getProperties().size() == 0) {
return a;
}
@@ -110,9 +117,33 @@
}
}
}
+
+ //verify data source integrity
+ List<ModelProperty> unknownProperties = findUnknownModelPropertiesFrom(modelContainers);
+ if(!unknownProperties.isEmpty()) {
+ for(ModelProperty mp : unknownProperties) {
+ System.out.println(mp);
+ }
+ throw new DataSourceException("ModelContainer contains elements not within datasource");
+ }
+
return modelContainers;
}
+ private List<ModelProperty> findUnknownModelPropertiesFrom(List<ModelContainer> modelContainers) {
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ for(ModelContainer mc: modelContainers) {
+ if (!modelProperties.containsAll(mc.getProperties())) {
+ for (ModelProperty mp : mc.getProperties()) {
+ if (!modelProperties.contains(mp)) {
+ modelProperties.add(mp);
+ }
+ }
+ }
+ }
+ return modelProperties;
+ }
+
public void init(List<ModelProperty> modelProperties, Collection<ModelContainerFactory> modelContainerFactories) {
if (modelProperties == null) {
throw new IllegalArgumentException("modelProperties: null");