You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/05/19 11:08:49 UTC
svn commit: r657767 - in
/incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post:
AbstractSlingPostOperation.java impl/helper/NodeNameGenerator.java
impl/operations/ModifyOperation.java
Author: fmeschbe
Date: Mon May 19 02:08:49 2008
New Revision: 657767
URL: http://svn.apache.org/viewvc?rev=657767&view=rev
Log:
SLING-394:
- Check for correct list of prefix (not just /) in AbstractSlingPostOperation
- Only consider prefix parameter for node name generation
Modified:
incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractSlingPostOperation.java
incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/NodeNameGenerator.java
incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java
Modified: incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractSlingPostOperation.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractSlingPostOperation.java?rev=657767&r1=657766&r2=657767&view=diff
==============================================================================
--- incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractSlingPostOperation.java (original)
+++ incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractSlingPostOperation.java Mon May 19 02:08:49 2008
@@ -182,8 +182,8 @@
*/
protected boolean hasItemPathPrefix(String name) {
return name.startsWith(SlingPostConstants.ITEM_PREFIX_ABSOLUTE)
- || name.startsWith(SlingPostConstants.ITEM_PREFIX_ABSOLUTE)
- || name.startsWith(SlingPostConstants.ITEM_PREFIX_ABSOLUTE);
+ || name.startsWith(SlingPostConstants.ITEM_PREFIX_RELATIVE_CURRENT)
+ || name.startsWith(SlingPostConstants.ITEM_PREFIX_RELATIVE_PARENT);
}
/**
Modified: incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/NodeNameGenerator.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/NodeNameGenerator.java?rev=657767&r1=657766&r2=657767&view=diff
==============================================================================
--- incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/NodeNameGenerator.java (original)
+++ incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/NodeNameGenerator.java Mon May 19 02:08:49 2008
@@ -51,9 +51,12 @@
* Get a "nice" node name, if possible, based on given request
*
* @param parameters the request parameters
+ * @param requirePrefix <code>true</code> if the parameter names for
+ * properties requires a prefix
* @return a nice node name
*/
- public String getNodeName(RequestParameterMap parameters) {
+ public String getNodeName(RequestParameterMap parameters,
+ boolean requirePrefix) {
String valueToUse = null;
boolean doFilter = true;
@@ -77,19 +80,19 @@
}
}
- if ( valueToUse == null ) {
- for(String param : parameterNames) {
- if(valueToUse != null) {
+ if (valueToUse == null) {
+ for (String param : parameterNames) {
+ if (valueToUse != null) {
break;
}
- RequestParameter[] pp = parameters.get(param);
- if (pp == null) {
- pp = parameters.get(SlingPostConstants.ITEM_PREFIX_RELATIVE_CURRENT + param);
+ if (requirePrefix) {
+ param = SlingPostConstants.ITEM_PREFIX_RELATIVE_CURRENT.concat(param);
}
- if (pp!=null) {
- for(RequestParameter p : pp) {
+ final RequestParameter[] pp = parameters.get(param);
+ if (pp != null) {
+ for (RequestParameter p : pp) {
valueToUse = p.getString();
- if(valueToUse != null && valueToUse.length() > 0) {
+ if (valueToUse != null && valueToUse.length() > 0) {
break;
}
valueToUse = null;
Modified: incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java?rev=657767&r1=657766&r2=657767&view=diff
==============================================================================
--- incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java (original)
+++ incubator/sling/trunk/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/operations/ModifyOperation.java Mon May 19 02:08:49 2008
@@ -157,7 +157,8 @@
// If the path ends with a *, create a node under its parent, with
// a generated node name
basePath += "/"
- + nodeNameGenerator.getNodeName(request.getRequestParameterMap());
+ + nodeNameGenerator.getNodeName(request.getRequestParameterMap(),
+ requireItemPathPrefix(request));
// if resulting path exists, add a suffix until it's not the case
// anymore