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");