You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ol...@apache.org on 2017/03/28 11:58:59 UTC
svn commit: r1789102 - in /sling/trunk/bundles/scripting/core: ./
src/main/java/org/apache/sling/scripting/core/impl/
Author: olli
Date: Tue Mar 28 11:58:59 2017
New Revision: 1789102
URL: http://svn.apache.org/viewvc?rev=1789102&view=rev
Log:
SLING-6737 Migrate to OSGi R6 annotations
Added:
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImplConfiguration.java
Modified:
sling/trunk/bundles/scripting/core/pom.xml
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheConsolePlugin.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImpl.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingBindingsVariablesListJsonServlet.java
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java
Modified: sling/trunk/bundles/scripting/core/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/pom.xml?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/pom.xml (original)
+++ sling/trunk/bundles/scripting/core/pom.xml Tue Mar 28 11:58:59 2017
@@ -52,10 +52,6 @@
<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>
<configuration>
@@ -162,10 +158,6 @@
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.scr.annotations</artifactId>
<scope>provided</scope>
</dependency>
<!-- for serializing to JSON, must be after osgi.core to make Maven use the correct osgi.core version -->
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java Tue Mar 28 11:58:59 2017
@@ -31,12 +31,6 @@ import java.util.Map;
import javax.script.ScriptEngineFactory;
-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.Reference;
-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.api.BindingsValuesProvider;
import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
@@ -45,6 +39,11 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
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.component.annotations.ReferencePolicy;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.util.tracker.ServiceTracker;
@@ -53,8 +52,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** Our default {@link BindingsValuesProvidersByContext} implementation */
-@Component
-@Service(BindingsValuesProvidersByContext.class)
+@Component(
+ service = BindingsValuesProvidersByContext.class
+)
public class BindingsValuesProvidersByContextImpl implements BindingsValuesProvidersByContext, ServiceTrackerCustomizer {
private final Map<String, ContextBvpCollector> customizers = new HashMap<String, ContextBvpCollector>();
@@ -73,7 +73,9 @@ public class BindingsValuesProvidersByCo
@Reference
private SlingScriptEngineManager scriptEngineManager;
- @Reference(policy = ReferencePolicy.DYNAMIC)
+ @Reference(
+ policy = ReferencePolicy.DYNAMIC
+ )
private volatile EventAdmin eventAdmin;
private abstract class ContextLoop {
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheConsolePlugin.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheConsolePlugin.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheConsolePlugin.java Tue Mar 28 11:58:59 2017
@@ -29,27 +29,23 @@ import javax.servlet.http.HttpServletRes
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.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.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.scripting.api.ScriptCache;
import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
-@Component
-@Service
-@Properties({
- @Property(name = Constants.SERVICE_DESCRIPTION, value = "Script Cache"),
- @Property(name = Constants.SERVICE_VENDOR, value = "The Apache Software Foundation"),
- @Property(name = WebConsoleConstants.PLUGIN_LABEL, value = ScriptCacheConsolePlugin.CONSOLE_LABEL),
- @Property(name = WebConsoleConstants.PLUGIN_TITLE, value = ScriptCacheConsolePlugin.CONSOLE_TITLE),
- @Property(name = "felix.webconsole.category", value = "Sling")
-})
+@Component(
+ property = {
+ Constants.SERVICE_DESCRIPTION + "=Script Cache",
+ Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+ WebConsoleConstants.PLUGIN_LABEL + "=" + ScriptCacheConsolePlugin.CONSOLE_LABEL,
+ WebConsoleConstants.PLUGIN_TITLE + "=" + ScriptCacheConsolePlugin.CONSOLE_TITLE,
+ "felix.webconsole.category=sling"
+ })
public class ScriptCacheConsolePlugin extends AbstractWebConsolePlugin {
public static final String CONSOLE_LABEL = "scriptcache";
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImpl.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImpl.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImpl.java Tue Mar 28 11:58:59 2017
@@ -35,16 +35,6 @@ import javax.script.Compilable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
-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.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
@@ -52,7 +42,6 @@ import org.apache.sling.api.resource.obs
import org.apache.sling.api.resource.observation.ResourceChange;
import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
import org.apache.sling.api.resource.observation.ResourceChangeListener;
-import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.commons.threads.ThreadPool;
import org.apache.sling.commons.threads.ThreadPoolManager;
import org.apache.sling.scripting.api.CachedScript;
@@ -62,37 +51,27 @@ import org.apache.sling.serviceusermappi
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
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.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+import org.osgi.service.metatype.annotations.Designate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component(
- metatype = true,
- label = "Apache Sling Script Cache",
- description = "The Script Cache is useful for running previously compiled scripts."
-)
-@Properties({
- @Property(
- name = ScriptCacheImpl.PROP_CACHE_SIZE,
- intValue = ScriptCacheImpl.DEFAULT_CACHE_SIZE,
- label = "Cache Size",
- description = "The Cache Size defines the maximum number of compiled script references that will be stored in the cache's" +
- " internal map."
- ),
- @Property(
- name = ScriptCacheImpl.PROP_ADDITIONAL_EXTENSIONS,
- value = "",
- label = "Additional Extensions",
- description = "Scripts from the search paths with these extensions will also be monitored so that changes to them will " +
- "clean the cache if the cache contains them.",
- unbounded = PropertyUnbounded.ARRAY
- )
-})
-@Service(ScriptCache.class)
-@Reference(
- name = "scriptEngineFactory",
- cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
- referenceInterface = ScriptEngineFactory.class,
+ service = ScriptCache.class,
+ reference = @Reference(
+ name = "ScriptEngineFactory",
+ service = ScriptEngineFactory.class,
+ cardinality = ReferenceCardinality.OPTIONAL,
policy = ReferencePolicy.DYNAMIC
+ )
+)
+@Designate(
+ ocd = ScriptCacheImplConfiguration.class
)
/**
* The {@code ScriptCache} stores information about {@link CompiledScript} instances evaluated by various {@link ScriptEngine}s that
@@ -103,8 +82,6 @@ public class ScriptCacheImpl implements
private static final Logger LOGGER = LoggerFactory.getLogger(ScriptCacheImpl.class);
public static final int DEFAULT_CACHE_SIZE = 65536;
- public static final String PROP_CACHE_SIZE = "org.apache.sling.scripting.cache.size";
- public static final String PROP_ADDITIONAL_EXTENSIONS = "org.apache.sling.scripting.cache.additional_extensions";
private BundleContext bundleContext;
private Map<String, SoftReference<CachedScript>> internalMap;
@@ -114,7 +91,9 @@ public class ScriptCacheImpl implements
private String[] searchPaths = {};
// use a static policy so that we can reconfigure the watched script files if the search paths are changed
- @Reference(policy = ReferencePolicy.STATIC)
+ @Reference(
+ policy = ReferencePolicy.STATIC
+ )
private ResourceResolverFactory rrf = null;
@Reference
@@ -232,12 +211,12 @@ public class ScriptCacheImpl implements
@Activate
@SuppressWarnings("unused")
- protected void activate(ComponentContext componentContext) {
+ protected void activate(ScriptCacheImplConfiguration configuration, ComponentContext componentContext) {
threadPool = threadPoolManager.get("Script Cache Thread Pool");
bundleContext = componentContext.getBundleContext();
Dictionary properties = componentContext.getProperties();
- additionalExtensions = PropertiesUtil.toStringArray(properties.get(PROP_ADDITIONAL_EXTENSIONS));
- int newMaxCacheSize = PropertiesUtil.toInteger(properties.get(PROP_CACHE_SIZE), DEFAULT_CACHE_SIZE);
+ additionalExtensions = configuration.org_apache_sling_scripting_cache_additional__extensions();
+ int newMaxCacheSize = configuration.org_apache_sling_scripting_cache_size();
if (newMaxCacheSize != DEFAULT_CACHE_SIZE) {
// change the map only if there's a configuration change regarding the cache's max size
CachingMap<CachedScript> newMap = new CachingMap<>(newMaxCacheSize);
Added: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImplConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImplConfiguration.java?rev=1789102&view=auto
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImplConfiguration.java (added)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptCacheImplConfiguration.java Tue Mar 28 11:58:59 2017
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.scripting.core.impl;
+
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
+
+import static org.apache.sling.scripting.core.impl.ScriptCacheImpl.DEFAULT_CACHE_SIZE;
+
+@ObjectClassDefinition(
+ name = "Apache Sling Script Cache",
+ description = "The Script Cache is useful for running previously compiled scripts."
+)
+@interface ScriptCacheImplConfiguration {
+
+ @AttributeDefinition(
+ name = "Cache Size",
+ description = "The Cache Size defines the maximum number of compiled script references that will be stored in the cache's internal map."
+ )
+ int org_apache_sling_scripting_cache_size() default DEFAULT_CACHE_SIZE;
+
+ @AttributeDefinition(
+ name = "Additional Extensions",
+ description = "Scripts from the search paths with these extensions will also be monitored so that changes to them will clean the cache if the cache contains them."
+
+ )
+ String[] org_apache_sling_scripting_cache_additional__extensions() default {};
+
+}
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptEngineManagerFactory.java Tue Mar 28 11:58:59 2017
@@ -32,10 +32,6 @@ import java.util.Set;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
-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.sling.api.scripting.SlingScriptConstants;
import org.apache.sling.scripting.core.impl.helper.ProxyScriptEngineManager;
import org.apache.sling.scripting.core.impl.helper.SlingScriptEngineManager;
@@ -45,6 +41,10 @@ import org.osgi.framework.BundleEvent;
import org.osgi.framework.BundleListener;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
+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;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.util.tracker.ServiceTracker;
@@ -55,9 +55,14 @@ import org.slf4j.LoggerFactory;
* Component which exposes a ScriptEngineManager service.
*
*/
-@Component(metatype=false, immediate=true, specVersion="1.1")
-@Reference(name="ScriptEngineFactory", referenceInterface=ScriptEngineFactory.class,
- policy=ReferencePolicy.DYNAMIC, cardinality=ReferenceCardinality.OPTIONAL_MULTIPLE)
+@Component(
+ reference = @Reference(
+ name = "ScriptEngineFactory",
+ service = ScriptEngineFactory.class,
+ policy = ReferencePolicy.DYNAMIC,
+ cardinality = ReferenceCardinality.OPTIONAL
+ )
+)
public class ScriptEngineManagerFactory implements BundleListener {
private final Logger log = LoggerFactory.getLogger(ScriptEngineManagerFactory.class);
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/ScriptingVariablesConsolePlugin.java Tue Mar 28 11:58:59 2017
@@ -25,24 +25,21 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-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.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
/**
* Web Console Plugin exposing all binding provider values.
*/
-@Component
-@Service
-@Properties({
- @Property(name = WebConsoleConstants.PLUGIN_LABEL, value = ScriptingVariablesConsolePlugin.LABEL),
- @Property(name = WebConsoleConstants.PLUGIN_TITLE, value = ScriptingVariablesConsolePlugin.TITLE),
- @Property(name = "felix.webconsole.category", value = "Sling")
-})
+@Component(
+ property = {
+ WebConsoleConstants.PLUGIN_LABEL + "=" + ScriptingVariablesConsolePlugin.LABEL,
+ WebConsoleConstants.PLUGIN_TITLE + "=" + ScriptingVariablesConsolePlugin.TITLE,
+ "felix.webconsole.category=sling"
+ }
+)
public class ScriptingVariablesConsolePlugin extends AbstractWebConsolePlugin {
protected static final String LABEL = "scriptingvariables";
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingBindingsVariablesListJsonServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingBindingsVariablesListJsonServlet.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingBindingsVariablesListJsonServlet.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingBindingsVariablesListJsonServlet.java Tue Mar 28 11:58:59 2017
@@ -24,12 +24,10 @@ import javax.script.Bindings;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
+import javax.servlet.Servlet;
import javax.servlet.ServletException;
import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.sling.SlingServlet;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.NonExistingResource;
@@ -42,6 +40,9 @@ import org.apache.sling.scripting.api.Bi
import org.apache.felix.utils.json.JSONWriter;
import org.osgi.framework.BundleContext;
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.Reference;
/**
* Return all scripting variables for all registered scripting languages for the default context (=request).
@@ -49,11 +50,14 @@ import org.osgi.service.component.Compon
* Also the context (i.e. the resource on which the request is acting) is important,
* because the actual binding variables might differ depending on the context
*/
-@SlingServlet(
- resourceTypes = "sling/servlet/default",
- selectors = "SLING_availablebindings",
- methods = "GET",
- extensions = "json"
+@Component(
+ service = Servlet.class,
+ property = {
+ "sling.servlet.resourceTypes=sling/servlet/default",
+ "sling.servlet.selectors=SLING_availablebindings",
+ "sling.servlet.methods=GET",
+ "sling.servlet.extensions=json"
+ }
)
public class SlingBindingsVariablesListJsonServlet extends SlingSafeMethodsServlet {
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java?rev=1789102&r1=1789101&r2=1789102&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/SlingScriptAdapterFactory.java Tue Mar 28 11:58:59 2017
@@ -21,11 +21,6 @@ import java.util.List;
import javax.script.ScriptEngine;
-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.adapter.AdapterFactory;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.commons.mime.MimeTypeProvider;
@@ -35,21 +30,27 @@ import org.apache.sling.scripting.api.Sc
import org.apache.sling.scripting.core.impl.helper.SlingScriptEngineManager;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
/**
* AdapterFactory that adapts Resources to the DefaultSlingScript servlet, which
* executes the Resources as scripts.
*/
-@Component(metatype=false, immediate=true)
-@Service({AdapterFactory.class, MimeTypeProvider.class})
-@Properties({
- @Property(name="service.vendor", value="The Apache Software Foundation"),
- @Property(name="service.description", value="Default SlingScriptResolver"),
- @Property(name="adaptables", value="org.apache.sling.api.resource.Resource"),
- @Property(name="adapters", value={"org.apache.sling.api.scripting.SlingScript",
- "javax.servlet.Servlet"}),
- @Property(name="adapter.condition", value="If the resource's path ends in an extension registered by a script engine.")
-})
+@Component(
+ service = {
+ AdapterFactory.class,
+ MimeTypeProvider.class
+ },
+ property = {
+ "service.vendor=The Apache Software Foundation",
+ "service.description=Default SlingScriptResolver",
+ "adaptables=org.apache.sling.api.resource.Resource",
+ "adapters=org.apache.sling.api.scripting.SlingScript",
+ "adapters=javax.servlet.Servlet",
+ "adapter.condition=If the resource's path ends in an extension registered by a script engine."
+ }
+)
public class SlingScriptAdapterFactory implements AdapterFactory, MimeTypeProvider {
private BundleContext bundleContext;