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/06/27 18:54:29 UTC
svn commit: r672322 - in /maven/sandbox/trunk/shared/maven-shared-model/src:
main/java/org/apache/maven/shared/model/
test/java/org/apache/maven/shared/model/
Author: sisbell
Date: Fri Jun 27 09:54:29 2008
New Revision: 672322
URL: http://svn.apache.org/viewvc?rev=672322&view=rev
Log:
Various bug fixes
Modified:
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java
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/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java
Modified: maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java?rev=672322&r1=672321&r2=672322&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java (original)
+++ maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java Fri Jun 27 09:54:29 2008
@@ -47,7 +47,7 @@
String tagValue = null;
try {
- for (;;parser.next()) {
+ for (; ; parser.next()) {
int type = parser.getEventType();
switch (type) {
case XmlPullParser.TEXT: {
@@ -58,6 +58,10 @@
break;
}
case XmlPullParser.START_TAG: {
+ if (parser.isEmptyElementTag()) {
+ tagValue = "";
+ }
+
if (!tagName.equals(baseUri)) {
modelProperties.add(new ModelProperty(tagName, tagValue));
}
@@ -123,7 +127,7 @@
}
lastUriTags = tagNames;
}
- for (int i = lastUriTags.size() - 2; i >= 0; i--) {
+ for (int i = lastUriTags.size() - 1; i >= 1; i--) {
sb.append(toEndTag(lastUriTags.get(i)));
}
return sb.toString();
Modified: maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java?rev=672322&r1=672321&r2=672322&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java (original)
+++ maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java Fri Jun 27 09:54:29 2008
@@ -80,10 +80,10 @@
}
public InterpolatorProperty asInterpolatorProperty(String baseUri) {
- if(uri.contains("#collection") || value == null) {
+ if (uri.contains("#collection") || value == null) {
return null;
}
- String key = "${" + uri.replace(baseUri +"/", "").replace("/", ".") + "}";
+ String key = "${" + uri.replace(baseUri + "/", "").replace("/", ".") + "}";
return new InterpolatorProperty(key, value);
}
@@ -94,21 +94,17 @@
if (isResolved()) {
return;
}
- boolean isModified = false;
for (String expression : expressions) {
if (property.getKey().equals(expression)) {
resolvedValue = resolvedValue.replace(property.getKey(), property.getValue());
- isModified = true;
+ expressions.clear();
+ Matcher matcher = EXPRESSION_PATTERN.matcher(resolvedValue);
+ while (matcher.find()) {
+ expressions.add(matcher.group(0));
+ }
break;
}
}
- if (isModified) {
- expressions.clear();
- Matcher matcher = EXPRESSION_PATTERN.matcher(value);
- while (matcher.find()) {
- expressions.add(matcher.group(0));
- }
- }
}
public String toString() {
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=672322&r1=672321&r2=672322&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 Fri Jun 27 09:54:29 2008
@@ -32,11 +32,22 @@
this.factories = (factories == null) ? Collections.EMPTY_LIST : factories;
}
+ /**
+ * Transforms and interpolates specified hierarchical list of domain models (inheritence) to target domain model.
+ * 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 interpolatorProperties properties to use during interpolation.
+ * @return
+ * @throws IOException
+ */
public DomainModel transform(List<DomainModel> domainModels, ModelTransformer fromModelTransformer,
ModelTransformer toModelTransformer,
Collection<InterpolatorProperty> interpolatorProperties) throws IOException {
- List<InterpolatorProperty> properties = new ArrayList<InterpolatorProperty>(systemInterpolatorProperties);
- properties.addAll(interpolatorProperties);
+ List<InterpolatorProperty> properties = new ArrayList<InterpolatorProperty>(interpolatorProperties);
String baseUriForModel = fromModelTransformer.getBaseUri();
List<ModelProperty> modelProperties = sort(fromModelTransformer.transformToModelProperties(domainModels),
@@ -74,8 +85,8 @@
}
List<ModelProperty> unresolvedProperties = new ArrayList<ModelProperty>();
- for(ModelProperty mp : mps) {
- if(!mp.isResolved()) {
+ for (ModelProperty mp : mps) {
+ if (!mp.isResolved()) {
unresolvedProperties.add(mp);
}
}
@@ -89,21 +100,24 @@
return toModelTransformer.transformToDomainModel(mps);
}
-
/**
- * Transforms specified hierarchical list of domain models (inheritence) to target domain model.
+ * Transforms and interpolates specified hierarchical list of domain models (inheritence) to target domain model.
+ * Uses standard environmental and system properties for intepolation.
*
* @param domainModels
* @param fromModelTransformer
* @param toModelTransformer
- * @return
+ * @return
+ * @throws IOException
*/
public DomainModel transform(List<DomainModel> domainModels, ModelTransformer fromModelTransformer,
ModelTransformer toModelTransformer)
throws IOException {
- return this.transform(domainModels, fromModelTransformer, toModelTransformer, new ArrayList<InterpolatorProperty>());
+ return this.transform(domainModels, fromModelTransformer, toModelTransformer, systemInterpolatorProperties);
}
+
+
/**
* Sorts specified list of model properties. Typically the list contain property information from the entire
* hierarchy of models, with most specialized model first in the list.
Modified: maven/sandbox/trunk/shared/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java?rev=672322&r1=672321&r2=672322&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java (original)
+++ maven/sandbox/trunk/shared/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java Fri Jun 27 09:54:29 2008
@@ -7,6 +7,7 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -14,7 +15,17 @@
public class ModelMarshallerTest {
@Test
- public void marshal() throws IOException {
+ public void unmarshalWithemptyTags() throws IOException {
+ List<ModelProperty> modelProperties = Arrays.asList(
+ new ModelProperty("http://apache.org/maven/project", null),
+ new ModelProperty("http://apache.org/maven/project/dependencies#collection", null)
+ );
+ String xml = ModelMarshaller.unmarshalModelPropertiesToXml(modelProperties, "http://apache.org/maven");
+ System.out.println("COMPLETE:" + xml); //TODO: Verify proper xml
+ }
+
+ @Test
+ public void marshal() throws IOException {
List<ModelProperty> modelProperties = ModelMarshaller.marshallXmlToModelProperties(
new ByteArrayInputStream("<project><version>1.1</version></project>".getBytes()),
"http://apache.org/maven", null);