svn commit: r1640497 - in /sling/trunk/bundles/jcr/resource/src: main/java/org/apache/sling/jcr/resource/internal/ main/java/org/apache/sling/jcr/resource/internal/helper/jcr/ test/java/org/apache/sli

2014-11-19 Thread cziegeler
Author: cziegeler
Date: Wed Nov 19 08:04:44 2014
New Revision: 1640497

URL: http://svn.apache.org/r1640497
Log:
SLING-4184 : Provide path mapping from JCR nodes to resource paths

Added:

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/PathMapper.java
   (with props)

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/PathMapperImpl.java
   (with props)

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/PathMapperTest.java
   (with props)
Modified:

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/OakResourceListener.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrItemResource.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrPropertyResource.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProviderFactory.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceListenerScalabilityTest.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/SynchronousJcrResourceListener.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/SynchronousOakResourceListener.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceTest.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrPropertyResourceTest.java

sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrTestNodeResource.java

Modified: 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java?rev=1640497r1=1640496r2=1640497view=diff
==
--- 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 (original)
+++ 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 Wed Nov 19 08:04:44 2014
@@ -37,6 +37,8 @@ import org.apache.jackrabbit.api.observa
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider;
+import org.apache.sling.jcr.resource.internal.helper.jcr.PathMapper;
 import org.osgi.service.event.EventAdmin;
 import org.osgi.service.event.EventConstants;
 import org.osgi.service.event.EventProperties;
@@ -70,6 +72,8 @@ public class JcrResourceListener impleme
 /** Helper object. */
 final ObservationListenerSupport support;
 
+private final PathMapper pathMapper;
+
 /**
  * Marker event for {@link #processOsgiEventQueue()} to be signaled to
  * terminate processing Events.
@@ -78,8 +82,10 @@ public class JcrResourceListener impleme
 
 public JcrResourceListener(
 final String mountPrefix,
-final ObservationListenerSupport support)
+final ObservationListenerSupport support,
+final PathMapper pathMapper)
 throws RepositoryException {
+this.pathMapper = pathMapper;
 boolean foundClass = false;
 try {
 
this.getClass().getClassLoader().loadClass(JackrabbitEvent.class.getName());
@@ -289,16 +295,21 @@ public class JcrResourceListener impleme
 final String topic,
 final ChangedAttributes changedAttributes) {
 
-if (changedAttributes != null) {
-changedAttributes.mergeAttributesInto(properties);
-}
+final String resourcePath = pathMapper.mapJCRPathToResourcePath(path);
+if ( resourcePath != null ) {
+if (changedAttributes != null) {
+changedAttributes.mergeAttributesInto(properties);
+

svn commit: r1640498 - in /sling/trunk/bundles/jcr/resource: pom.xml src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java

2014-11-19 Thread cziegeler
Author: cziegeler
Date: Wed Nov 19 08:18:45 2014
New Revision: 1640498

URL: http://svn.apache.org/r1640498
Log:
SLING-3865 : Remove JcrResource.adaptTo(URL

Modified:
sling/trunk/bundles/jcr/resource/pom.xml

sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java

Modified: sling/trunk/bundles/jcr/resource/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/pom.xml?rev=1640498r1=1640497r2=1640498view=diff
==
--- sling/trunk/bundles/jcr/resource/pom.xml (original)
+++ sling/trunk/bundles/jcr/resource/pom.xml Wed Nov 19 08:18:45 2014
@@ -94,7 +94,6 @@
 
 !-- Include URL support from Jackrabbit --
 Embed-Dependency
-
jackrabbit-classloader;inline=org/apache/jackrabbit/net/**|org/apache/jackrabbit/classloader/Util.*,
 
jackrabbit-jcr-commons;inline=org/apache/jackrabbit/util/ISO9075.*|org/apache/jackrabbit/name/QName.*|org/apache/jackrabbit/util/XMLChar.*|org/apache/jackrabbit/util/Text.*,
 /Embed-Dependency
 

Modified: 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java?rev=1640498r1=1640497r2=1640498view=diff
==
--- 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
 (original)
+++ 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResource.java
 Wed Nov 19 08:18:45 2014
@@ -21,7 +21,6 @@ import static org.apache.jackrabbit.JcrC
 import static org.apache.jackrabbit.JcrConstants.NT_FILE;
 
 import java.io.InputStream;
-import java.net.URL;
 import java.security.AccessControlException;
 import java.util.Iterator;
 import java.util.Map;
@@ -32,7 +31,6 @@ import javax.jcr.Node;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
 
-import org.apache.jackrabbit.net.URLFactory;
 import org.apache.sling.adapter.annotations.Adaptable;
 import org.apache.sling.adapter.annotations.Adapter;
 import org.apache.sling.api.resource.ModifiableValueMap;
@@ -49,7 +47,7 @@ import org.slf4j.LoggerFactory;
 
 /** A Resource that wraps a JCR Node */
 @Adaptable(adaptableClass=Resource.class, adapters={
-@Adapter({Node.class, Map.class, Item.class, ValueMap.class, 
URL.class}),
+@Adapter({Node.class, Map.class, Item.class, ValueMap.class}),
 @Adapter(value=PersistableValueMap.class, condition=If the resource 
is a JcrNodeResource and the user has set property privileges on the node.),
 @Adapter(value=InputStream.class, condition=If the resource is a 
JcrNodeResource and has a jcr:data property or is an nt:file node.)
 })
