Author: radu
Date: Mon Oct 10 15:39:09 2016
New Revision: 1764122
URL: http://svn.apache.org/viewvc?rev=1764122&view=rev
Log:
SLING-6125 - Switch HTL to OSGi R6 annotations
* removed maven-scr-plugin and configured maven-bundle-plugin to generate SCR
metadata
* replaced Felix SCR annotations with OSGi Component + Metatype annotations
* removed unused dependencies
Modified:
sling/trunk/bundles/scripting/sightly/compiler/pom.xml
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/package-info.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/ExtensionRegistryService.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ResourceBackedPojoChangeMonitor.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyBindingsValuesProvider.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyEngineConfiguration.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyJavaCompilerService.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyScriptEngineFactory.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/FormatFilterExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/JoinFilterExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/URIManipulationFilterExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/RenderUnitProvider.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ResourceUseProvider.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ScriptUseProvider.java
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java
sling/trunk/bundles/scripting/sightly/java-compiler/pom.xml
sling/trunk/bundles/scripting/sightly/js-use-provider/pom.xml
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/ProxyAsyncScriptableFactory.java
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/SlingModelsUseProvider.java
Modified: sling/trunk/bundles/scripting/sightly/compiler/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/pom.xml?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/compiler/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/compiler/pom.xml Mon Oct 10 15:39:09
2016
@@ -60,26 +60,24 @@
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>scr-metadata</id>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
<configuration>
+ <exportScr>true</exportScr>
<instructions>
<Embed-Dependency>antlr4-runtime,org.abego.treelayout.core</Embed-Dependency>
<Provide-Capability>
- io.sightly; version:Version=1.0,
- io.sightly; version:Version=1.1,
- io.sightly; version:Version=1.2
+ io.sightly.compiler; version:Version=1.0,
+ io.sightly.compiler; version:Version=1.1,
+ io.sightly.compiler; version:Version=1.2
</Provide-Capability>
</instructions>
</configuration>
@@ -192,22 +190,11 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>1.9.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
+ <artifactId>powermock-reflect</artifactId>
<version>1.5.5</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
</project>
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=1764122&r1=1764121&r2=1764122&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
Mon Oct 10 15:39:09 2016
@@ -25,8 +25,6 @@ import java.util.List;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.scripting.sightly.compiler.backend.BackendCompiler;
import org.apache.sling.scripting.sightly.compiler.commands.CommandStream;
import org.apache.sling.scripting.sightly.impl.compiler.CompilationResultImpl;
@@ -61,6 +59,7 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.impl.plugin.TextPlugin;
import org.apache.sling.scripting.sightly.impl.plugin.UnwrapPlugin;
import org.apache.sling.scripting.sightly.impl.plugin.UsePlugin;
+import org.osgi.service.component.annotations.Component;
/**
* <p>
@@ -69,8 +68,9 @@ import org.apache.sling.scripting.sightl
* transpiling the commands to a JVM supported language or by directly
executing them.
* </p>
*/
-@Component
-@Service(SightlyCompiler.class)
+@Component(
+ service = SightlyCompiler.class
+)
public final class SightlyCompiler {
private StreamTransformer optimizer;
Modified:
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/package-info.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/package-info.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/package-info.java
(original)
+++
sling/trunk/bundles/scripting/sightly/compiler/src/main/java/org/apache/sling/scripting/sightly/compiler/package-info.java
Mon Oct 10 15:39:09 2016
@@ -21,7 +21,7 @@
* The {@code org.apache.sling.scripting.sightly.compiler} package defines the
API exposed by the
* {@link org.apache.sling.scripting.sightly.compiler.SightlyCompiler}.
*/
-@Version("1.0.0")
+@Version("1.0.1")
package org.apache.sling.scripting.sightly.compiler;
import org.osgi.annotation.versioning.Version;
Modified: sling/trunk/bundles/scripting/sightly/engine/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/pom.xml?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/engine/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/engine/pom.xml Mon Oct 10 15:39:09
2016
@@ -56,20 +56,18 @@
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>scr-metadata</id>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
<configuration>
+ <exportScr>true</exportScr>
<instructions>
<ScriptEngine-Name>${project.name}</ScriptEngine-Name>
<ScriptEngine-Version>${project.version}</ScriptEngine-Version>
@@ -78,6 +76,10 @@
io.sightly; version:Version=1.1,
io.sightly; version:Version=1.2
</Provide-Capability>
+ <Require-Capability>
+ io.sightly.compiler;
filter:="(&(version>=1.0)(!(version>=2.0)))",
+ io.sightly.compiler.java;
filter:="(&(version>=1.0)(!(version>=2.0)))"
+ </Require-Capability>
</instructions>
</configuration>
</plugin>
@@ -121,7 +123,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -226,7 +228,6 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -237,13 +238,8 @@
</dependency>
<dependency>
<groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
- <version>1.5.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
+ <artifactId>powermock-reflect</artifactId>
+ <version>1.6.5</version>
<scope>test</scope>
</dependency>
</dependencies>
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ExtensionRegistryService.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ExtensionRegistryService.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ExtensionRegistryService.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ExtensionRegistryService.java
Mon Oct 10 15:39:09 2016
@@ -22,35 +22,33 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
/**
* Aggregator for all runtime extensions.
*/
-@Component
-@Service(ExtensionRegistryService.class)
-@Reference(
- policy = ReferencePolicy.DYNAMIC,
- referenceInterface = RuntimeExtension.class,
- name = "extensionService",
- cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE
-)
+@Component(service = ExtensionRegistryService.class)
public class ExtensionRegistryService {
- private volatile Map<String, RuntimeExtension> mapping = new
HashMap<String, RuntimeExtension>();
- private Map<String, Integer> mappingPriorities = new HashMap<String,
Integer>(10, 0.9f);
+ private volatile Map<String, RuntimeExtension> mapping = new HashMap<>();
+ private Map<String, Integer> mappingPriorities = new HashMap<>(10, 0.9f);
public Map<String, RuntimeExtension> extensions() {
return mapping;
}
+ @Reference(
+ policy = ReferencePolicy.DYNAMIC,
+ service = RuntimeExtension.class,
+ cardinality = ReferenceCardinality.MULTIPLE
+ )
+ @SuppressWarnings("unused")
protected synchronized void bindExtensionService(RuntimeExtension
extension, Map<String, Object> properties) {
Integer newPriority =
PropertiesUtil.toInteger(properties.get(Constants.SERVICE_RANKING), 0);
String extensionName =
PropertiesUtil.toString(properties.get(RuntimeExtension.NAME), "");
@@ -67,6 +65,7 @@ public class ExtensionRegistryService {
}
+ @SuppressWarnings("unused")
protected synchronized void unbindExtensionService(RuntimeExtension
extension, Map<String, Object> properties) {
String extensionName =
PropertiesUtil.toString(properties.get(RuntimeExtension.NAME), "");
mappingPriorities.remove(extensionName);
@@ -74,13 +73,13 @@ public class ExtensionRegistryService {
}
private Map<String, RuntimeExtension> add(Map<String, RuntimeExtension>
oldMap, RuntimeExtension extension, String extensionName) {
- HashMap<String, RuntimeExtension> newMap = new HashMap<String,
RuntimeExtension>(oldMap);
+ HashMap<String, RuntimeExtension> newMap = new HashMap<>(oldMap);
newMap.put(extensionName, extension);
return newMap;
}
private Map<String, RuntimeExtension> remove(Map<String, RuntimeExtension>
oldMap, String extensionName) {
- HashMap<String, RuntimeExtension> newMap = new HashMap<String,
RuntimeExtension>(oldMap);
+ HashMap<String, RuntimeExtension> newMap = new HashMap<>(oldMap);
newMap.remove(extensionName);
return newMap;
}
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ResourceBackedPojoChangeMonitor.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ResourceBackedPojoChangeMonitor.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ResourceBackedPojoChangeMonitor.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/ResourceBackedPojoChangeMonitor.java
Mon Oct 10 15:39:09 2016
@@ -25,24 +25,25 @@ import java.util.concurrent.ConcurrentHa
import javax.annotation.Nonnull;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
+import
org.apache.sling.api.resource.observation.ExternalResourceChangeListener;
import org.apache.sling.api.resource.observation.ResourceChange;
import org.apache.sling.api.resource.observation.ResourceChangeListener;
import
org.apache.sling.scripting.sightly.impl.engine.compiled.SourceIdentifier;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Component
-@Service({ResourceBackedPojoChangeMonitor.class, ResourceChangeListener.class})
-@Properties({
- @Property(name = ResourceChangeListener.PATHS, value = "glob:**/*.java"),
- @Property(name = ResourceChangeListener.CHANGES, value = {"ADDED",
"CHANGED", "REMOVED"})
-})
-public class ResourceBackedPojoChangeMonitor implements ResourceChangeListener
{
+@Component(
+ service = {ResourceBackedPojoChangeMonitor.class,
ResourceChangeListener.class},
+ property = {
+ ResourceChangeListener.PATHS + "=glob:**/*.java",
+ ResourceChangeListener.CHANGES + "=ADDED",
+ ResourceChangeListener.CHANGES + "=CHANGED",
+ ResourceChangeListener.CHANGES + "=REMOVED",
+ }
+)
+public class ResourceBackedPojoChangeMonitor implements
ResourceChangeListener, ExternalResourceChangeListener {
private static final Logger LOG =
LoggerFactory.getLogger(ResourceBackedPojoChangeMonitor.class);
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyBindingsValuesProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyBindingsValuesProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyBindingsValuesProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyBindingsValuesProvider.java
Mon Oct 10 15:39:09 2016
@@ -20,24 +20,20 @@ package org.apache.sling.scripting.sight
import javax.script.Bindings;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.api.scripting.SlingBindings;
import org.apache.sling.scripting.api.BindingsValuesProvider;
import org.apache.sling.scripting.sightly.impl.utils.BindingsUtils;
+import org.osgi.service.component.annotations.Component;
/**
* HTL specific {@code BindingsValuesProvider}.
*/
-@Component()
-@Service(BindingsValuesProvider.class)
-@Properties({
- @Property(name = "javax.script.name", value = "sightly")
-})
+@Component(
+ property = {
+ "javax.script.name=sightly"
+ }
+)
public class SightlyBindingsValuesProvider implements BindingsValuesProvider {
public static final String PROPERTIES = "properties";
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyEngineConfiguration.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyEngineConfiguration.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyEngineConfiguration.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyEngineConfiguration.java
Mon Oct 10 15:39:09 2016
@@ -21,40 +21,41 @@ package org.apache.sling.scripting.sight
import java.io.IOException;
import java.io.InputStream;
-import java.util.Dictionary;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
/**
* Holds various HTL engine global configurations.
*/
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Engine Configuration",
- description = "HTL Engine Configuration Options"
+ service = SightlyEngineConfiguration.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.impl.engine.SightlyEngineConfiguration"
)
-@Service(SightlyEngineConfiguration.class)
-@Properties({
- @Property(
- name = SightlyEngineConfiguration.SCR_PROP_NAME_KEEPGENERATED,
- boolValue =
SightlyEngineConfiguration.SCR_PROP_DEFAULT_KEEPGENERATED,
- label = "Keep Generated Java Source Code",
+@Designate(ocd = SightlyEngineConfiguration.Configuration.class)
+public class SightlyEngineConfiguration {
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Engine Configuration",
+ description = "HTL Engine Configuration Options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Keep Generated Java Source Code",
description = "If enabled, the Java source code generated
during HTL template files compilation will be stored. " +
"Its location is dependent on the available
org.apache.sling.commons.classloader.ClassLoaderWriter."
+
)
-})
-public class SightlyEngineConfiguration {
+ boolean keepGenerated() default true;
- public static final String SCR_PROP_NAME_KEEPGENERATED =
"org.apache.sling.scripting.sightly.keepgenerated";
- public static final boolean SCR_PROP_DEFAULT_KEEPGENERATED = true;
+ }
private String engineVersion = "0";
private boolean keepGenerated;
@@ -76,7 +77,8 @@ public class SightlyEngineConfiguration
return keepGenerated;
}
- protected void activate(ComponentContext componentContext) {
+ @Activate
+ protected void activate(Configuration configuration) {
InputStream ins = null;
try {
ins = getClass().getResourceAsStream("/META-INF/MANIFEST.MF");
@@ -101,7 +103,6 @@ public class SightlyEngineConfiguration
}
}
}
- Dictionary properties = componentContext.getProperties();
- keepGenerated =
PropertiesUtil.toBoolean(properties.get(SCR_PROP_NAME_KEEPGENERATED),
SCR_PROP_DEFAULT_KEEPGENERATED);
+ keepGenerated = configuration.keepGenerated();
}
}
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyJavaCompilerService.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyJavaCompilerService.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyJavaCompilerService.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyJavaCompilerService.java
Mon Oct 10 15:39:09 2016
@@ -28,10 +28,6 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.io.IOUtils;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.classloader.ClassLoaderWriter;
@@ -44,6 +40,9 @@ import org.apache.sling.scripting.sightl
import
org.apache.sling.scripting.sightly.impl.engine.compiled.SourceIdentifier;
import
org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl;
import org.apache.sling.scripting.sightly.render.RenderContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,8 +52,9 @@ import org.slf4j.LoggerFactory;
* or in regular OSGi bundles. It also compiles Java sources on-the-fly and
can discover class' source files based on
* {@link Resource}s (typically Sling components). It supports Sling Resource
type inheritance.
*/
-@Component
-@Service(SightlyJavaCompilerService.class)
+@Component(
+ service = SightlyJavaCompilerService.class
+)
public class SightlyJavaCompilerService {
private static final Logger LOG =
LoggerFactory.getLogger(SightlyJavaCompilerService.class);
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyScriptEngineFactory.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyScriptEngineFactory.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyScriptEngineFactory.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyScriptEngineFactory.java
Mon Oct 10 15:39:09 2016
@@ -26,28 +26,27 @@ import javax.script.ScriptEngineFactory;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.classloader.ClassLoaderWriter;
import org.apache.sling.commons.classloader.DynamicClassLoaderManager;
import org.apache.sling.scripting.api.AbstractScriptEngineFactory;
import org.apache.sling.scripting.sightly.compiler.SightlyCompiler;
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* HTL template engine factory
*/
-@Component()
-@Service(ScriptEngineFactory.class)
-@Properties({
- @Property(name = "service.description", value = "HTL Templating
Engine"),
- @Property(name = "compatible.javax.script.name", value = "sly")
-})
+@Component(
+ service = ScriptEngineFactory.class,
+ property = {
+ Constants.SERVICE_DESCRIPTION + "=HTL Templating Engine",
+ "compatible.javax.script.name=sly"
+ }
+)
public class SightlyScriptEngineFactory extends AbstractScriptEngineFactory {
private static final Logger LOGGER =
LoggerFactory.getLogger(SightlyScriptEngineFactory.class);
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=1764122&r1=1764121&r2=1764122&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
Mon Oct 10 15:39:09 2016
@@ -21,20 +21,18 @@ package org.apache.sling.scripting.sight
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.scripting.sightly.render.RuntimeObjectModel;
+import org.osgi.service.component.annotations.Component;
-@Component
-@Service(RuntimeExtension.class)
-@Properties({
- @Property(name = RuntimeExtension.NAME, value = RuntimeFunction.FORMAT)
-})
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.FORMAT
+ }
+)
public class FormatFilterExtension implements RuntimeExtension {
private static final Pattern PLACEHOLDER_REGEX =
Pattern.compile("\\{\\d+}");
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/I18nRuntimeExtension.java
Mon Oct 10 15:39:09 2016
@@ -26,10 +26,6 @@ import javax.script.Bindings;
import org.apache.commons.lang.LocaleUtils;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.scripting.SlingScriptHelper;
import org.apache.sling.i18n.ResourceBundleProvider;
@@ -38,14 +34,16 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.impl.utils.BindingsUtils;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.scripting.sightly.render.RuntimeObjectModel;
+import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Component
-@Service(RuntimeExtension.class)
-@Properties({
- @Property(name = RuntimeExtension.NAME, value = RuntimeFunction.I18N)
-})
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.I18N
+ }
+)
public class I18nRuntimeExtension implements RuntimeExtension {
private static final Logger LOG =
LoggerFactory.getLogger(I18nRuntimeExtension.class);
@@ -97,7 +95,7 @@ public class I18nRuntimeExtension implem
}
}
LOG.warn("No translation found for string '{}' using expression
provided locale '{}' or default locale '{}'",
- new String[] {text, locale,
request.getLocale().getLanguage()});
+ text, locale, request.getLocale().getLanguage());
return text;
}
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
Mon Oct 10 15:39:09 2016
@@ -25,10 +25,6 @@ import javax.script.Bindings;
import javax.servlet.Servlet;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.scripting.SlingScriptHelper;
@@ -39,17 +35,19 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.impl.utils.BindingsUtils;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.scripting.sightly.render.RuntimeObjectModel;
+import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Runtime support for including resources in a HTL script through {@code
data-sly-include}.
*/
-@Component
-@Service(RuntimeExtension.class)
-@Properties({
- @Property(name = RuntimeExtension.NAME, value =
RuntimeFunction.INCLUDE)
-})
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.INCLUDE
+ }
+)
public class IncludeRuntimeExtension implements RuntimeExtension {
private static final Logger LOG =
LoggerFactory.getLogger(IncludeRuntimeExtension.class);
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/JoinFilterExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/JoinFilterExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/JoinFilterExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/JoinFilterExtension.java
Mon Oct 10 15:39:09 2016
@@ -21,20 +21,18 @@ package org.apache.sling.scripting.sight
import java.util.Collection;
import java.util.Iterator;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.scripting.sightly.render.RuntimeObjectModel;
+import org.osgi.service.component.annotations.Component;
-@Component
-@Service(RuntimeExtension.class)
-@Properties({
- @Property(name = RuntimeExtension.NAME, value = RuntimeFunction.JOIN)
-})
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.JOIN
+ }
+)
public class JoinFilterExtension implements RuntimeExtension {
@Override
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
Mon Oct 10 15:39:09 2016
@@ -29,10 +29,6 @@ import javax.script.Bindings;
import javax.servlet.RequestDispatcher;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.request.RequestDispatcherOptions;
@@ -44,14 +40,16 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.apache.sling.scripting.sightly.impl.utils.BindingsUtils;
import org.apache.sling.scripting.sightly.render.RenderContext;
+import org.osgi.service.component.annotations.Component;
/**
* Runtime support for including resources in a HTL script through {@code
data-sly-resource}.
*/
-@Component
-@Service(RuntimeExtension.class)
-@Properties(
- @Property(name = RuntimeExtension.NAME, value =
RuntimeFunction.RESOURCE)
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.RESOURCE
+ }
)
public class ResourceRuntimeExtension implements RuntimeExtension {
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/URIManipulationFilterExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/URIManipulationFilterExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/URIManipulationFilterExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/URIManipulationFilterExtension.java
Mon Oct 10 15:39:09 2016
@@ -30,21 +30,19 @@ import java.util.Set;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
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;
import org.apache.sling.scripting.sightly.render.RuntimeObjectModel;
+import org.osgi.service.component.annotations.Component;
-@Component
-@Service(RuntimeExtension.class)
-@Properties({
- @Property(name = RuntimeExtension.NAME, value =
RuntimeFunction.URI_MANIPULATION)
-})
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.URI_MANIPULATION
+ }
+)
public class URIManipulationFilterExtension implements RuntimeExtension {
public static final String SCHEME = "scheme";
@@ -390,8 +388,8 @@ public class URIManipulationFilterExtens
String query = uri.getQuery();
if (StringUtils.isNotEmpty(query)) {
String[] keyValuePairs = query.split("&");
- for (int i = 0; i < keyValuePairs.length; i++) {
- String[] pair = keyValuePairs[i].split("=");
+ for (String keyValuePair : keyValuePairs) {
+ String[] pair = keyValuePair.split("=");
if (pair.length == 2) {
String param = pair[0];
String value = pair[1];
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/XSSRuntimeExtension.java
Mon Oct 10 15:39:09 2016
@@ -23,10 +23,6 @@ import java.util.Set;
import java.util.regex.Pattern;
import javax.script.Bindings;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.scripting.sightly.SightlyException;
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
@@ -35,20 +31,22 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.impl.utils.BindingsUtils;
import org.apache.sling.scripting.sightly.render.RenderContext;
import org.apache.sling.xss.XSSAPI;
+import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Runtime support for XSS filtering
*/
-@Component
-@Service(RuntimeExtension.class)
-@Properties(
- @Property(name = RuntimeExtension.NAME, value = RuntimeFunction.XSS)
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.XSS
+ }
)
public class XSSRuntimeExtension implements RuntimeExtension {
- private static final Set<String> elementNameWhiteList = new
HashSet<String>();
+ private static final Set<String> elementNameWhiteList = new HashSet<>();
private static final Logger LOG =
LoggerFactory.getLogger(XSSRuntimeExtension.class);
private static final Pattern VALID_ATTRIBUTE =
Pattern.compile("^[a-zA-Z_:][\\-a-zA-Z0-9_:\\.]*$");
private static final Pattern ATTRIBUTE_BLACKLIST =
Pattern.compile("^(style|(on.*))$", Pattern.CASE_INSENSITIVE);
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java
Mon Oct 10 15:39:09 2016
@@ -24,11 +24,6 @@ import java.util.regex.Pattern;
import javax.script.Bindings;
import javax.servlet.ServletRequest;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.scripting.SlingScriptHelper;
@@ -41,26 +36,41 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Java Use Provider",
- description = "The Java Use Provider is responsible for instantiating
Java Use-API objects."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider",
+ property = {
+ Constants.SERVICE_RANKING + ":Integer=90"
+ }
)
-@Service(UseProvider.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
+@Designate(
+ ocd = JavaUseProvider.Configuration.class
+)
+public class JavaUseProvider implements UseProvider {
+
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Java Use Provider
Configuration",
+ description = "HTL Java Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
- "Use-object. A higher value represents a higher
priority.",
- intValue = 90,
- propertyPrivate = false
+ "Use-object. A higher value represents a higher
priority."
)
-})
-public class JavaUseProvider implements UseProvider {
+ int service_ranking() default 90;
+
+ }
private static final Logger LOG =
LoggerFactory.getLogger(JavaUseProvider.class);
private static final Pattern JAVA_PATTERN =
Pattern.compile("([[\\p{L}&&[^\\p{Lu}]]_$][\\p{L}\\p{N}_$]*\\.)*[\\p{Lu}_$][\\p{L}\\p{N}_$]*");
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/RenderUnitProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/RenderUnitProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/RenderUnitProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/RenderUnitProvider.java
Mon Oct 10 15:39:09 2016
@@ -26,11 +26,6 @@ import javax.script.CompiledScript;
import javax.script.ScriptEngineManager;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.scripting.SlingScriptHelper;
@@ -48,27 +43,40 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
/**
* Interprets identifiers as paths to other HTL templates
*/
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Render Unit Use Provider",
- description = "The Render Unit Use Provider is responsible for
instantiating HTL templates through the Use-API."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.impl.engine.extension.use.RenderUnitProvider",
+ property = {
+ Constants.SERVICE_RANKING + ":Integer=100"
+ }
)
-@Service(UseProvider.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
+@Designate(
+ ocd = RenderUnitProvider.Configuration.class
+)
+public class RenderUnitProvider implements UseProvider {
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Render Unit Use Provider
Configuration",
+ description = "HTL Render Unit Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
- "Use-object. A higher value represents a higher
priority.",
- intValue = 100,
- propertyPrivate = false
+ "Use-object. A higher value represents a higher
priority."
)
-})
-public class RenderUnitProvider implements UseProvider {
+ int service_ranking() default 100;
+ }
@Reference
private ScriptCache scriptCache;
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ResourceUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ResourceUseProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ResourceUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ResourceUseProvider.java
Mon Oct 10 15:39:09 2016
@@ -20,10 +20,6 @@ package org.apache.sling.scripting.sight
import javax.script.Bindings;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceUtil;
@@ -32,24 +28,36 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Resource Use Provider",
- description = "The Java Use Provider is responsible for instantiating
resource objects."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.impl.engine.extension.use.ResourceUseProvider",
+ property = {
+ Constants.SERVICE_RANKING + ":Integer=-10"
+ }
)
-@Service(UseProvider.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
+@Designate(
+ ocd = ResourceUseProvider.Configuration.class
+)
+public class ResourceUseProvider implements UseProvider {
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Resource Use Provider
Configuration",
+ description = "HTL Resource Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
- "Use-object. A higher value represents a higher
priority.",
- intValue = -10,
- propertyPrivate = false
+ "Use-object. A higher value represents a higher
priority."
)
-})
-public class ResourceUseProvider implements UseProvider {
+ int service_ranking() default -10;
+ }
@Override
public ProviderOutcome provide(String identifier, RenderContext
renderContext, Bindings arguments) {
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ScriptUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ScriptUseProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ScriptUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/ScriptUseProvider.java
Mon Oct 10 15:39:09 2016
@@ -22,10 +22,6 @@ package org.apache.sling.scripting.sight
import javax.script.Bindings;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.scripting.SlingBindings;
import org.apache.sling.api.scripting.SlingScript;
@@ -36,6 +32,10 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,23 +47,32 @@ import org.slf4j.LoggerFactory;
* implementation of the {@link SlingScript#eval(SlingBindings)} method for
the available script engines from your platform.
*/
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Script Use Provider",
- description = "The Script Use Provider is responsible for
instantiating objects from scripts evaluated by other Sling Scripting " +
- "Engines."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.impl.engine.extension.use.ScriptUseProvider",
+ property = {
+ Constants.SERVICE_RANKING + ":Integer=0"
+ }
)
-@Service(UseProvider.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
+@Designate(
+ ocd = ScriptUseProvider.Configuration.class
+)
+public class ScriptUseProvider implements UseProvider {
+
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Script Use Provider
Configuration",
+ description = "HTL Script Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
- "Use-object. A higher value represents a higher
priority.",
- intValue = 0,
- propertyPrivate = false
+ "Use-object. A higher value represents a higher
priority."
)
-})
-public class ScriptUseProvider implements UseProvider {
+ int service_ranking() default 0;
+
+ }
private static final Logger log =
LoggerFactory.getLogger(ScriptUseProvider.class);
Modified:
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java
(original)
+++
sling/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java
Mon Oct 10 15:39:09 2016
@@ -27,13 +27,6 @@ import javax.script.Bindings;
import javax.script.SimpleBindings;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.scripting.sightly.SightlyException;
import org.apache.sling.scripting.sightly.compiler.RuntimeFunction;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
@@ -44,20 +37,19 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
/**
* Runtime extension for the USE plugin
*/
-@Component
-@Service(RuntimeExtension.class)
-@Properties(
- @Property(name = RuntimeExtension.NAME, value = RuntimeFunction.USE)
-)
-@Reference(
- policy = ReferencePolicy.DYNAMIC,
- referenceInterface = UseProvider.class,
- name = "useProvider",
- cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE
+@Component(
+ service = RuntimeExtension.class,
+ property = {
+ RuntimeExtension.NAME + "=" + RuntimeFunction.USE
+ }
)
public class UseRuntimeExtension implements RuntimeExtension {
@@ -89,6 +81,11 @@ public class UseRuntimeExtension impleme
}
// OSGi
################################################################################################################################
+ @Reference(
+ policy = ReferencePolicy.DYNAMIC,
+ service = UseProvider.class,
+ cardinality = ReferenceCardinality.MULTIPLE
+ )
private void bindUseProvider(ServiceReference serviceReference) {
BundleContext bundleContext =
serviceReference.getBundle().getBundleContext();
providersMap.put(serviceReference, (UseProvider)
bundleContext.getService(serviceReference));
Modified: sling/trunk/bundles/scripting/sightly/java-compiler/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/java-compiler/pom.xml?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/java-compiler/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/java-compiler/pom.xml Mon Oct 10
15:39:09 2016
@@ -58,25 +58,23 @@
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>scr-metadata</id>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
<configuration>
+ <exportScr>true</exportScr>
<instructions>
<Provide-Capability>
- io.sightly.java; version:Version=1.0,
- io.sightly.java; version:Version=1.1,
- io.sightly.java; version:Version=1.2
+ io.sightly.compiler.java; version:Version=1.0,
+ io.sightly.compiler.java; version:Version=1.1,
+ io.sightly.compiler.java; version:Version=1.2
</Provide-Capability>
</instructions>
</configuration>
@@ -120,7 +118,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>provided</scope>
</dependency>
@@ -151,23 +149,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>1.9.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
- <version>1.5.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
</project>
Modified: sling/trunk/bundles/scripting/sightly/js-use-provider/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/js-use-provider/pom.xml?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/js-use-provider/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/js-use-provider/pom.xml Mon Oct 10
15:39:09 2016
@@ -55,13 +55,18 @@
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>scr-metadata</id>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
<configuration>
+ <exportScr>true</exportScr>
<instructions>
<Sling-Bundle-Resources>/libs/sling/sightly/js;path:=/SLING-INF/libs/sling/sightly/js</Sling-Bundle-Resources>
<Require-Capability>io.sightly;
filter:="(&(version>=1.0)(!(version>=2.0)))"</Require-Capability>
@@ -116,30 +121,18 @@
<version>2.0.32</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.commons.osgi</artifactId>
- <version>2.2.0</version>
- <scope>provided</scope>
- </dependency>
<!-- HTL -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly</artifactId>
- <version>1.0.21-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
-
<artifactId>org.apache.sling.scripting.sightly.compiler</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.20</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler.java</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>provided</scope>
</dependency>
@@ -165,8 +158,7 @@
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
+ <artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
Modified:
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsUseProvider.java
Mon Oct 10 15:39:09 2016
@@ -22,13 +22,7 @@ import javax.script.Bindings;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.scripting.SlingScriptHelper;
import org.apache.sling.scripting.sightly.SightlyException;
import org.apache.sling.scripting.sightly.js.impl.async.AsyncContainer;
@@ -39,28 +33,42 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
/**
* Use provider for JavaScript Use-API objects.
*/
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL JavaScript Use Provider",
- description = "The JavaScript Use Provider is responsible for
instantiating JavaScript Use-API objects."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.js.impl.JsUseProvider",
+ property = {
+ Constants.SERVICE_RANKING + ":Integer=80"
+ }
+)
+@Designate(
+ ocd = JsUseProvider.Configuration.class
)
-@Service(UseProvider.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
- description = "The Service Ranking value acts as the
priority with which this Use Provider is queried to return an " +
- "Use-object. A higher value represents a higher
priority.",
- intValue = 80,
- propertyPrivate = false
- )
- })
public class JsUseProvider implements UseProvider {
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL JavaScript Use Provider
Configuration",
+ description = "HTL JavaScript Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
+ description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
+ "Use-object. A higher value represents a higher
priority."
+ )
+ int service_ranking() default 80;
+
+ }
+
private static final String JS_ENGINE_NAME = "javascript";
private static final JsValueAdapter jsValueAdapter = new
JsValueAdapter(new AsyncExtractor());
Modified:
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/ProxyAsyncScriptableFactory.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/ProxyAsyncScriptableFactory.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/ProxyAsyncScriptableFactory.java
(original)
+++
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/ProxyAsyncScriptableFactory.java
Mon Oct 10 15:39:09 2016
@@ -23,18 +23,18 @@ import javax.script.ScriptEngine;
import javax.script.SimpleBindings;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.scripting.sightly.js.impl.rhino.HybridObject;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
import org.mozilla.javascript.Undefined;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Component
-@Service(ProxyAsyncScriptableFactory.class)
+@Component(
+ service = ProxyAsyncScriptableFactory.class
+)
public class ProxyAsyncScriptableFactory {
private static final Logger LOGGER =
LoggerFactory.getLogger(ProxyAsyncScriptableFactory.class);
@@ -56,7 +56,7 @@ public class ProxyAsyncScriptableFactory
private String clazz;
private Bindings bindings;
- private Set<String> scriptNSUse = new HashSet<String>();
+ private Set<String> scriptNSUse = new HashSet<>();
public ShadowScriptableObject(String clazz, Bindings bindings) {
this.clazz = clazz;
Modified:
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/jsapi/SlyBindingsValuesProvider.java
Mon Oct 10 15:39:09 2016
@@ -22,7 +22,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Collections;
-import java.util.Dictionary;
import java.util.HashMap;
import java.util.Map;
import javax.script.Bindings;
@@ -32,14 +31,6 @@ import javax.script.SimpleBindings;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.PropertyUnbounded;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
@@ -62,30 +53,44 @@ import org.mozilla.javascript.Script;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Provides the {@code sightly} namespace for usage in HTL & JS scripts
called from Sightly
*/
-@Component(metatype = true, label = "Apache Sling Scripting HTL JavaScript
Bindings Provider",
- description = "The Apache Sling Scripting HTL JavaScript Bindings
Provider loads the JS Use-API and makes it available in the" +
- " bindings map.")
-@Service(SlyBindingsValuesProvider.class)
-@Properties({
- @Property(
- name =
SlyBindingsValuesProvider.SCR_PROP_JS_BINDING_IMPLEMENTATIONS,
- value = {
- "sightly:" + SlyBindingsValuesProvider.SLING_NS_PATH
- },
- unbounded = PropertyUnbounded.ARRAY,
- label = "Script Factories",
+@Component(
+ service = SlyBindingsValuesProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.js.impl.jsapi.SlyBindingsValuesProvider"
+)
+@Designate(
+ ocd = SlyBindingsValuesProvider.Configuration.class
+)
+@SuppressWarnings("unused")
+public class SlyBindingsValuesProvider {
+
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL JavaScript Use-API Factories
Configuration",
+ description = "HTL JavaScript Use-API Factories configuration
options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Script Factories",
description = "Script factories to load in the bindings map.
The entries should be in the form " +
"'namespace:/path/from/repository'."
+
)
-})
-@SuppressWarnings("unused")
-public class SlyBindingsValuesProvider {
+ String[] org_apache_sling_scripting_sightly_js_bindings() default
"sightly:" + SlyBindingsValuesProvider.SLING_NS_PATH;
+
+ }
public static final String SCR_PROP_JS_BINDING_IMPLEMENTATIONS =
"org.apache.sling.scripting.sightly.js.bindings";
@@ -144,9 +149,11 @@ public class SlyBindingsValuesProvider {
}
@Activate
- protected void activate(ComponentContext componentContext) {
- Dictionary properties = componentContext.getProperties();
- String[] factories =
PropertiesUtil.toStringArray(properties.get(SCR_PROP_JS_BINDING_IMPLEMENTATIONS),
new String[]{SLING_NS_PATH});
+ protected void activate(Configuration configuration) {
+ String[] factories = PropertiesUtil.toStringArray(
+ configuration.org_apache_sling_scripting_sightly_js_bindings(),
+ new String[]{SLING_NS_PATH}
+ );
scriptPaths = new HashMap<>(factories.length);
for (String f : factories) {
String[] parts = f.split(":");
Modified: sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml (original)
+++ sling/trunk/bundles/scripting/sightly/models-use-provider/pom.xml Mon Oct
10 15:39:09 2016
@@ -56,12 +56,22 @@
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>scr-metadata</id>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <exportScr>true</exportScr>
+ <instructions>
+ <Require-Capability>io.sightly;
filter:="(&(version>=1.0)(!(version>=2.0)))"</Require-Capability>
+ </instructions>
+ </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Modified:
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/SlingModelsUseProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/SlingModelsUseProvider.java?rev=1764122&r1=1764121&r2=1764122&view=diff
==============================================================================
---
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/SlingModelsUseProvider.java
(original)
+++
sling/trunk/bundles/scripting/sightly/models-use-provider/src/main/java/org/apache/sling/scripting/sightly/models/impl/SlingModelsUseProvider.java
Mon Oct 10 15:39:09 2016
@@ -22,11 +22,6 @@ import java.util.regex.Pattern;
import javax.script.Bindings;
import javax.servlet.ServletRequest;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.scripting.SlingBindings;
@@ -36,6 +31,11 @@ import org.apache.sling.scripting.sightl
import org.apache.sling.scripting.sightly.use.ProviderOutcome;
import org.apache.sling.scripting.sightly.use.UseProvider;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,29 +58,36 @@ import org.slf4j.LoggerFactory;
* </p>
*/
@Component(
- metatype = true,
- label = "Apache Sling Scripting HTL Sling Models Use Provider",
- description = "The Sling Models Use Provider is responsible for
instantiating Sling Models to be used with Sightly's Use-API."
+ service = UseProvider.class,
+ configurationPid =
"org.apache.sling.scripting.sightly.models.impl.SlingModelsUseProvider",
+ property = {
+ /**
+ * Must have a higher priority than {@link
org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider}
but lower
+ * than {@link
org.apache.sling.scripting.sightly.impl.engine.extension.use.RenderUnitProvider}
to kick in before the
+ * JavaUseProvider but after the RenderUnitProvider.
+ */
+ Constants.SERVICE_RANKING + ":Integer=95"
+ }
+)
+@Designate(
+ ocd = SlingModelsUseProvider.Configuration.class
)
-@Service
-@Properties({
- @Property(
- name = Constants.SERVICE_RANKING,
- label = "Service Ranking",
- description =
- "The Service Ranking value acts as the priority with which this
Use Provider is queried to return an Use-object. A higher " +
- "value represents a higher priority.",
- /**
- * Must have a higher priority than {@link
org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider}
but lower
- * than {@link
org.apache.sling.scripting.sightly.impl.engine.extension.use.RenderUnitProvider}
to kick in before the
- * JavaUseProvider but after the RenderUnitProvider.
- */
- intValue = 95,
- propertyPrivate = false
- )
-})
public class SlingModelsUseProvider implements UseProvider {
+ @ObjectClassDefinition(
+ name = "Apache Sling Scripting HTL Sling Models Use Provider
Configuration",
+ description = "HTL Sling Models Use Provider configuration options"
+ )
+ @interface Configuration {
+
+ @AttributeDefinition(
+ name = "Service Ranking",
+ description = "The Service Ranking value acts as the priority
with which this Use Provider is queried to return an " +
+ "Use-object. A higher value represents a higher
priority."
+ )
+ int service_ranking() default 95;
+ }
+
private static final Logger LOGGER =
LoggerFactory.getLogger(SlingModelsUseProvider.class);
private static final Pattern JAVA_PATTERN = Pattern.compile(
"([[\\p{L}&&[^\\p{Lu}]]_$][\\p{L}\\p{N}_$]*\\.)*[\\p{Lu}_$][\\p{L}\\p{N}_$]*");
@@ -145,7 +152,7 @@ public class SlingModelsUseProvider impl
}
private Map<String, Object> setRequestAttributes(final ServletRequest
request, final Bindings arguments) {
- Map<String, Object> overrides = new HashMap<String, Object>();
+ Map<String, Object> overrides = new HashMap<>();
for (Map.Entry<String, Object> entry : arguments.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();