You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ra...@apache.org on 2016/12/14 22:13:33 UTC
svn commit: r1774351 - in /sling/trunk/bundles/scripting/sightly:
compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/
compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/
compiler/src/main/java/org/apache...
Author: radu
Date: Wed Dec 14 22:13:32 2016
New Revision: 1774351
URL: http://svn.apache.org/viewvc?rev=1774351&view=rev
Log:
SLING-6399 - Implement support for date and number formatting for HTL
* implemented support for the date and number formatting features from version 1.3
of the HTL Language Specification
* applied slightly modified patch submitted by Vlad B\u0103ilescu at https://github.com/apache/sling/pull/191
(Closes #191)
Modified:
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/SightlyCompiler.java
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/NumericConstant.java
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/FormatFilter.java
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/I18nFilter.java
sling/trunk/bundles/scripting/sightly/compiler/src/test/java/org/apache/sling/scripting/sightly/impl/frontend/ExpressionWrapperTest.java
sling/trunk/bundles/scripting/sightly/engine/pom.xml
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java
sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/AbstractRuntimeObjectModel.java
sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/RuntimeObjectModel.java
sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/package-info.java
sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/models/TestModel.java
sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/Test.java
sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/package-info.java
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/Test.java
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/jsp-el.jsp
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-bundle.html
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-repo.html
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-slingmodels.html
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-async.html
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-sync.html
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-async.js
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-sync.js
sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test.jsp
sling/trunk/bundles/scripting/sightly/testing/pom.xml
sling/trunk/bundles/scripting/sightly/testing/src/main/provisioning/model.txt
Modified: sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/SightlyCompiler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/SightlyCompiler.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/SightlyCompiler.java (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/SightlyCompiler.java Wed Dec 14 22:13:32 2016
@@ -103,8 +103,8 @@ public final class SightlyCompiler {
// register filters
final List<Filter> filters = new ArrayList<>(5);
- filters.add(FormatFilter.getInstance());
filters.add(I18nFilter.getInstance());
+ filters.add(FormatFilter.getInstance());
filters.add(JoinFilter.getInstance());
filters.add(URIManipulationFilter.getInstance());
filters.add(XSSFilter.getInstance());
Modified: sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/NumericConstant.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/NumericConstant.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/NumericConstant.java (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/expression/nodes/NumericConstant.java Wed Dec 14 22:13:32 2016
@@ -49,7 +49,7 @@ public final class NumericConstant imple
* @param value the number representation
*/
public NumericConstant(Number value) {
- this.value = value.longValue();
+ this.value = value;
this.text = value.toString();
}
@@ -80,11 +80,10 @@ public final class NumericConstant imple
}
private Number parseNumber(String s) {
- try {
- return Long.parseLong(s);
- } catch (NumberFormatException e) {
+ if (s.contains(".")) {
return Double.parseDouble(s);
}
+ return Long.parseLong(s);
}
}
Modified: sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/FormatFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/FormatFilter.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/FormatFilter.java (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/FormatFilter.java Wed Dec 14 22:13:32 2016
@@ -21,6 +21,7 @@ package org.apache.sling.scripting.sight
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.compiler.expression.Expression;
import org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode;
+import org.apache.sling.scripting.sightly.compiler.expression.nodes.MapLiteral;
import org.apache.sling.scripting.sightly.compiler.expression.nodes.RuntimeCall;
/**
@@ -29,6 +30,9 @@ import org.apache.sling.scripting.sightl
public class FormatFilter extends AbstractFilter {
public static final String FORMAT_OPTION = "format";
+ public static final String TYPE_OPTION = "type";
+ public static final String FORMAT_LOCALE_OPTION = "formatLocale";
+ public static final String TIMEZONE_OPTION = "timezone";
private static final class FormatFilterLoader {
private static final FormatFilter INSTANCE = new FormatFilter();
@@ -53,7 +57,13 @@ public class FormatFilter extends Abstra
return expression;
}
ExpressionNode translation =
- new RuntimeCall(RuntimeFunction.FORMAT, expression.getRoot(), expression.removeOption(FORMAT_OPTION));
+ new RuntimeCall(RuntimeFunction.FORMAT, expression.getRoot(),
+ new MapLiteral(getFilterOptions(expression,
+ FORMAT_OPTION,
+ TYPE_OPTION,
+ I18nFilter.LOCALE_OPTION,
+ FORMAT_LOCALE_OPTION,
+ TIMEZONE_OPTION)));
return expression.withNode(translation);
}
}
Modified: sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/I18nFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/I18nFilter.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/I18nFilter.java (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/impl/filter/I18nFilter.java Wed Dec 14 22:13:32 2016
@@ -18,6 +18,8 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.impl.filter;
+import java.util.Map;
+
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.compiler.expression.Expression;
import org.apache.sling.scripting.sightly.compiler.expression.ExpressionNode;
@@ -55,9 +57,11 @@ public final class I18nFilter extends Ab
== ExpressionContext.PLUGIN_DATA_SLY_TEMPLATE || expressionContext == ExpressionContext.PLUGIN_DATA_SLY_CALL) {
return expression;
}
+ Map <String, ExpressionNode> options = getFilterOptions(expression, HINT_OPTION, LOCALE_OPTION, BASENAME_OPTION);
ExpressionNode translation = new RuntimeCall(RuntimeFunction.I18N, expression.getRoot(), new MapLiteral
- (getFilterOptions(expression, HINT_OPTION, LOCALE_OPTION, BASENAME_OPTION)));
+ (options));
expression.removeOption(I18N_OPTION);
+ expression.getOptions().put(FormatFilter.FORMAT_LOCALE_OPTION, options.get(LOCALE_OPTION));
return expression.withNode(translation);
}
}
Modified: sling/trunk/bundles/scripting/sightly/compiler/src/test/java/org/apache/sling/scripting/sightly/impl/frontend/ExpressionWrapperTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/test/java/org/apache/sling/scripting/sightly/impl/frontend/ExpressionWrapperTest.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/src/test/java/org/apache/sling/scripting/sightly/impl/frontend/ExpressionWrapperTest.java (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/src/test/java/org/apache/sling/scripting/sightly/impl/frontend/ExpressionWrapperTest.java Wed Dec 14 22:13:32 2016
@@ -74,7 +74,7 @@ public class ExpressionWrapperTest {
interpolation.addExpression(new Expression(new StringConstant("hello"), options));
ExpressionWrapper wrapper = new ExpressionWrapper(filters);
Expression result = wrapper.transform(interpolation, MarkupContext.TEXT, ExpressionContext.TEXT);
- List<ExpressionNode> xssArguments = runEmptyOptionsAndXSSAssertions(result);
+ List<ExpressionNode> xssArguments = runOptionsAndXSSAssertions(result, 1);
RuntimeCall i18n = (RuntimeCall) xssArguments.get(0);
assertEquals("Expected to I18n runtime function call.", RuntimeFunction.I18N, i18n.getFunctionName());
}
@@ -90,7 +90,7 @@ public class ExpressionWrapperTest {
interpolation.addExpression(new Expression(new StringConstant("Hello {0} {1}"), options));
ExpressionWrapper wrapper = new ExpressionWrapper(filters);
Expression result = wrapper.transform(interpolation, MarkupContext.TEXT, ExpressionContext.TEXT);
- List<ExpressionNode> xssArguments = runEmptyOptionsAndXSSAssertions(result);
+ List<ExpressionNode> xssArguments = runOptionsAndXSSAssertions(result, 0);
RuntimeCall format = (RuntimeCall) xssArguments.get(0);
assertEquals(RuntimeFunction.FORMAT, format.getFunctionName());
}
@@ -106,7 +106,7 @@ public class ExpressionWrapperTest {
interpolation.addExpression(new Expression(new ArrayLiteral(array), options));
ExpressionWrapper wrapper = new ExpressionWrapper(filters);
Expression result = wrapper.transform(interpolation, MarkupContext.TEXT, ExpressionContext.TEXT);
- List<ExpressionNode> xssArguments = runEmptyOptionsAndXSSAssertions(result);
+ List<ExpressionNode> xssArguments = runOptionsAndXSSAssertions(result, 0);
RuntimeCall join = (RuntimeCall) xssArguments.get(0);
assertEquals(RuntimeFunction.JOIN, join.getFunctionName());
}
@@ -142,13 +142,13 @@ public class ExpressionWrapperTest {
options));
ExpressionWrapper wrapper = new ExpressionWrapper(filters);
Expression result = wrapper.transform(interpolation, MarkupContext.TEXT, ExpressionContext.TEXT);
- List<ExpressionNode> xssArguments = runEmptyOptionsAndXSSAssertions(result);
+ List<ExpressionNode> xssArguments = runOptionsAndXSSAssertions(result, 0);
RuntimeCall join = (RuntimeCall) xssArguments.get(0);
assertEquals(RuntimeFunction.URI_MANIPULATION, join.getFunctionName());
}
- private List<ExpressionNode> runEmptyOptionsAndXSSAssertions(Expression result) {
- assertTrue("Expected empty options map for expression after processing.", result.getOptions().isEmpty());
+ private List<ExpressionNode> runOptionsAndXSSAssertions(Expression result, int expectedOptions) {
+ assertEquals("Options map size for expression after processing is different from expected.", expectedOptions, result.getOptions().size());
RuntimeCall xss = (RuntimeCall) result.getRoot();
assertEquals("Expected XSS escaping applied to expression.", RuntimeFunction.XSS, xss.getFunctionName());
return xss.getArguments();
Modified: sling/trunk/bundles/scripting/sightly/engine/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/pom.xml?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/engine/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/engine/pom.xml Wed Dec 14 22:13:32 2016
@@ -170,7 +170,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler.java</artifactId>
- <version>1.0.4</version>
+ <version>1.0.5-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Modified: sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java (original)
+++ sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java Wed Dec 14 22:13:32 2016
@@ -18,9 +18,21 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.impl.engine.extension;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.commons.lang.LocaleUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.sling.scripting.sightly.SightlyException;
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.apache.sling.scripting.sightly.render.RenderContext;
@@ -36,14 +48,65 @@ import org.osgi.service.component.annota
public class FormatFilterExtension implements RuntimeExtension {
private static final Pattern PLACEHOLDER_REGEX = Pattern.compile("\\{\\d+}");
+ private static final String FORMAT_OPTION = "format";
+ private static final String TYPE_OPTION = "type";
+ private static final String LOCALE_OPTION = "locale";
+ private static final String FORMAT_LOCALE_OPTION = "formatLocale";
+ private static final String TIMEZONE_OPTION = "timezone";
+
+ private static final String DATE_FORMAT_TYPE = "date";
+ private static final String NUMBER_FORMAT_TYPE = "number";
+ private static final String STRING_FORMAT_TYPE = "string";
@Override
public Object call(final RenderContext renderContext, Object... arguments) {
ExtensionUtils.checkArgumentCount(RuntimeFunction.FORMAT, arguments, 2);
RuntimeObjectModel runtimeObjectModel = renderContext.getObjectModel();
String source = runtimeObjectModel.toString(arguments[0]);
- Object[] params = decodeParams(runtimeObjectModel, arguments[1]);
- return replace(runtimeObjectModel, source, params);
+ Map<String, Object> options = (Map<String, Object>) arguments[1];
+
+ String formattingType = runtimeObjectModel.toString(options.get(TYPE_OPTION));
+ Object formatObject = options.get(FORMAT_OPTION);
+ boolean hasPlaceHolders = PLACEHOLDER_REGEX.matcher(source).find();
+ if (STRING_FORMAT_TYPE.equals(formattingType)) {
+ Object[] params = decodeParams(runtimeObjectModel, formatObject);
+ return formatString(runtimeObjectModel, source, params);
+ } else if (DATE_FORMAT_TYPE.equals(formattingType) || (!hasPlaceHolders && runtimeObjectModel.isDate(formatObject))) {
+ Locale locale = getLocale(runtimeObjectModel, options);
+ TimeZone timezone = getTimezone(runtimeObjectModel, options);
+ return formatDate(source, runtimeObjectModel.toDate(formatObject), locale, timezone);
+ } else if (NUMBER_FORMAT_TYPE.equals(formattingType) || (!hasPlaceHolders && runtimeObjectModel.isNumber(formatObject))) {
+ Locale locale = getLocale(runtimeObjectModel, options);
+ return formatNumber(source, runtimeObjectModel.toNumber(formatObject), locale);
+ }
+ Object[] params = decodeParams(runtimeObjectModel, formatObject);
+ return formatString(runtimeObjectModel, source, params);
+ }
+
+ private Locale getLocale(RuntimeObjectModel runtimeObjectModel, Map<String, Object> options) {
+ String localeOption = null;
+ if (options.containsKey(LOCALE_OPTION)) {
+ localeOption = runtimeObjectModel.toString(options.get(LOCALE_OPTION));
+ }
+ if (localeOption == null && options.containsKey(FORMAT_LOCALE_OPTION)) {
+ localeOption = runtimeObjectModel.toString(options.get(FORMAT_LOCALE_OPTION));
+ }
+ if (StringUtils.isNotBlank(localeOption)) {
+ return LocaleUtils.toLocale(localeOption);
+ }
+ return null;
+ }
+
+ private TimeZone getTimezone(RuntimeObjectModel runtimeObjectModel, Map<String, Object> options) {
+ if ( options.containsKey(TIMEZONE_OPTION)) {
+ return TimeZone.getTimeZone(runtimeObjectModel.toString(options.get(TIMEZONE_OPTION)));
+ } else {
+ Object formatObject = options.get(FORMAT_OPTION);
+ if (formatObject instanceof Calendar) {
+ return ((Calendar)formatObject).getTimeZone();
+ }
+ return TimeZone.getDefault();
+ }
}
private Object[] decodeParams(RuntimeObjectModel runtimeObjectModel, Object paramObj) {
@@ -53,7 +116,7 @@ public class FormatFilterExtension imple
return new Object[] {paramObj};
}
- private String replace(RuntimeObjectModel runtimeObjectModel, String source, Object[] params) {
+ private String formatString(RuntimeObjectModel runtimeObjectModel, String source, Object[] params) {
Matcher matcher = PLACEHOLDER_REGEX.matcher(source);
StringBuilder builder = new StringBuilder();
int lastPos = 0;
@@ -63,7 +126,7 @@ public class FormatFilterExtension imple
if (matched) {
String group = matcher.group();
int paramIndex = Integer.parseInt(group.substring(1, group.length() - 1));
- String replacement = param(runtimeObjectModel, params, paramIndex);
+ String replacement = toString(runtimeObjectModel, params, paramIndex);
int matchStart = matcher.start();
int matchEnd = matcher.end();
builder.append(source, lastPos, matchStart).append(replacement);
@@ -74,10 +137,43 @@ public class FormatFilterExtension imple
return builder.toString();
}
- private String param(RuntimeObjectModel runtimeObjectModel, Object[] params, int index) {
+ private String toString(RuntimeObjectModel runtimeObjectModel, Object[] params, int index) {
if (index >= 0 && index < params.length) {
return runtimeObjectModel.toString(params[index]);
}
return "";
}
+
+ private String formatDate(String format, Date date, Locale locale, TimeZone timezone) {
+ try {
+ SimpleDateFormat formatter;
+ if (locale != null) {
+ formatter = new SimpleDateFormat(format, locale);
+ } else {
+ formatter = new SimpleDateFormat(format);
+ }
+ if (timezone != null) {
+ formatter.setTimeZone(timezone);
+ }
+ return formatter.format(date);
+ } catch (Exception e) {
+ String error = String.format("Error during formatting of date %s with format %s, locale %s and timezone %s", date, format, locale, timezone);
+ throw new SightlyException( error, e);
+ }
+ }
+
+ private String formatNumber(String format, Number number, Locale locale) {
+ try {
+ NumberFormat formatter;
+ if (locale != null) {
+ formatter = new DecimalFormat(format, new DecimalFormatSymbols(locale));
+ } else {
+ formatter = new DecimalFormat(format);
+ }
+ return formatter.format(number);
+ } catch (Exception e) {
+ String error = String.format("Error during formatting of number %s with format %s and locale %s", number, format, locale);
+ throw new SightlyException( error, e);
+ }
+ }
}
Modified: sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/AbstractRuntimeObjectModel.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/AbstractRuntimeObjectModel.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/AbstractRuntimeObjectModel.java (original)
+++ sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/AbstractRuntimeObjectModel.java Wed Dec 14 22:13:32 2016
@@ -21,8 +21,10 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
@@ -48,7 +50,6 @@ public abstract class AbstractRuntimeObj
*/
public static final Set<Class<?>> PRIMITIVE_CLASSES = Collections.unmodifiableSet(new HashSet<Class<?>>() {{
add(Boolean.class);
- add(Boolean.class);
add(Character.class);
add(Byte.class);
add(Short.class);
@@ -67,6 +68,16 @@ public abstract class AbstractRuntimeObj
}
@Override
+ public boolean isDate(Object target) {
+ return (target instanceof Date || target instanceof Calendar);
+ }
+
+ @Override
+ public boolean isNumber(Object target) {
+ return (target instanceof Number);
+ }
+
+ @Override
public boolean isCollection(Object target) {
return (target instanceof Collection) || (target instanceof Object[]) || (target instanceof Iterable) ||
(target instanceof Iterator);
@@ -96,6 +107,15 @@ public abstract class AbstractRuntimeObj
return 0;
}
+ public Date toDate(Object object) {
+ if (object instanceof Date) {
+ return (Date)object;
+ } else if (object instanceof Calendar) {
+ return ((Calendar)object).getTime();
+ }
+ return new Date(0);
+ }
+
@Override
public String toString(Object target) {
return objectToString(target);
@@ -368,4 +388,3 @@ public abstract class AbstractRuntimeObj
}
}
-
Modified: sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/RuntimeObjectModel.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/RuntimeObjectModel.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/RuntimeObjectModel.java (original)
+++ sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/RuntimeObjectModel.java Wed Dec 14 22:13:32 2016
@@ -17,6 +17,7 @@
package org.apache.sling.scripting.sightly.render;
import java.util.Collection;
+import java.util.Date;
import java.util.Map;
import org.osgi.annotation.versioning.ProviderType;
@@ -44,6 +45,10 @@ public interface RuntimeObjectModel {
*/
boolean isCollection(Object target);
+ boolean isNumber(Object target);
+
+ boolean isDate(Object target);
+
/**
* Resolve a property of a target object and return its value. The property can
* be either an index or a name
@@ -70,6 +75,8 @@ public interface RuntimeObjectModel {
*/
Number toNumber(Object object);
+ Date toDate(Object object);
+
/**
* Convert the given object to a string.
*
Modified: sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/package-info.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/package-info.java (original)
+++ sling/trunk/bundles/scripting/sightly/java-compiler/src/main/java/org/apache/sling/scripting/sightly/render/package-info.java Wed Dec 14 22:13:32 2016
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
-@Version("2.0.0")
+@Version("2.1.0")
package org.apache.sling.scripting.sightly.render;
import org.osgi.annotation.versioning.Version;
Modified: sling/trunk/bundles/scripting/sightly/testing-content/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/pom.xml?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/pom.xml Wed Dec 14 22:13:32 2016
@@ -100,7 +100,7 @@
<artifactItem>
<groupId>io.sightly</groupId>
<artifactId>io.sightly.tck</artifactId>
- <version>1.2.5</version>
+ <version>1.3.0-SNAPSHOT</version>
<type>jar</type>
<outputDirectory>${project.build.directory}/sightlytck/</outputDirectory>
<includes>**/*.html,**/*.js,**/*.java</includes>
@@ -187,6 +187,14 @@
</plugins>
</build>
+ <repositories>
+ <repository>
+ <id>oss-sonatype</id>
+ <name>OSS Sonatype</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </repository>
+ </repositories>
+
<dependencies>
<!-- Test bundle dependencies -->
<dependency>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/models/TestModel.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/models/TestModel.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/models/TestModel.java (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/models/TestModel.java Wed Dec 14 22:13:32 2016
@@ -16,6 +16,7 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.testing.models;
+import java.util.Date;
import java.util.Iterator;
import javax.inject.Inject;
@@ -72,4 +73,8 @@ public class TestModel {
return resource.listChildren();
}
+ public Date getDate() {
+ return new Date();
+ }
+
}
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/Test.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/Test.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/Test.java (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/Test.java Wed Dec 14 22:13:32 2016
@@ -16,6 +16,7 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.testing.use;
+import java.util.Date;
import java.util.Iterator;
import javax.script.Bindings;
@@ -82,4 +83,8 @@ public class Test implements Use {
public Iterator<Resource> getChildren() {
return this.children;
}
+
+ public Date getDate() {
+ return new Date();
+ }
}
\ No newline at end of file
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/package-info.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/package-info.java (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/java/org/apache/sling/scripting/sightly/testing/use/package-info.java Wed Dec 14 22:13:32 2016
@@ -15,7 +15,7 @@
* limitations under the License.
******************************************************************************/
-@Version("1.0.0")
+@Version("1.1.0")
package org.apache.sling.scripting.sightly.testing.use;
import org.osgi.annotation.versioning.Version;
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/locales/de.json Wed Dec 14 22:13:32 2016
@@ -26,5 +26,20 @@
"jcr:primaryType": "sling:MessageEntry",
"sling:key" : "the bank",
"sling:message" : "das Ufer"
+ },
+ "dayofweek" : {
+ "jcr:primaryType": "sling:MessageEntry",
+ "sling:key" : "'Day of week': EEEE",
+ "sling:message" : "'Wochentag': EEEE"
+ },
+ "total" : {
+ "jcr:primaryType": "sling:MessageEntry",
+ "sling:key" : "Total: {0}",
+ "sling:message" : "Gesamtbetrag: {0}"
+ },
+ "number" : {
+ "jcr:primaryType": "sling:MessageEntry",
+ "sling:key" : "##",
+ "sling:message" : "##.###"
}
}
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/Test.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/Test.java?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/Test.java (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/Test.java Wed Dec 14 22:13:32 2016
@@ -18,6 +18,7 @@
******************************************************************************/
package apps.sightlyperf.test;
+import java.util.Date;
import java.util.Iterator;
import javax.script.Bindings;
@@ -85,4 +86,8 @@ public class Test implements Use {
public Iterator<Resource> getChildren() {
return this.children;
}
+
+ public Date getDate() {
+ return new Date();
+ }
}
\ No newline at end of file
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/jsp-el.jsp
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/jsp-el.jsp?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/jsp-el.jsp (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/jsp-el.jsp Wed Dec 14 22:13:32 2016
@@ -1,4 +1,5 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling"%>
<%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -22,9 +23,11 @@
<sling:defineObjects />
<c:set var="properties" value="${sling:adaptTo(resource,'org.apache.sling.api.resource.ValueMap')}" />
<c:set var="tag" value="${sling:getValue(properties, 'tag', '')}" />
+<c:set var="now" value="<%=new java.util.Date()%>" />
<c:if test="${tag != ''}"><${tag}></c:if>
${sling:encode(sling:getValue(properties, 'text', resource.path), 'HTML')}
<c:if test="${tag != ''}"></${tag}></c:if>
+<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss.SSS" value="${now}" />
<sling:call script="mode.jsp" />
<c:if test="${sling:getValue(properties, 'includeChildren', false)}">
<ul>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-bundle.html
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-bundle.html?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-bundle.html (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-bundle.html Wed Dec 14 22:13:32 2016
@@ -20,6 +20,7 @@
${test.tag != null ? test.startTag : '' @ context = "unsafe"}
${test.text @ context = "text"}
${test.tag != null ? test.endTag : '' @ context = "unsafe"}
+ ${'yyyy-MM-dd HH:mm:ss.SSS' @ format = test.date}
<div data-sly-include="mode.jsp" data-sly-unwrap=""></div>
<ul data-sly-test="${test.includeChildren}" data-sly-list.child="${test.children}">
<li data-sly-resource="${child.path}"></li>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-repo.html
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-repo.html?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-repo.html (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-pojo-repo.html Wed Dec 14 22:13:32 2016
@@ -20,6 +20,7 @@
${test.tag != null ? test.startTag : '' @ context = "unsafe"}
${test.text @ context = "text"}
${test.tag != null ? test.endTag : '' @ context = "unsafe"}
+ ${'yyyy-MM-dd HH:mm:ss.SSS' @ format = test.date}
<div data-sly-include="mode.jsp" data-sly-unwrap=""></div>
<ul data-sly-test="${test.includeChildren}" data-sly-list.child="${test.children}">
<li data-sly-resource="${child.path}"></li>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-slingmodels.html
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-slingmodels.html?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-slingmodels.html (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-java-slingmodels.html Wed Dec 14 22:13:32 2016
@@ -20,6 +20,7 @@
${test.tag != null ? test.startTag : '' @ context = "unsafe"}
${test.text @ context = "text"}
${test.tag != null ? test.endTag : '' @ context = "unsafe"}
+ ${'yyyy-MM-dd HH:mm:ss.SSS' @ format = test.date}
<div data-sly-include="mode.jsp" data-sly-unwrap=""></div>
<ul data-sly-test="${test.includeChildren}" data-sly-list.child="${test.children}">
<li data-sly-resource="${child.path}"></li>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-async.html
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-async.html?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-async.html (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-async.html Wed Dec 14 22:13:32 2016
@@ -20,6 +20,7 @@
${test.tag != null ? test.startTag : '' @ context = "unsafe"}
${test.text @ context = "text"}
${test.tag != null ? test.endTag : '' @ context = "unsafe"}
+ ${'yyyy-MM-dd HH:mm:ss.SSS' @ format = test.date}
<div data-sly-include="mode.jsp" data-sly-unwrap=""></div>
<ul data-sly-test="${test.includeChildren}" data-sly-list.child="${test.children}">
<li data-sly-resource="${child.path}"></li>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-sync.html
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-sync.html?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-sync.html (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/sly-js-sync.html Wed Dec 14 22:13:32 2016
@@ -18,6 +18,7 @@
${test.tag != null ? test.startTag : '' @ context = "unsafe"}
${test.text @ context = "text"}
${test.tag != null ? test.endTag : '' @ context = "unsafe"}
+ ${'yyyy-MM-dd HH:mm:ss.SSS' @ format = test.date}
<div data-sly-include="mode.jsp" data-sly-unwrap=""></div>
<ul data-sly-test="${test.includeChildren}" data-sly-list.child="${test.children}">
<li data-sly-resource="${child.path}"></li>
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-async.js
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-async.js?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-async.js (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-async.js Wed Dec 14 22:13:32 2016
@@ -28,6 +28,7 @@ use(function () {
test.startTag = '<' + test.tag + '>';
test.endTag = '</' + test.tag + '>';
}
+ test.date = new Packages.java.util.Date();
test.includeChildren = properties.get('includeChildren') || false;
if (test.includeChildren) {
test.children = sightly.resource.getChildren();
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-sync.js
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-sync.js?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-sync.js (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test-sync.js Wed Dec 14 22:13:32 2016
@@ -26,6 +26,7 @@ use(function () {
test.startTag = '<' + test.tag + '>';
test.endTag = '</' + test.tag + '>';
}
+ test.date = new Packages.java.util.Date();
test.includeChildren = properties.get('includeChildren') || false;
if (test.includeChildren) {
test.children = resource.getChildren();
Modified: sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test.jsp
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test.jsp?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test.jsp (original)
+++ sling/trunk/bundles/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightlyperf/test/test.jsp Wed Dec 14 22:13:32 2016
@@ -1,7 +1,9 @@
<%@ page import="org.apache.sling.api.resource.Resource" %>
<%@ page import="org.apache.sling.api.resource.ValueMap" %>
<%@ page import="org.apache.sling.xss.XSSAPI" %>
+<%@ page import="java.util.Date" %>
<%@ page import="java.util.Iterator" %>
+<%@ page import="java.text.SimpleDateFormat" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling"%>
@@ -36,8 +38,9 @@
if (tag != null) {
out.println("</" + tag + ">");
}
-
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
%>
+ <%=sdf.format(new Date())%>
<sling:call script="mode.jsp" />
<%
Modified: sling/trunk/bundles/scripting/sightly/testing/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing/pom.xml?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/testing/pom.xml Wed Dec 14 22:13:32 2016
@@ -379,13 +379,21 @@
</profile>
</profiles>
+ <repositories>
+ <repository>
+ <id>oss-sonatype</id>
+ <name>OSS Sonatype</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </repository>
+ </repositories>
+
<dependencies>
<!-- The integration tests -->
<dependency>
<groupId>io.sightly</groupId>
<artifactId>io.sightly.tck</artifactId>
- <version>1.2.5</version>
+ <version>1.3.0-SNAPSHOT</version>
<scope>test</scope>
<exclusions>
<exclusion>
Modified: sling/trunk/bundles/scripting/sightly/testing/src/main/provisioning/model.txt
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/testing/src/main/provisioning/model.txt?rev=1774351&r1=1774350&r2=1774351&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/testing/src/main/provisioning/model.txt (original)
+++ sling/trunk/bundles/scripting/sightly/testing/src/main/provisioning/model.txt Wed Dec 14 22:13:32 2016
@@ -20,8 +20,8 @@
# Dependencies
[artifacts]
org.apache.sling/org.apache.sling.launchpad/9-SNAPSHOT/slingstart
- org.apache.sling/org.apache.sling.scripting.api/2.1.11-SNAPSHOT
- org.apache.sling/org.apache.sling.scripting.core/2.0.43-SNAPSHOT
+ org.apache.sling/org.apache.sling.scripting.api/2.1.13-SNAPSHOT
+ org.apache.sling/org.apache.sling.scripting.core/2.0.45-SNAPSHOT
org.apache.sling/org.apache.sling.scripting.sightly.compiler
org.apache.sling/org.apache.sling.scripting.sightly.compiler.java
org.apache.sling/org.apache.sling.scripting.sightly