@@ -58,8 +56,6 @@ class JcrNodeResource extends JcrItemRes
 /** marker value for the resourceSupertType before trying to evaluate */
 private static final String UNSET_RESOURCE_SUPER_TYPE = unset;
 
-private static volatile boolean loggedUrlWarning = false;
-
 /** default log */
 private static final Logger LOGGER = 
LoggerFactory.getLogger(JcrNodeResource.class);
 
@@ -132,8 +128,6 @@ class JcrNodeResource extends JcrItemRes
 return (Type) getNode(); // unchecked cast
 } else if (type == InputStream.class) {
 return (Type) getInputStream(); // unchecked cast
-} else if (type == URL.class) {
-return (Type) getURL(); // unchecked cast
 } else if (type == Map.class || type == ValueMap.class) {
 return (Type) new JcrPropertyMap(getNode(), 
this.dynamicClassLoader); // unchecked cast
 } else if (type == PersistableValueMap.class ) {
@@ -241,21 +235,6 @@ class JcrNodeResource extends JcrItemRes
 return null;
 }
 
-private URL getURL() {
-if ( !loggedUrlWarning ) {
-loggedUrlWarning = true;
-LOGGER.warn(Adapting a JCR resource to a URL is deprecated. This 
feature will be  +
-removed in future versions. Please adjust your code.);
-}
-try {
-return URLFactory.createURL(getNode().getSession(), getPath());
-} catch (final Exception ex) {
-LOGGER.error(getURL: Cannot create URL for  + this, ex);
-}
-
-return null;
-}
-
 // -- Descendable interface 

 
 @Override




svn commit: r1640500 - /sling/trunk/contrib/scripting/sightly/engine/pom.xml

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 08:48:08 2014
New Revision: 1640500

URL: http://svn.apache.org/r1640500
Log:
SLING-4182 Down to Commons IO 1.4

Commons IO 1.4 has all required API and properly exports the expected API 
version 1.4

This closes #44

Modified:
sling/trunk/contrib/scripting/sightly/engine/pom.xml

Modified: sling/trunk/contrib/scripting/sightly/engine/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/pom.xml?rev=1640500r1=1640499r2=1640500view=diff
==
--- sling/trunk/contrib/scripting/sightly/engine/pom.xml (original)
+++ sling/trunk/contrib/scripting/sightly/engine/pom.xml Wed Nov 19 08:48:08 
2014
@@ -253,7 +253,7 @@
 dependency
 groupIdcommons-io/groupId
 artifactIdcommons-io/artifactId
