svn commit: r1643180 - in /sling/trunk/contrib/extensions/distribution: ./ api/ api/src/main/java/org/apache/sling/distribution/communication/ api/src/main/java/org/apache/sling/distribution/packaging
Author: tommaso Date: Fri Dec 5 08:08:59 2014 New Revision: 1643180 URL: http://svn.apache.org/viewvc?rev=1643180view=rev Log: SLING-4153 - fixed transport API to just expose the secret Removed: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/DistributionTransportHandler.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/authentication/ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportHandler.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/authentication/ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandlerTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportHandlerTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandlerTest.java sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/org.apache.sling.distribution.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.osgi.author/org.apache.sling.distribution.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json Modified: sling/trunk/contrib/extensions/distribution/README.md sling/trunk/contrib/extensions/distribution/api/pom.xml sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java sling/trunk/contrib/extensions/distribution/core/pom.xml sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.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/RemoteDistributionPackageExporter.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/AdvancedRemoteDistributionPackageImporter.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.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/packaging/impl/importer/RepositoryDistributionPackageImporter.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerTest.java sling/trunk/contrib/extensions/distribution/it/pom.xml
svn commit: r1643198 - in /sling/trunk/contrib/extensions/validation/core/src: main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java test/java/org/apache/sling/validation/impl/Validati
Author: kwin Date: Fri Dec 5 08:51:57 2014 New Revision: 1643198 URL: http://svn.apache.org/viewvc?rev=1643198view=rev Log: SLING-4214, either children or properties must be set on each Validation model Modified: sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.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/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=1643198r1=1643197r2=1643198view=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 Fri Dec 5 08:51:57 2014 @@ -331,25 +331,25 @@ public class ValidationServiceImpl imple String[] applicablePaths = PropertiesUtil.toStringArray(validationModelProperties.get(Constants.APPLICABLE_PATHS, String[].class)); Resource r = model.getChild(Constants.PROPERTIES); -if (r != null) { -SetResourceProperty resourceProperties = JCRBuilder.buildProperties(validators, r); -if (!resourceProperties.isEmpty()) { -ListChildResource children = JCRBuilder.buildChildren(model, model, validators); -vm = new JCRValidationModel(jcrPath, resourceProperties, validatedResourceType, applicablePaths, children); -modelsForResourceType = validationModelsCache.get(validatedResourceType); -/** - * if the modelsForResourceType is null the canAcceptModel will return true: performance optimisation so that - * the Trie is created only if the model is accepted - */ - -if (canAcceptModel(vm, searchPath, searchPaths, modelsForResourceType)) { -if (modelsForResourceType == null) { -modelsForResourceType = new TrieJCRValidationModel(); - validationModelsCache.put(validatedResourceType, modelsForResourceType); -} -for (String applicablePath : vm.getApplicablePaths()) { - modelsForResourceType.insert(applicablePath, vm); -} +SetResourceProperty resourceProperties = JCRBuilder.buildProperties(validators, r); +ListChildResource children = JCRBuilder.buildChildren(model, model, validators); +if (resourceProperties.isEmpty() children.isEmpty()) { +LOG.warn(Incomplete validation model resource {}. Neither children nor properties set., model.getPath()); +} else { +vm = new JCRValidationModel(jcrPath, resourceProperties, validatedResourceType, applicablePaths, children); +modelsForResourceType = validationModelsCache.get(validatedResourceType); +/** + * if the modelsForResourceType is null the canAcceptModel will return true: performance + * optimisation so that the Trie is created only if the model is accepted + */ + +if (canAcceptModel(vm, searchPath, searchPaths, modelsForResourceType)) { +if (modelsForResourceType == null) { +modelsForResourceType = new TrieJCRValidationModel(); + validationModelsCache.put(validatedResourceType, modelsForResourceType); +} +for (String applicablePath : vm.getApplicablePaths()) { + modelsForResourceType.insert(applicablePath, vm); } } } Modified: sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java URL:
svn commit: r1643201 - in /sling/trunk/contrib/extensions/distribution: api/src/main/java/org/apache/sling/distribution/transport/ core/src/main/java/org/apache/sling/distribution/transport/ core/src/
Author: tommaso Date: Fri Dec 5 09:19:24 2014 New Revision: 1643201 URL: http://svn.apache.org/viewvc?rev=1643201view=rev Log: SLING-4153 - fixed transport API to just expose the secret Added: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java (with props) sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecretProvider.java (with props) sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/package-info.java (with props) sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/DistributionTransport.java (with props) sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java (with props) sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransport.java (with props) sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java (with props) sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java (with props) sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportTest.java (with props) sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportTest.java (with props) sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java (with props) sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/org.apache.sling.distribution.transport.impl.UserCredentialsDistributionTransportSecretProvider-publishAdmin.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.osgi.author/org.apache.sling.distribution.transport.impl.UserCredentialsDistributionTransportSecretProvider-publishAdmin.json Added: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java?rev=1643201view=auto == --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java (added) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java Fri Dec 5 09:19:24 2014 @@ -0,0 +1,56 @@ +/* + * 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.distribution.transport; + +import javax.annotation.CheckForNull; +import java.io.InputStream; +import java.util.Map; + +import aQute.bnd.annotation.ConsumerType; + +/** + * The secret to be transported for authenticating transport layer connecting two instances. + * p/ + * Secrets can take different forms, like e.g. username and password, tokens, public keys, etc. and are meant to be used + * by transport implementations lying under {@link org.apache.sling.distribution.packaging.DistributionPackageImporter importers} + * and / or {@link org.apache.sling.distribution.packaging.DistributionPackageExporter exporters}. + */ +@ConsumerType +public interface DistributionTransportSecret { + +/** + * Get the secret as a {@link java.util.Map} of credentials, this can contain, for example, entries holding information + * about username and password for HTTP authentication. +
svn commit: r1643219 - in /sling/trunk/contrib/extensions/distribution: api/src/main/java/org/apache/sling/distribution/communication/ core/src/main/java/org/apache/sling/distribution/serialization/im
Author: mpetria Date: Fri Dec 5 09:55:53 2014 New Revision: 1643219 URL: http://svn.apache.org/viewvc?rev=1643219view=rev Log: SLING-3836: adding shallow distribution option to requests Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java?rev=1643219r1=1643218r2=1643219view=diff == --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java Fri Dec 5 09:55:53 2014 @@ -26,7 +26,8 @@ public enum DistributionParameter { QUEUE(queue), TYPE(type), ACTION(action), -PATH(path); +PATH(path), +DEEP(deep); private final String name; Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java?rev=1643219r1=1643218r2=1643219view=diff == --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java Fri Dec 5 09:55:53 2014 @@ -28,22 +28,39 @@ import java.util.Arrays; public final class DistributionRequest { -private final DistributionRequestType actionType; +private final DistributionRequestType requestType; +private final boolean deep; private final String[] paths; -public DistributionRequest(@Nonnull DistributionRequestType actionType, @Nonnull String... paths) { -this.actionType = actionType; +/** + * Creates distribution request with deep or shallow paths. + * @param requestType the request type + * @param isDeep is codetrue/code if all paths are deep and is codefalse/code if all paths are shallow + * @param paths the array of paths to be distributed + */ +public DistributionRequest(@Nonnull DistributionRequestType requestType, boolean isDeep, @Nonnull String... paths) { +this.requestType = requestType; +deep = isDeep; this.paths = paths; } /** + * Creates a distribution request with shallow paths. + * @param requestType the request type + * @param paths the array of paths to be distributed + */ +public DistributionRequest(@Nonnull DistributionRequestType requestType, @Nonnull String... paths) { +this(requestType, false, paths); +} + +/** * get the {@link DistributionRequestType} associated with this request * - * @return the type of actionType for request as a {@link DistributionRequestType} + * @return the type of the request as a {@link DistributionRequestType} */ public DistributionRequestType getRequestType() { -return actionType; +return requestType; } /** @@ -55,11 +72,22 @@ public final class DistributionRequest { return paths; } + +/** + * Returns whether the paths are covering the entire subtree (deep) or just the specified nodes (shallow) + * @return codetrue/code if the paths are deep + */ +public boolean isDeep() { +return deep; +} +
svn commit: r1643241 - in /sling/trunk/contrib: extensions/xss/src/main/java/org/apache/sling/xss/ extensions/xss/src/main/java/org/apache/sling/xss/impl/ extensions/xss/src/test/java/org/apache/sling
Author: fmeschbe Date: Fri Dec 5 11:33:07 2014 New Revision: 1643241 URL: http://svn.apache.org/viewvc?rev=1643241view=rev Log: SLING-4177 Properly XSS escape CSS style string (applying patch by Vlad Bailescu, thanks alot) Modified: 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/impl/XSSAPIImpl.java sling/trunk/contrib/extensions/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java 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=1643241r1=1643240r2=1643241view=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 Fri Dec 5 11:33:07 2014 @@ -158,6 +158,16 @@ public interface XSSAPI { */ public String encodeForJSString(String source); +/** + * Encodes a souce string for writing to CSS string content. + * DO NOT USE FOR WRITING OUT ARBITRARY CSS TOKENS; YOU MUST USE A VALIDATOR FOR THAT! + * (Encoding only ensures the source string cannot break out of its context.) + * + * @param source the input to encode + * @return an encoded version of the source + */ +public String encodeForCSSString(String source); + // = // FILTERS Modified: sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java?rev=1643241r1=1643240r2=1643241view=diff == --- sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java (original) +++ sling/trunk/contrib/extensions/xss/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java Fri Dec 5 11:33:07 2014 @@ -289,6 +289,13 @@ public class XSSAPIImpl implements XSSAP return Encode.forJavaScript(source); } +/** + * @see org.apache.sling.xss.XSSAPI#encodeForCSSString(String) + */ +public String encodeForCSSString(String source) { +return Encode.forCssString(source); +} + // = // FILTERS // Modified: sling/trunk/contrib/extensions/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java?rev=1643241r1=1643240r2=1643241view=diff == --- sling/trunk/contrib/extensions/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java (original) +++ sling/trunk/contrib/extensions/xss/src/test/java/org/apache/sling/xss/impl/XSSAPIImplTest.java Fri Dec 5 11:33:07 2014 @@ -338,6 +338,27 @@ public class XSSAPIImplTest { } @Test +public void TestEncodeForCSSString() { +String[][] testData = { +// Source Expected result +{test , test}, +{\\ , \\5c}, +{' , \\27}, +{\ , \\22} +}; + +for (String[] aTestData : testData) { +String source = aTestData[0]; +String expected = aTestData[1]; + +String result = xssAPI.encodeForCSSString(source); +if (!result.equals(expected)) { +fail(Encoding ' + source + ', expecting ' + expected + ', but got ' + result + '); +} +} +} + +@Test public void TestGetValidStyleToken() { String[][] testData = { // Source Expected result Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java?rev=1643241r1=1643240r2=1643241view=diff == --- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java (original) +++
svn commit: r1643248 - in /sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl: compiler/frontend/SightlyParserErrorListener.java engine/UnitLoader.java
Author: fmeschbe Date: Fri Dec 5 12:00:18 2014 New Revision: 1643248 URL: http://svn.apache.org/viewvc?rev=1643248view=rev Log: SLING-4219 Prevent IllegalStateException if SlightlyParserErrorListener is called with null RecognitionException Note: The actual problem is the SlingException(String, Throwable) constructor which calls initCause if the Throwable is null. This should be fixed as well. (Applying patch by Radu Cotescu, thanks for providing the patch!) Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/frontend/SightlyParserErrorListener.java sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/frontend/SightlyParserErrorListener.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/frontend/SightlyParserErrorListener.java?rev=1643248r1=1643247r2=1643248view=diff == --- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/frontend/SightlyParserErrorListener.java (original) +++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/frontend/SightlyParserErrorListener.java Fri Dec 5 12:00:18 2014 @@ -28,25 +28,22 @@ import org.antlr.v4.runtime.Parser; import org.antlr.v4.runtime.RecognitionException; import org.antlr.v4.runtime.Recognizer; import org.apache.sling.scripting.sightly.impl.compiler.SightlyParsingException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * The {@code SightlyParserErrorListener} handles parsing error reporting by sending offending input to a logger. */ public class SightlyParserErrorListener extends BaseErrorListener { -private static final Logger LOG = LoggerFactory.getLogger(SightlyParserErrorListener.class); - @Override -public void syntaxError(Recognizer?, ? recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e) { +public void syntaxError(Recognizer?, ? recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, +RecognitionException e) { ListString stack = ((Parser) recognizer).getRuleInvocationStack(); Collections.reverse(stack); -StringBuilder errorMessage = new StringBuilder(); -errorMessage.append(Sightly syntax error detected.\n); -errorMessage.append(rule stack: ).append(stack).append(\n); -errorMessage.append(error starts at column: ).append(charPositionInLine).append(\n); -errorMessage.append(msg); -throw new SightlyParsingException(Sightly syntax error detected, ((CommonTokenStream) recognizer.getInputStream()).getTokenSource().getInputStream().toString(), e); +if (e != null) { +throw new SightlyParsingException(msg, +((CommonTokenStream) recognizer.getInputStream()).getTokenSource().getInputStream().toString(), e); +} +throw new SightlyParsingException(msg, +((CommonTokenStream) recognizer.getInputStream()).getTokenSource().getInputStream().toString()); } } Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java?rev=1643248r1=1643247r2=1643248view=diff == --- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java (original) +++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java Fri Dec 5 12:00:18 2014 @@ -292,7 +292,7 @@ public class UnitLoader implements Event if (StringUtils.isNotEmpty(offendingInput)) { offendingInput = StringEscapeUtils.unescapeHtml(offendingInput.trim()); int errorLine = getLineWhereErrorOccurred(scriptSource, offendingInput); -throw new SightlyParsingException(Parsing error in template + identifier.getResource().getPath() + at line + +throw new SightlyException(Parsing error in template + identifier.getResource().getPath() + at line + errorLine + :\n + offendingInput + \n); } else { throw e;
svn commit: r1643255 - in /sling/trunk/bundles/api/src: main/java/org/apache/sling/api/SlingException.java test/java/org/apache/sling/api/SlingExceptionTest.java
Author: fmeschbe Date: Fri Dec 5 12:23:38 2014 New Revision: 1643255 URL: http://svn.apache.org/viewvc?rev=1643255view=rev Log: SLING-4220 Don't call initCause Calling initCause is not needed since SlingException does not extend from ServletException any more and exception chaining properly works. Added: sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java (with props) Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/SlingException.java Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/SlingException.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/SlingException.java?rev=1643255r1=1643254r2=1643255view=diff == --- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/SlingException.java (original) +++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/SlingException.java Fri Dec 5 12:23:38 2014 @@ -67,11 +67,6 @@ public class SlingException extends Runt */ public SlingException(String text, Throwable cause) { super(text, cause); - -// ensure proper JDK 1.4 exception chaining -if (getCause() == null) { -initCause(cause); -} } /** @@ -83,10 +78,5 @@ public class SlingException extends Runt */ protected SlingException(Throwable cause) { super(cause); - -// ensure proper JDK 1.4 exception chaining -if (getCause() == null) { -initCause(cause); -} } } \ No newline at end of file Added: sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java?rev=1643255view=auto == --- sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java (added) +++ sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java Fri Dec 5 12:23:38 2014 @@ -0,0 +1,62 @@ +/* + * 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.api; + +import junit.framework.TestCase; + +import org.junit.Test; + +public class SlingExceptionTest { + +private static final String MESSAGE = message; + +private static final Throwable CAUSE = new Exception(cause); + +@Test +public void test_SlingException_msg_ex() { +validate(new SlingException(null, null), null, null); +validate(new SlingException(MESSAGE, null), MESSAGE, null); +validate(new SlingException(null, CAUSE), null, CAUSE); +validate(new SlingException(MESSAGE, CAUSE), MESSAGE, CAUSE); +} + +@Test +public void test_SlingException_ex() { +validate(new SlingException((Throwable) null), null, null); +validate(new SlingException(CAUSE), CAUSE.toString(), CAUSE); +} + +@Test +public void test_SlingException_msg() { +validate(new SlingException((String) null), null, null); +validate(new SlingException(MESSAGE), MESSAGE, null); +} + +@Test +public void test_SlingException() { +validate(new SlingException(), null, null); +} + +private void validate(final SlingException e, final String message, final Throwable cause) { +TestCase.assertNotNull(e); +TestCase.assertEquals(message, e.getMessage()); +TestCase.assertEquals(cause, e.getCause()); +} + +} Propchange: sling/trunk/bundles/api/src/test/java/org/apache/sling/api/SlingExceptionTest.java -- svn:mime-type = text/plain
svn commit: r1643266 - in /sling/trunk/contrib/extensions/distribution: api/src/main/java/org/apache/sling/distribution/event/ api/src/main/java/org/apache/sling/distribution/queue/ core/src/main/java
Author: mpetria Date: Fri Dec 5 13:24:00 2014 New Revision: 1643266 Log: SLING-4153: changing events to be controlled by agent + some name changes for settings Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueDispatchingStrategy.java Removed: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueDispatchingStrategy.java Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/event/impl/DefaultDistributionEventFactory.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/event/impl/DistributionEventFactory.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.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/AdvancedRemoteDistributionPackageImporter.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.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/packaging/impl/importer/RepositoryDistributionPackageImporter.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderFactory.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/settings.author/defaults/agents/global.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/settings.publish/defaults/agents/global.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/settings.publish/defaults/exporters/global.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/settings.publish/defaults/importers/global.json Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java == --- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java (original) +++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventType.java Fri Dec 5 13:24:00 2014 @@ -26,27 +26,17 @@ public enum DistributionEventType { /** * event for package created */ -PACKAGE_CREATED, +AGENT_PACKAGE_CREATED, /** * event for package queued */ -PACKAGE_QUEUED, +AGENT_PACKAGE_QUEUED, /** * event for package distributed */ -PACKAGE_DISTRIBUTED, - -/** - * event for package installed - */ -PACKAGE_INSTALLED, - -/** - * event for package imported - */ -PACKAGE_IMPORTED, +AGENT_PACKAGE_DISTRIBUTED, /** * event for agent created Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java == ---
svn commit: r1643291 - in /sling/trunk/contrib/extensions/validation/core/src: main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java test/java/org/apache/sling/validation/impl/Validati
Author: kwin Date: Fri Dec 5 14:12:28 2014 New Revision: 1643291 URL: http://svn.apache.org/r1643291 Log: SLING-4221 fix for AIOOBE in case of empty multivalue properties Modified: sling/trunk/contrib/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.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/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=1643291r1=1643290r2=1643291view=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 Fri Dec 5 14:12:28 2014 @@ -417,7 +417,7 @@ public class ValidationServiceImpl imple Object[] typedValue = (Object[])valueMap.get(property, type); // see https://issues.apache.org/jira/browse/SLING-4178 for why the second check is necessary -if (typedValue == null || typedValue[0] == null) { +if (typedValue == null || (typedValue.length 0 typedValue[0] == null)) { // here the missing required property case was already treated in validateValueMap result.addFailureMessage(property, Property was expected to be of type ' + validator.getType() + ' but cannot be converted to that type. ); return; Modified: sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java?rev=1643291r1=1643290r2=1643291view=diff == --- sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java (original) +++ sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java Fri Dec 5 14:12:28 2014 @@ -278,6 +278,48 @@ public class ValidationServiceImplTest { } @Test() +public void testValueMapWithMissingField() throws Exception { + validationService.validators.put(org.apache.sling.validation.impl.validators.RegexValidator, new RegexValidator()); + +TestProperty property = new TestProperty(field1); + property.addValidator(org.apache.sling.validation.impl.validators.RegexValidator, regex=.*); +TestProperty property2 = new TestProperty(field2); + property2.addValidator(org.apache.sling.validation.impl.validators.RegexValidator, regex=.*); +TestProperty property3 = new TestProperty(field3); + property3.addValidator(org.apache.sling.validation.impl.validators.RegexValidator, regex=.*); +TestProperty property4 = new TestProperty(field4); + property3.addValidator(org.apache.sling.validation.impl.validators.RegexValidator, regex=.*); +ResourceResolver rr = rrf.getAdministrativeResourceResolver(null); +Resource model1 = null; +try { +if (rr != null) { +model1 = createValidationModelResource(rr, libsValidatorsRoot.getPath(), testValidationModel1, sling/validation/test, +new String[]{/apps/validation}, property, property2, property3, property4); +} +ValidationModel vm = validationService.getValidationModel(sling/validation/test, /apps/validation/1/resource); +// this should not be detected as missing property +HashMapString, Object hashMap = new HashMapString, Object() {{ +put(field1, new String[]{}); +put(field2, new String[]{null}); +put(field3, ); +}}; +ValueMap map = new ValueMapDecorator(hashMap); +ValidationResult vr = validationService.validate(map, vm); +MapString, ListString expectedFailureMessages = new HashMapString, ListString(); +expectedFailureMessages.put(field4, Arrays.asList(Missing required property.)); +Assert.assertThat(vr.getFailureMessages().entrySet(), Matchers.equalTo(expectedFailureMessages.entrySet())); +} finally { +if (model1 != null) { +rr.delete(model1); +} +if (rr != null) { +rr.commit(); +rr.close(); +} +} +} + +
svn commit: r1643296 - in /sling/trunk/contrib/extensions/distribution: core/src/main/java/org/apache/sling/distribution/component/impl/ core/src/main/java/org/apache/sling/distribution/serialization/
Author: mpetria Date: Fri Dec 5 14:40:03 2014 New Revision: 1643296 URL: http://svn.apache.org/r1643296 Log: SLING-4054: adding package builder based on jcr packages Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackage.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java Removed: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderFactory.java Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageTest.java sling/trunk/contrib/extensions/distribution/it/pom.xml sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.serialization.impl.vlt.FileVaultDistributionPackageBuilderFactory-vlt.json Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java?rev=1643296r1=1643295r2=1643296view=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentUtils.java Fri Dec 5 14:40:03 2014 @@ -37,7 +37,7 @@ import org.apache.sling.distribution.pac import org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory; import org.apache.sling.distribution.packaging.impl.importer.RemoteDistributionPackageImporterFactory; import org.apache.sling.distribution.serialization.DistributionPackageBuilder; -import org.apache.sling.distribution.serialization.impl.vlt.FileVaultDistributionPackageBuilderFactory; +import org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory; import org.apache.sling.distribution.transport.DistributionTransportSecretProvider; import org.apache.sling.distribution.transport.impl.UserCredentialsDistributionTransportSecretProvider; import org.apache.sling.distribution.trigger.DistributionTrigger; @@ -113,7 +113,9 @@ public class DistributionComponentUtils registerFactory(importer, local, LocalDistributionPackageImporterFactory.class); registerFactory(importer, remote, RemoteDistributionPackageImporterFactory.class); -registerFactory(packageBuilder, vlt, FileVaultDistributionPackageBuilderFactory.class); +registerFactory(packageBuilder, filevlt, VaultDistributionPackageBuilderFactory.class); +registerFactory(packageBuilder, jcrvlt, VaultDistributionPackageBuilderFactory.class); + registerFactory(requestAuthorization, privilege, PrivilegeDistributionRequestAuthorizationStrategy.class); Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java URL:
svn commit: r1643357 - /sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java
Author: bdelacretaz Date: Fri Dec 5 17:15:47 2014 New Revision: 1643357 URL: http://svn.apache.org/r1643357 Log: SLING-4219 - increases the verbosity of the reported parsing errors in UnitLoader - contributed by Radu Cotescu, thanks! Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java?rev=1643357r1=1643356r2=1643357view=diff == --- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java (original) +++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/UnitLoader.java Fri Dec 5 17:15:47 2014 @@ -293,7 +293,7 @@ public class UnitLoader implements Event offendingInput = StringEscapeUtils.unescapeHtml(offendingInput.trim()); int errorLine = getLineWhereErrorOccurred(scriptSource, offendingInput); throw new SightlyException(Parsing error in template + identifier.getResource().getPath() + at line + -errorLine + :\n + offendingInput + \n); +errorLine + : + e.getMessage() + for expression + offendingInput); } else { throw e; }
svn commit: r1643421 - /sling/trunk/testing/samples/integration-tests/pom.xml
Author: rombert Date: Fri Dec 5 20:32:11 2014 New Revision: 1643421 URL: http://svn.apache.org/r1643421 Log: Update sample integration tests to use latest launchpad SNAPSHOT Thanks to Pontus Amberg for spotting this and reporting on dev@sling Modified: sling/trunk/testing/samples/integration-tests/pom.xml Modified: sling/trunk/testing/samples/integration-tests/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/testing/samples/integration-tests/pom.xml?rev=1643421r1=1643420r2=1643421view=diff == --- sling/trunk/testing/samples/integration-tests/pom.xml (original) +++ sling/trunk/testing/samples/integration-tests/pom.xml Fri Dec 5 20:32:11 2014 @@ -327,7 +327,7 @@ groupIdorg.apache.sling/groupId artifactIdorg.apache.sling.launchpad/artifactId classifierstandalone/classifier -version7-SNAPSHOT/version +version8-SNAPSHOT/version /dependency dependency groupIdorg.slf4j/groupId