You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2010/02/23 20:01:23 UTC
svn commit: r915493 - in
/sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration:
NameValuePairList.java SlingIntegrationTestClient.java
Author: justin
Date: Tue Feb 23 19:01:23 2010
New Revision: 915493
URL: http://svn.apache.org/viewvc?rev=915493&view=rev
Log:
SLING-1407 - adding nullcheck and better default alignment with current behavior
Modified:
sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/NameValuePairList.java
sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java
Modified: sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/NameValuePairList.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/NameValuePairList.java?rev=915493&r1=915492&r2=915493&view=diff
==============================================================================
--- sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/NameValuePairList.java (original)
+++ sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/NameValuePairList.java Tue Feb 23 19:01:23 2010
@@ -30,7 +30,7 @@
private final List<NameValuePair> delegate;
public NameValuePairList() {
- delegate = new ArrayList<NameValuePair>();
+ delegate = new ArrayList<NameValuePair>();
}
public NameValuePairList(List<NameValuePair> init) {
@@ -43,14 +43,16 @@
public NameValuePairList(Map<String, String> clientNodeProperties) {
this();
- for (Map.Entry<String,String> e : clientNodeProperties.entrySet()) {
- add(e.getKey(), e.getValue());
+ if (clientNodeProperties != null) {
+ for (Map.Entry<String, String> e : clientNodeProperties.entrySet()) {
+ add(e.getKey(), e.getValue());
+ }
}
}
public void add(String name, String value) {
delegate.add(new NameValuePair(name, value));
- }
+ }
public void addIfNew(String name, String value) {
boolean found = false;
@@ -87,6 +89,12 @@
}
}
+ public void addOrReplaceAll(NameValuePairList other) {
+ for (NameValuePair nvp : other) {
+ addOrReplace(nvp.getName(), nvp.getValue());
+ }
+ }
+
public void clear() {
delegate.clear();
}
@@ -95,6 +103,22 @@
return delegate.iterator();
}
+ public void prependIfNew(String name, String value) {
+ boolean found = false;
+ for (ListIterator<NameValuePair> li = delegate.listIterator(); li.hasNext();) {
+ NameValuePair current = li.next();
+ if (current.getName().equals(name)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ delegate.add(0, new NameValuePair(name, value));
+ }
+
+ }
+
public int size() {
return delegate.size();
}
Modified: sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java?rev=915493&r1=915492&r2=915493&view=diff
==============================================================================
--- sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java (original)
+++ sling/trunk/bundles/commons/testing/src/main/java/org/apache/sling/commons/testing/integration/SlingIntegrationTestClient.java Tue Feb 23 19:01:23 2010
@@ -125,12 +125,14 @@
NameValuePairList nodeProperties = new NameValuePairList(clientNodeProperties);
// add sling specific properties
- nodeProperties.addOrReplace(":redirect", "*");
- nodeProperties.addOrReplace(":displayExtension", "");
- nodeProperties.addOrReplace(":status", "browser");
+ nodeProperties.prependIfNew(":redirect", "*");
+ nodeProperties.prependIfNew(":displayExtension", "");
+ nodeProperties.prependIfNew(":status", "browser");
// add fake property - otherwise the node is not created
- nodeProperties.addIfNew("jcr:created", "");
+ if (clientNodeProperties == null) {
+ nodeProperties.add("jcr:created", "");
+ }
// force form encoding to UTF-8, which is what we use to convert the
// string parts into stream data