-version2.0/version
+version1.4/version
 scopeprovided/scope
 /dependency
 /dependencies




svn commit: r1640505 - in /sling/trunk/contrib: scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/ xss/src/main/java/org/apache/sling/xss/ xss/src/main/java/or

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 09:01:54 2014
New Revision: 1640505

URL: http://svn.apache.org/r1640505
Log:
SLING-4176 - Added validation/filtering for StyleToken context

* Adding a new method for checking CSS tokens to the XSSAPI
* Incl. implementation and unit tests

This closes #38

(Applying patch by Vlad Bailescue; Thanks alot)

Modified:

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/XSSRuntimeExtension.java
sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/XSSAPI.java

sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java

sling/trunk/contrib/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/XSSRuntimeExtension.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/XSSRuntimeExtension.java?rev=1640505r1=1640504r2=1640505view=diff
==
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/XSSRuntimeExtension.java
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/engine/extension/XSSRuntimeExtension.java
 Wed Nov 19 09:01:54 2014
@@ -103,35 +103,29 @@ public class XSSRuntimeExtension extends
 }
 
 private String applyXSSFilter(String text, MarkupContext 
xssContext) {
-if (xssContext.equals(MarkupContext.ATTRIBUTE)) {
-return xssapi.encodeForHTMLAttr(text);
-}
-if (xssContext.equals(MarkupContext.COMMENT) ||
-xssContext.equals(MarkupContext.TEXT)) {
-return xssapi.encodeForHTML(text);
-}
-if (xssContext.equals(MarkupContext.ATTRIBUTE_NAME)) {
-return escapeAttributeName(text);
-}
-if (xssContext.equals(MarkupContext.NUMBER)) {
-return xssapi.getValidLong(text, 0).toString();
-}
-if (xssContext.equals(MarkupContext.URI)) {
-return xssapi.getValidHref(text);
-}
-if (xssContext.equals(MarkupContext.SCRIPT_TOKEN)
-|| xssContext.equals(MarkupContext.SCRIPT_COMMENT)) {
-return xssapi.getValidJSToken(text, );
-}
-if (xssContext.equals(MarkupContext.SCRIPT_STRING)
-|| xssContext.equals(MarkupContext.STYLE_STRING)) {
-return xssapi.encodeForJSString(text);
-}
-if (xssContext.equals(MarkupContext.ELEMENT_NAME)) {
-return escapeElementName(text);
-}
-if (xssContext.equals(MarkupContext.HTML)) {
-return xssapi.filterHTML(text);
+switch (xssContext) {
+case ATTRIBUTE:
+return xssapi.encodeForHTMLAttr(text);
+case COMMENT:
+case TEXT:
+return xssapi.encodeForHTML(text);
+case ATTRIBUTE_NAME:
+return escapeAttributeName(text);
+case NUMBER:
+return xssapi.getValidLong(text, 0).toString();
+case URI:
+return xssapi.getValidHref(text);
+case SCRIPT_TOKEN:
+case SCRIPT_COMMENT:
+return xssapi.getValidJSToken(text, );
+case STYLE_TOKEN:
+return xssapi.getValidStyleToken(text, );
+case SCRIPT_STRING:
+return xssapi.encodeForJSString(text);
+case ELEMENT_NAME:
+return escapeElementName(text);
+case HTML:
+return xssapi.filterHTML(text);
 }
 return text; //todo: apply the rest of XSS filters
 }

Modified: sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/XSSAPI.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/XSSAPI.java?rev=1640505r1=1640504r2=1640505view=diff
==
--- sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/XSSAPI.java 
(original)
+++ sling/trunk/contrib/xss/src/main/java/org/apache/sling/xss/XSSAPI.java Wed 
Nov 19 09:01:54 2014
@@ -86,6 +86,16 @@ public interface XSSAPI {
 public String getValidJSToken(String token, String defaultValue);
 
 /**
+ * 

svn commit: r1640507 - in /sling/trunk/contrib/scripting/sightly: engine/src/main/antlr4/org/apache/sling/parser/expr/generated/ testing-content/ testing-content/src/main/resources/SLING-INF/ testing/

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 09:16:44 2014
New Revision: 1640507

URL: http://svn.apache.org/r1640507
Log:
SLING-4167 - The Sightly implementation should provide support for escaped 
expressions

* defined escaped expressions in the lexer
* defined escaped expressions as text fragments in the parser
* updated TCK version from Adobe to use the new escaped expressions tests
* added a resource for the new tests in the testing-content module

This closes #40

(Applying patch provided by Radu Cotescu, Thanks alot)

Modified:

sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4

sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
sling/trunk/contrib/scripting/sightly/testing-content/pom.xml

sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
sling/trunk/contrib/scripting/sightly/testing/pom.xml

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4?rev=1640507r1=1640506r2=1640507view=diff
==
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4
 Wed Nov 19 09:16:44 2014
@@ -18,6 +18,8 @@
  
**/
 lexer grammar SightlyLexer;
 
+ESC_EXPR: '\${'.*? '}';
+
 EXPR_START: '${' - pushMode(ExpressionMode);
 
 TEXT_PART: .; //$hello ${expr}

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4?rev=1640507r1=1640506r2=1640507view=diff
==
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4
 Wed Nov 19 09:16:44 2014
@@ -47,6 +47,8 @@ textFrag returns [String str]
 @init { StringBuilder sb = new StringBuilder(); }
 :   (TEXT_PART { sb.append($TEXT_PART.text); })+
 { $str = sb.toString(); }
+| (ESC_EXPR { sb.append($ESC_EXPR.text); })+
+{ $str = sb.toString().substring(1); }
 ;
 
 expression returns [Expression expr]

Modified: sling/trunk/contrib/scripting/sightly/testing-content/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/pom.xml?rev=1640507r1=1640506r2=1640507view=diff
==
--- sling/trunk/contrib/scripting/sightly/testing-content/pom.xml (original)
+++ sling/trunk/contrib/scripting/sightly/testing-content/pom.xml Wed Nov 19 
09:16:44 2014
@@ -87,7 +87,7 @@
 artifactItem
 groupIdio.sightly/groupId
 artifactIdio.sightly.tck/artifactId
-version1.0.1/version
+version1.0.2/version
 typejar/type
 
outputDirectory${project.build.directory}/sightlytck//outputDirectory
 
includes**/*.html,**/*.js,**/*.java/includes

Modified: 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json?rev=1640507r1=1640506r2=1640507view=diff
==
--- 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json
 Wed Nov 19 09:16:44 2014
@@ -21,6 +21,10 @@
 xss : {
 jcr:primaryType: nt:unstructured,
 sling:resourceType: /sightlytck/scripts/exprlang/xss
+},
+escapedexpr: {
+jcr:primaryType: nt:unstructured,
+sling:resourceType: /sightlytck/scripts/exprlang/escapedexpr
 }
 },
 blockstatements: {

Modified: sling/trunk/contrib/scripting/sightly/testing/pom.xml
URL: 

svn commit: r1640508 - in /sling/trunk/contrib/scripting/sightly/engine: ./ src/main/java/org/apache/sling/scripting/sightly/api/

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 09:30:38 2014
New Revision: 1640508

URL: http://svn.apache.org/r1640508
Log:
SLING-4180 - Sightly Engine should properly reimport its own API export

* added ProviderType annotation for services implemented by the engine bundle
* added ConsumerType annotation for services that can be implemented by other 
bundles

This closes #43

(Applying patch by Radu Cotescu with the exception of the Exceptions which I 
don't annotate for now; Thanks for providing the patch)

Added:

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/package-info.java
   (with props)
Modified:
sling/trunk/contrib/scripting/sightly/engine/pom.xml

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/BaseRenderUnit.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/ExtensionInstance.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/ObjectModel.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/ProviderOutcome.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/Record.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/RenderContext.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/RenderUnit.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/ResourceResolution.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/RuntimeExtension.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/RuntimeExtensionComponent.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/SightlyRuntime.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/StackedWriter.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/UnitLocator.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/Use.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/UseProvider.java

sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/UseProviderComponent.java

Modified: sling/trunk/contrib/scripting/sightly/engine/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/pom.xml?rev=1640508r1=1640507r2=1640508view=diff
==
--- sling/trunk/contrib/scripting/sightly/engine/pom.xml (original)
+++ sling/trunk/contrib/scripting/sightly/engine/pom.xml Wed Nov 19 09:30:38 
2014
@@ -79,7 +79,7 @@
 instructions
 
Embed-Dependencyantlr4-runtime,org.abego.treelayout.core/Embed-Dependency
 Export-Package
-
org.apache.sling.scripting.sightly.api;version=1.0.0
+org.apache.sling.scripting.sightly.api
 /Export-Package
 ScriptEngine-Name${project.name}/ScriptEngine-Name
 
ScriptEngine-Version${project.version}/ScriptEngine-Version

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/BaseRenderUnit.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/BaseRenderUnit.java?rev=1640508r1=1640507r2=1640508view=diff
==
--- 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/BaseRenderUnit.java
 (original)
+++ 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/BaseRenderUnit.java
 Wed Nov 19 09:30:38 2014
@@ -26,9 +26,12 @@ import java.util.Set;
 import javax.script.Bindings;
 import javax.script.SimpleBindings;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * Compiled version of render units
  */
+@ProviderType
 public abstract class BaseRenderUnit implements RenderUnit {
 
 private final MapString, RenderUnit subTemplates = new HashMapString, 
RenderUnit();

Modified: 
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/api/ExtensionInstance.java
URL: 

svn commit: r1640525 - in /sling/trunk/contrib: extensions/validation/ extensions/xss/ validation/ xss/

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 11:19:23 2014
New Revision: 1640525

URL: http://svn.apache.org/r1640525
Log:
SLING-4187 Move XSS and Validation to Extensions

Added:
sling/trunk/contrib/extensions/validation/
  - copied from r1640523, sling/trunk/contrib/validation/
sling/trunk/contrib/extensions/xss/
  - copied from r1640523, sling/trunk/contrib/xss/
Removed:
sling/trunk/contrib/validation/
sling/trunk/contrib/xss/



svn commit: r1640532 - in /sling/trunk/contrib/extensions/distribution: api/src/main/java/org/apache/sling/distribution/component/ core/src/main/java/org/apache/sling/distribution/agent/impl/ core/src

2014-11-19 Thread mpetria
Author: mpetria
Date: Wed Nov 19 11:42:32 2014
New Revision: 1640532

URL: http://svn.apache.org/r1640532
Log:
SLING-4153: Making DistributionComponentFactory delegate creation of 
subcomponents

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentManager.java
Modified:

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/CoordinatingDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentFactoryManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/GenericDistributionComponentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/CoordinatingDistributionAgentFactoryTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java?rev=1640532r1=1640531r2=1640532view=diff
==
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
 Wed Nov 19 11:42:32 2014
@@ -29,6 +29,7 @@ import aQute.bnd.annotation.ProviderType
 /**
  * factory for {@link DistributionComponent}s.
  * A client should register a component factory if it has custom 
implementations of distribution components.
+ * As components are hierarchical a factory can delegate the creation of its 
sub components to another factory.
  */
 @ConsumerType
 public interface DistributionComponentFactory {
@@ -41,10 +42,12 @@ public interface DistributionComponentFa
  * @param propertiesthe properties to be supplied for the 
initialization of the component
  * @param ComponentType   the actual type of the {@link 
DistributionComponent}
  *  to be created
+ * @param subComponentFactory   the factory to be called for creating sub 
components
  * @return a {@link DistributionComponent} of the specified type 
initialized with given properties or codenull/code
  * if that could not be created
  */
 @CheckForNull
 ComponentType extends DistributionComponent ComponentType 
createComponent(@Nonnull java.lang.ClassComponentType type,
-   
@Nonnull MapString, Object properties);
+   
@Nonnull 

svn commit: r1640572 - in /sling/trunk/contrib/extensions/validation: api/src/main/java/org/apache/sling/validation/api/ api/src/main/java/org/apache/sling/validation/api/exceptions/ core/ core/src/ma

2014-11-19 Thread kwin
Author: kwin
Date: Wed Nov 19 15:23:05 2014
New Revision: 1640572

URL: http://svn.apache.org/r1640572
Log:
SLING-4138, refactored Validator interface to support arbitrary types, arrays 
and cross-field validation

Added:

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ParameterizedValidator.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ParameterizedValidatorImpl.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/util/ValidatorTypeUtil.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/ValidatorTypeUtilTest.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/AbstractValidatorWithAdditionalType.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/DateValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/DerivedStringValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/ExtendedStringValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/GenericTypeParameterBaseClass.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/IntegerValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/StringArrayValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/util/examplevalidators/StringValidator.java
Removed:

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/Type.java

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/exceptions/NonExistingTypeException.java
Modified:

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ResourceProperty.java

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/Validator.java
sling/trunk/contrib/extensions/validation/core/pom.xml

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/JCRValidationModel.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ResourcePropertyImpl.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/util/JCRBuilder.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/validators/RegexValidator.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java

Added: 
sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ParameterizedValidator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ParameterizedValidator.java?rev=1640572view=auto
==
--- 
sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ParameterizedValidator.java
 (added)
+++ 
sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ParameterizedValidator.java
 Wed Nov 19 15:23:05 2014
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.validation.api;
+
+import java.util.Map;
+
+/**
+ * Defines a validator instance with information 

svn commit: r1640585 - in /sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss: JSONUtil.java ProtectionContext.java XSSAPI.java XSSFilter.java package-info.java

2014-11-19 Thread fmeschbe
Author: fmeschbe
Date: Wed Nov 19 16:08:50 2014
New Revision: 1640585

URL: http://svn.apache.org/r1640585
Log:
SLING-4185 The org.apache.sling.xss bundle should properly export its API

Applying slightly modified patch by Radu Cotescu (Thanks alot).

Modified:

sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/JSONUtil.java

sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/ProtectionContext.java

sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSAPI.java

sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSFilter.java

sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/package-info.java

Modified: 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/JSONUtil.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/JSONUtil.java?rev=1640585r1=1640584r2=1640585view=diff
==
--- 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/JSONUtil.java
 (original)
+++ 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/JSONUtil.java
 Wed Nov 19 16:08:50 2014
@@ -24,16 +24,18 @@ import org.apache.sling.commons.json.io.
  * JSON utilities
  * p/
  * Support for handling xss protected values with JSON objects and JSON 
writers.
- *
- * @since 1.0.0
  */
-public class JSONUtil {
+public final class JSONUtil {
 
 /**
  * Key suffix for XSS protected properties
  */
 public static final String KEY_SUFFIX_XSS = _xss;
 
+// no instantiation
+private JSONUtil() {
+}
+
 /**
  * Puts a xss protected value into a JSON object.
  * The value is put under the provided key.

Modified: 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/ProtectionContext.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/ProtectionContext.java?rev=1640585r1=1640584r2=1640585view=diff
==
--- 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/ProtectionContext.java
 (original)
+++ 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/ProtectionContext.java
 Wed Nov 19 16:08:50 2014
@@ -16,13 +16,12 @@
  
**/
 package org.apache.sling.xss;
 
+
 /**
  * This enumeration defines the context for executing XSS protection.
  * p/
  * The specified rules refer to
  * 
http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
- *
- * @since 1.0
  */
 public enum ProtectionContext {
 /**

Modified: 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSAPI.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSAPI.java?rev=1640585r1=1640584r2=1640585view=diff
==
--- 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSAPI.java
 (original)
+++ 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSAPI.java
 Wed Nov 19 16:08:50 2014
@@ -20,6 +20,8 @@ package org.apache.sling.xss;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.ResourceResolver;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * A service providing validators and encoders for XSS protection during the 
composition of HTML
  * pages.
@@ -31,6 +33,7 @@ import org.apache.sling.api.resource.Res
  * p/
  * When in doubt, use a validator.
  */
+@ProviderType
 public interface XSSAPI {
 
 // 
=

Modified: 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSFilter.java?rev=1640585r1=1640584r2=1640585view=diff
==
--- 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSFilter.java
 (original)
+++ 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/XSSFilter.java
 Wed Nov 19 16:08:50 2014
@@ -16,12 +16,13 @@
  
**/
 package org.apache.sling.xss;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * This service should be used to protect output against potential XSS attacks.
  * The protection is context based.
- *
- * @since 1.0
  */
+@ProviderType
 public interface XSSFilter {
 
 /**

Modified: 
sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/package-info.java
URL: 

svn commit: r1640589 - in /sling/trunk/contrib/extensions/validation: api/src/main/java/org/apache/sling/validation/api/ core/src/main/java/org/apache/sling/validation/impl/ core/src/main/java/org/apa

2014-11-19 Thread kwin
Author: kwin
Date: Wed Nov 19 16:28:08 2014
New Revision: 1640589

URL: http://svn.apache.org/r1640589
Log:
SLILNG-4027 removal of ValidatorLookupService

Removed:

sling/trunk/contrib/extensions/validation/api/src/main/java/org/apache/sling/validation/api/ValidatorLookupService.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidatorLookupServiceImpl.java
Modified:

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ChildResourceImpl.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java

sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/util/JCRBuilder.java

sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java

Modified: 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ChildResourceImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ChildResourceImpl.java?rev=1640589r1=1640588r2=1640589view=diff
==
--- 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ChildResourceImpl.java
 (original)
+++ 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ChildResourceImpl.java
 Wed Nov 19 16:28:08 2014
@@ -1,11 +1,12 @@
 package org.apache.sling.validation.impl;
 
+import java.util.Map;
 import java.util.Set;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.validation.api.ChildResource;
 import org.apache.sling.validation.api.ResourceProperty;
-import org.apache.sling.validation.api.ValidatorLookupService;
+import org.apache.sling.validation.api.Validator;
 import org.apache.sling.validation.impl.util.JCRBuilder;
 
 /**
@@ -16,13 +17,13 @@ public class ChildResourceImpl implement
 private String name;
 private SetResourceProperty properties;
 
-public ChildResourceImpl(Resource modelResource, Resource childResource, 
ValidatorLookupService validatorLookupService) {
+public ChildResourceImpl(Resource modelResource, Resource childResource, 
MapString, Validator? validatorsMap) {
 String root = modelResource.getPath();
 if (!childResource.getPath().startsWith(root)) {
 throw new IllegalArgumentException(Expected resource  + 
childResource.getPath() +  to be under root path  + root);
 }
 name = childResource.getPath().replaceFirst(root + /, 
).replaceAll(Constants.CHILDREN + /, );
-properties = JCRBuilder.buildProperties(validatorLookupService, 
childResource.getChild(Constants.PROPERTIES));
+properties = JCRBuilder.buildProperties(validatorsMap, 
childResource.getChild(Constants.PROPERTIES));
 }
 
 @Override

Modified: 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java?rev=1640589r1=1640588r2=1640589view=diff
==
--- 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java
 (original)
+++ 
sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java
 Wed Nov 19 16:28:08 2014
@@ -18,25 +18,21 @@
  */
 package org.apache.sling.validation.impl;
 
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import javax.jcr.query.Query;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.reflect.TypeUtils;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.resource.LoginException;
@@ -54,7 +50,6 @@ import org.apache.sling.validation.api.V
 import org.apache.sling.validation.api.ValidationResult;
 import org.apache.sling.validation.api.ValidationService;
 import org.apache.sling.validation.api.Validator;
-import