[jboss-cvs] JBossAS SVN: r95472 - in projects/jboss-osgi/trunk: reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint and 18 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Oct 23 05:56:57 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-10-23 05:56:57 -0400 (Fri, 23 Oct 2009)
New Revision: 95472
Added:
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/InterceptorTestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/EndpointServlet.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/HttpMetadata.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/InterceptorActivator.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/ParserInterceptor.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/PublisherInterceptor.java
projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/
projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor-bundle.bnd
projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor.bnd
projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/http-metadata.properties
Modified:
projects/jboss-osgi/trunk/reactor/blueprint/impl/pom.xml
projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/BlueprintContext.java
projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java
projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/extender/BlueprintContextImpl.java
projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java
projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/interceptor/AbstractLifecycleInterceptorService.java
projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java
projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/OSGiRuntime.java
projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java
projects/jboss-osgi/trunk/testsuite/example/pom.xml
projects/jboss-osgi/trunk/testsuite/example/scripts/antrun-test-jars.xml
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppExtenderTestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppInterceptorTestCase.java
Log:
Add interceptor example
Modified: projects/jboss-osgi/trunk/reactor/blueprint/impl/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/reactor/blueprint/impl/pom.xml 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/blueprint/impl/pom.xml 2009-10-23 09:56:57 UTC (rev 95472)
@@ -92,6 +92,7 @@
org.osgi.service.blueprint.reflect;version=1.0,
org.osgi.service.log;version=1.3,
org.osgi.util.tracker;version=1.4,
+ org.slf4j;version="[1.5,2.0)",
org.w3c.dom,
org.xml.sax,
</Import-Package>
Modified: projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/BlueprintContext.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/BlueprintContext.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/BlueprintContext.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -25,7 +25,6 @@
import org.jboss.osgi.blueprint.parser.BlueprintParser;
import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
/**
* The context of the Blueprint implementation
@@ -37,8 +36,6 @@
{
String XMLNS_BLUEPRINT = "http://www.osgi.org/xmlns/blueprint/v1.0.0";
- LogService getLog();
-
BundleContext getBundleContext();
BlueprintParser getBlueprintParser();
Modified: projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/container/AbstractManager.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -34,7 +34,8 @@
import org.osgi.framework.ServiceReference;
import org.osgi.service.blueprint.container.BlueprintContainer;
import org.osgi.service.blueprint.reflect.ComponentMetadata;
-import org.osgi.service.log.LogService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* For each of the ComponentMetadata objects, the Blueprint Container has a
@@ -51,7 +52,7 @@
*/
public abstract class AbstractManager
{
- protected LogService log;
+ protected Logger log = LoggerFactory.getLogger(getClass());
protected BlueprintContext context;
protected BlueprintContainer container;
@@ -59,7 +60,6 @@
public AbstractManager(BlueprintContext context, BlueprintContainer container, ComponentMetadata component)
{
- this.log = context.getLog();
this.context = context;
this.container = container;
this.component = component;
@@ -82,17 +82,17 @@
public void install()
{
- log.log(LogService.LOG_DEBUG, "install: " + component);
+ log.debug("install: " + component);
}
public void activate()
{
- log.log(LogService.LOG_DEBUG, "activate: " + component);
+ log.debug("activate: " + component);
}
public void shutdown()
{
- log.log(LogService.LOG_DEBUG, "shutdown: " + component);
+ log.debug("shutdown: " + component);
}
public Object getTargetBean()
@@ -111,7 +111,7 @@
try
{
KernelControllerContext ctrlContext = getKernelController().install(kernelBean);
- log.log(LogService.LOG_DEBUG, "installed: " + ctrlContext);
+ log.debug("installed: " + ctrlContext);
return ctrlContext;
}
catch (RuntimeException rte)
@@ -127,7 +127,7 @@
protected void uninstallKernelBean(BeanMetaData kernelBean)
{
getKernelController().uninstall(kernelBean.getName());
- log.log(LogService.LOG_DEBUG, "uninstalled: " + kernelBean.getName());
+ log.debug("uninstalled: " + kernelBean.getName());
}
protected KernelController getKernelController()
Modified: projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/extender/BlueprintContextImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/extender/BlueprintContextImpl.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/extender/BlueprintContextImpl.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -25,9 +25,7 @@
import org.jboss.osgi.blueprint.BlueprintContext;
import org.jboss.osgi.blueprint.parser.BlueprintParser;
-import org.jboss.osgi.common.log.LogServiceTracker;
import org.osgi.framework.BundleContext;
-import org.osgi.service.log.LogService;
/**
* The context of the Blueprint implementation
@@ -39,23 +37,16 @@
{
public static final String XMLNS_BLUEPRINT = "http://www.osgi.org/xmlns/blueprint/v1.0.0";
- private LogService log;
private BundleContext context;
private BlueprintParser parser;
public BlueprintContextImpl(BundleContext context)
{
- this.log = new LogServiceTracker(context);
this.context = context;
this.parser = new BlueprintParser(this);
}
- public LogService getLog()
- {
- return log;
- }
-
public BundleContext getBundleContext()
{
return context;
Modified: projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/blueprint/impl/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -30,7 +30,8 @@
import org.jboss.osgi.blueprint.parser.xb.TBlueprint;
import org.jboss.osgi.blueprint.reflect.BlueprintMetadata;
import org.osgi.framework.Bundle;
-import org.osgi.service.log.LogService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
//$Id$
@@ -42,13 +43,14 @@
*/
public class BlueprintParser
{
- private LogService log;
+ // Provide Logging
+ private Logger log = LoggerFactory.getLogger(BlueprintParser.class);
+
private BlueprintContext context;
private JBossXBParser parser;
public BlueprintParser(BlueprintContext context)
{
- this.log = context.getLog();
this.context = context;
this.parser = new SchemaResolverParser(context);
@@ -67,7 +69,7 @@
String descriptorPaths = (String)bundle.getHeaders().get(HEADER_BUNDLE_BLUEPRINT);
if (descriptorPaths != null)
{
- log.log(LogService.LOG_INFO, HEADER_BUNDLE_BLUEPRINT + ": " + descriptorPaths + " in bundle: " + bundle);
+ log.info(HEADER_BUNDLE_BLUEPRINT + ": " + descriptorPaths + " in bundle: " + bundle);
String[] descritors = descriptorPaths.split(", ");
for (String descriptor : descritors)
Modified: projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/interceptor/AbstractLifecycleInterceptorService.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/interceptor/AbstractLifecycleInterceptorService.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/interceptor/AbstractLifecycleInterceptorService.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -34,6 +34,7 @@
import org.jboss.osgi.deployment.internal.InterceptorWrapper;
import org.jboss.osgi.spi.util.ConstantsHelper;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
import org.osgi.framework.Version;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,10 +49,23 @@
{
// Provide logging
private Logger log = LoggerFactory.getLogger(AbstractLifecycleInterceptorService.class);
+
+ // The system bundle context
+ private BundleContext context;
// The interceptor chain
private List<LifecycleInterceptor> interceptorChain = new ArrayList<LifecycleInterceptor>();
+ protected AbstractLifecycleInterceptorService(BundleContext context)
+ {
+ this.context = context;
+ }
+
+ public BundleContext getBundleContext()
+ {
+ return context;
+ }
+
/**
* Add a LifecycleInterceptor to the service.
*
@@ -212,6 +226,11 @@
if (attBundle == null)
dep.addAttachment(Bundle.class, bundle);
+ // Attach the bundle context if not already done so
+ BundleContext attBundleContext = dep.getAttachment(BundleContext.class);
+ if (attBundleContext == null)
+ dep.addAttachment(BundleContext.class, context);
+
// Call the interceptor chain
for (LifecycleInterceptor aux : interceptorChain)
{
Modified: projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -41,11 +41,9 @@
*/
public class LifecycleInterceptorServiceImpl extends AbstractLifecycleInterceptorService
{
- private BundleContext context;
-
public LifecycleInterceptorServiceImpl(BundleContext context)
{
- this.context = context;
+ super(context);
}
@Override
@@ -63,10 +61,10 @@
private DeploymentRegistryService getDeploymentRegistryService()
{
- ServiceReference sref = context.getServiceReference(DeploymentRegistryService.class.getName());
+ ServiceReference sref = getBundleContext().getServiceReference(DeploymentRegistryService.class.getName());
if (sref == null)
throw new IllegalStateException("Cannot obtain deployment registry service");
- return (DeploymentRegistryService)context.getService(sref);
+ return (DeploymentRegistryService)getBundleContext().getService(sref);
}
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -62,7 +62,7 @@
public void startService()
{
final BundleContext context = getSystemContext();
- delegate = new AbstractLifecycleInterceptorService()
+ delegate = new AbstractLifecycleInterceptorService(context)
{
protected Deployment getDeployment(String name, Version version)
{
Modified: projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/OSGiRuntime.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/OSGiRuntime.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/OSGiRuntime.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -96,6 +96,15 @@
OSGiServiceReference getServiceReference(String clazz);
/**
+ * Returns a ServiceReference object for a service that implements and was registered
+ * under the specified class.
+ *
+ * @param timeout the timeout to wait for the service to become available
+ * @return A ServiceReference object, or null if no services are registered which implement the named class.
+ */
+ OSGiServiceReference getServiceReference(String clazz, long timeout);
+
+ /**
* Returns an array of ServiceReference objects.
* The returned array of ServiceReference objects contains services that were registered under the specified
* class and match the specified filter criteria.
Modified: projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/reactor/testing/src/main/java/org/jboss/osgi/testing/internal/OSGiRuntimeImpl.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -195,6 +195,26 @@
return bundle;
}
+ public OSGiServiceReference getServiceReference(String clazz, long timeout)
+ {
+ int fraktion = 200;
+ timeout = timeout/fraktion;
+ OSGiServiceReference sref = getServiceReference(clazz);
+ while (sref == null && 0 < timeout--)
+ {
+ try
+ {
+ Thread.sleep(fraktion);
+ }
+ catch (InterruptedException e)
+ {
+ // ignore
+ }
+ sref = getServiceReference(clazz);
+ }
+ return sref;
+ }
+
protected OSGiBundle getBundle(String symbolicName, Version version, boolean mustExist)
{
OSGiBundle bundle = null;
Modified: projects/jboss-osgi/trunk/testsuite/example/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/pom.xml 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/testsuite/example/pom.xml 2009-10-23 09:56:57 UTC (rev 95472)
@@ -237,6 +237,7 @@
<configuration>
<excludes>
<exclude>${target.container.excludes}</exclude>
+ <exclude>org/jboss/test/osgi/example/interceptor/**</exclude>
<exclude>org/jboss/test/osgi/example/webapp/WebAppInterceptorTestCase.class</exclude>
</excludes>
</configuration>
Modified: projects/jboss-osgi/trunk/testsuite/example/scripts/antrun-test-jars.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/scripts/antrun-test-jars.xml 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/testsuite/example/scripts/antrun-test-jars.xml 2009-10-23 09:56:57 UTC (rev 95472)
@@ -48,6 +48,10 @@
<!-- http -->
<bnd classpath="${tests.classes.dir}" output="${tests.output.dir}/test-libs/example-http.jar" files="${tests.resources.dir}/http/example-http.bnd" />
+ <!-- interceptor -->
+ <bnd classpath="${tests.classes.dir}" output="${tests.output.dir}/test-libs/example-interceptor.jar" files="${tests.resources.dir}/interceptor/example-interceptor.bnd" />
+ <bnd classpath="${tests.classes.dir}" output="${tests.output.dir}/test-libs/example-interceptor-bundle.jar" files="${tests.resources.dir}/interceptor/example-interceptor-bundle.bnd" />
+
<!-- jmx -->
<bnd classpath="${tests.classes.dir}" output="${tests.output.dir}/test-libs/example-jmx.jar" files="${tests.resources.dir}/jmx/example-jmx.bnd" />
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -31,7 +31,6 @@
import java.net.URL;
import org.jboss.osgi.spi.capability.HttpServiceCapability;
-import org.jboss.osgi.testing.OSGiBundle;
import org.jboss.osgi.testing.OSGiRuntime;
import org.jboss.osgi.testing.OSGiServiceReference;
import org.jboss.osgi.testing.OSGiTestHelper;
@@ -57,18 +56,10 @@
runtime.addCapability(new HttpServiceCapability());
// Allow 10s for the HttpService to become available
- long timeout = 50;
- OSGiServiceReference sref = runtime.getServiceReference(HttpService.class.getName());
- while (sref == null && 0 < timeout--)
- {
- Thread.sleep(200);
- sref = runtime.getServiceReference(HttpService.class.getName());
- }
-
+ OSGiServiceReference sref = runtime.getServiceReference(HttpService.class.getName(), 10000);
assertNotNull("HttpService not null", sref);
- OSGiBundle bundle = runtime.installBundle("example-http.jar");
- bundle.start();
+ runtime.installBundle("example-http.jar").start();
}
@AfterClass
@@ -81,40 +72,42 @@
@Test
public void testServletAccess() throws Exception
{
- URL url = new URL("http://" + runtime.getServerHost() + ":8090/servlet?test=plain");
- BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- assertEquals("Hello from Servlet", br.readLine());
+ String line = getHttpResponse("/servlet?test=plain");
+ assertEquals("Hello from Servlet", line);
}
@Test
public void testServletInitProps() throws Exception
{
- URL url = new URL("http://" + runtime.getServerHost() + ":8090/servlet?test=initProp");
- BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- assertEquals("initProp=SomeValue", br.readLine());
+ String line = getHttpResponse("/servlet?test=initProp");
+ assertEquals("initProp=SomeValue", line);
}
@Test
public void testServletBundleContext() throws Exception
{
- URL url = new URL("http://" + runtime.getServerHost() + ":8090/servlet?test=context");
- BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- assertEquals("example-http", br.readLine());
+ String line = getHttpResponse("/servlet?test=context");
+ assertEquals("example-http", line);
}
@Test
public void testServletStartLevel() throws Exception
{
- URL url = new URL("http://" + runtime.getServerHost() + ":8090/servlet?test=startLevel");
- BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- assertEquals("startLevel=1", br.readLine());
+ String line = getHttpResponse("/servlet?test=startLevel");
+ assertEquals("startLevel=1", line);
}
@Test
public void testResourceAccess() throws Exception
{
- URL url = new URL("http://" + runtime.getServerHost() + ":8090/file/message.txt");
+ String line = getHttpResponse("/file/message.txt");
+ assertEquals("Hello from Resource", line);
+ }
+
+ private String getHttpResponse(String reqPath) throws Exception
+ {
+ URL url = new URL("http://" + runtime.getServerHost() + ":8090" + reqPath);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- assertEquals("Hello from Resource", br.readLine());
+ return br.readLine();
}
}
\ No newline at end of file
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/InterceptorTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/InterceptorTestCase.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/InterceptorTestCase.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor;
+
+//$Id$
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.URL;
+
+import org.jboss.osgi.spi.capability.HttpServiceCapability;
+import org.jboss.osgi.testing.OSGiRuntime;
+import org.jboss.osgi.testing.OSGiServiceReference;
+import org.jboss.osgi.testing.OSGiTestHelper;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.service.http.HttpService;
+
+/**
+ * A test that deployes a bundle that contains some metadata and an interceptor bundle
+ * that processes the metadata and registeres an http endpoint from it.
+ *
+ * The idea is that the bundle does not process its own metadata. Instead this work
+ * is delegated to some specialized metadata processor (i.e. the interceptor)
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 23-Oct-2009
+ */
+public class InterceptorTestCase
+{
+ private static OSGiRuntime runtime;
+
+ @BeforeClass
+ public static void setUpClass() throws Exception
+ {
+ runtime = new OSGiTestHelper().getDefaultRuntime();
+ runtime.addCapability(new HttpServiceCapability());
+
+ // Allow 10s for the HttpService to become available
+ OSGiServiceReference sref = runtime.getServiceReference(HttpService.class.getName(), 10000);
+ assertNotNull("HttpService not null", sref);
+
+ runtime.installBundle("example-interceptor.jar").start();
+ runtime.installBundle("example-interceptor-bundle.jar").start();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception
+ {
+ runtime.shutdown();
+ runtime = null;
+ }
+
+ @Test
+ public void testServletAccess() throws Exception
+ {
+ String line = getHttpResponse("/servlet");
+ assertEquals("Hello from Servlet", line);
+ }
+
+ private String getHttpResponse(String reqPath) throws Exception
+ {
+ URL url = new URL("http://" + runtime.getServerHost() + ":8090" + reqPath);
+ BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
+ return br.readLine();
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/InterceptorTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/EndpointServlet.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/EndpointServlet.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/EndpointServlet.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor.endpoint;
+
+//$Id$
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+ at SuppressWarnings("serial")
+public class EndpointServlet extends HttpServlet
+{
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
+ {
+ PrintWriter out = res.getWriter();
+
+ out.println("Hello from Servlet");
+
+ out.close();
+ }
+}
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/endpoint/EndpointServlet.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/HttpMetadata.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/HttpMetadata.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/HttpMetadata.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor.processor;
+
+//$Id$
+
+
+/**
+ * Metadata the represent an Http endpoint
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 23-Oct-2009
+ */
+public class HttpMetadata
+{
+ private String servletName;
+
+ HttpMetadata(String servletName)
+ {
+ this.servletName = servletName;
+ }
+
+ public String getServletName()
+ {
+ return servletName;
+ }
+}
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/HttpMetadata.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/InterceptorActivator.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/InterceptorActivator.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/InterceptorActivator.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor.processor;
+
+//$Id$
+
+import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorService;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Registers the interceptors with the {@link LifecycleInterceptorService}
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 20-Oct-2009
+ */
+public class InterceptorActivator implements BundleActivator
+{
+ private LifecycleInterceptorService service;
+ private PublisherInterceptor publisher;
+ private ParserInterceptor parser;
+
+ public void start(BundleContext context)
+ {
+ publisher = new PublisherInterceptor();
+ parser = new ParserInterceptor();
+
+ // This is a system service, which should always be available
+ ServiceReference sref = context.getServiceReference(LifecycleInterceptorService.class.getName());
+ if (sref == null)
+ throw new IllegalStateException("Required LifecycleInterceptorService not available");
+
+ // Add the interceptors, the order of which is handles by the service
+ service = (LifecycleInterceptorService)context.getService(sref);
+ service.addInterceptor(publisher);
+ service.addInterceptor(parser);
+ }
+
+ public void stop(BundleContext context)
+ {
+ service.removeInterceptor(publisher);
+ service.removeInterceptor(parser);
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/InterceptorActivator.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/ParserInterceptor.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/ParserInterceptor.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/ParserInterceptor.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor.processor;
+
+//$Id$
+
+import java.io.IOException;
+import java.util.Properties;
+
+import org.jboss.osgi.deployment.common.Deployment;
+import org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptor;
+import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorException;
+import org.jboss.virtual.VirtualFile;
+import org.osgi.framework.Bundle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An interceptor that creates and attaches HttpMetadata.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 23-Oct-2009
+ */
+public class ParserInterceptor extends AbstractLifecycleInterceptor
+{
+ // Provide logging
+ private Logger log = LoggerFactory.getLogger(ParserInterceptor.class);
+
+ public void invoke(int state, Deployment dep) throws LifecycleInterceptorException
+ {
+ HttpMetadata metadata = dep.getAttachment(HttpMetadata.class);
+ if (metadata == null && state == Bundle.STARTING)
+ {
+ try
+ {
+ VirtualFile propsFile = dep.getRoot().getChild("/http-metadata.properties");
+ if (propsFile != null)
+ {
+ log.info("Create and attach HttpMetadata");
+ Properties props = new Properties();
+ props.load(propsFile.openStream());
+ metadata = new HttpMetadata(props.getProperty("servlet.name"));
+ dep.addAttachment(HttpMetadata.class, metadata);
+ }
+ }
+ catch (IOException ex)
+ {
+ throw new LifecycleInterceptorException("Cannot parse metadata", ex);
+ }
+ }
+ }
+}
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/ParserInterceptor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/PublisherInterceptor.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/PublisherInterceptor.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/PublisherInterceptor.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.example.interceptor.processor;
+
+//$Id$
+
+import javax.servlet.http.HttpServlet;
+
+import org.jboss.osgi.deployment.common.Deployment;
+import org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptor;
+import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorException;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.http.HttpService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An interceptor that publishes HttpMetadata.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 23-Oct-2009
+ */
+public class PublisherInterceptor extends AbstractLifecycleInterceptor
+{
+ // Provide logging
+ private Logger log = LoggerFactory.getLogger(PublisherInterceptor.class);
+
+ PublisherInterceptor()
+ {
+ // Add the required input
+ addInput(HttpMetadata.class);
+ }
+
+ public void invoke(int state, Deployment dep) throws LifecycleInterceptorException
+ {
+ if (state == Bundle.STARTING)
+ {
+ HttpMetadata metadata = dep.getAttachment(HttpMetadata.class);
+ String servletName = metadata.getServletName();
+ try
+ {
+ log.info("Publish HttpMetadata");
+
+ // Load the endpoint servlet from the attached bundle (is always attached)
+ Bundle bundle = dep.getAttachment(Bundle.class);
+ HttpServlet servlet = (HttpServlet)bundle.loadClass(servletName).newInstance();
+
+ // Register the servlet with the HttpService
+ getHttpService(dep).registerServlet("/servlet", servlet, null, null);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new LifecycleInterceptorException("Cannot publish: " + servletName, ex);
+ }
+ }
+ }
+
+ private HttpService getHttpService(Deployment dep)
+ {
+ // Get the system bundle context (is always attached)
+ BundleContext context = dep.getAttachment(BundleContext.class);
+
+ ServiceReference sref = context.getServiceReference(HttpService.class.getName());
+ if (sref == null)
+ throw new IllegalStateException("Required HttpService not available");
+
+ HttpService httpService = (HttpService)context.getService(sref);
+ return httpService;
+ }
+}
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/interceptor/processor/PublisherInterceptor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppExtenderTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppExtenderTestCase.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppExtenderTestCase.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -71,19 +71,22 @@
@Test
public void testResourceAccess() throws Exception
{
- assertEquals("Hello from Resource", getHttpResponse("/message.txt"));
+ String line = getHttpResponse("/message.txt");
+ assertEquals("Hello from Resource", line);
}
@Test
public void testServletAccess() throws Exception
{
- assertEquals("Hello from Servlet", getHttpResponse("/servlet?test=plain"));
+ String line = getHttpResponse("/servlet?test=plain");
+ assertEquals("Hello from Servlet", line);
}
@Test
public void testServletInitProps() throws Exception
{
- assertEquals("initProp=SomeValue", getHttpResponse("/servlet?test=initProp"));
+ String line = getHttpResponse("/servlet?test=initProp");
+ assertEquals("initProp=SomeValue", line);
}
// Due to the nature of asynchronous event processing by the
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppInterceptorTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppInterceptorTestCase.java 2009-10-23 08:09:55 UTC (rev 95471)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppInterceptorTestCase.java 2009-10-23 09:56:57 UTC (rev 95472)
@@ -70,28 +70,28 @@
@Test
public void testResourceAccess() throws Exception
{
- assertEquals("Hello from Resource", getHttpResponse("/message.txt"));
+ String line = getHttpResponse("/message.txt");
+ assertEquals("Hello from Resource", line);
}
@Test
public void testServletAccess() throws Exception
{
- assertEquals("Hello from Servlet", getHttpResponse("/servlet?test=plain"));
+ String line = getHttpResponse("/servlet?test=plain");
+ assertEquals("Hello from Servlet", line);
}
@Test
public void testServletInitProps() throws Exception
{
- assertEquals("initProp=SomeValue", getHttpResponse("/servlet?test=initProp"));
+ String line = getHttpResponse("/servlet?test=initProp");
+ assertEquals("initProp=SomeValue", line);
}
private String getHttpResponse(String reqPath) throws Exception
{
URL url = new URL("http://" + runtime.getServerHost() + ":8090/example-webapp" + reqPath);
-
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- String line = br.readLine();
-
- return line;
+ return br.readLine();
}
}
\ No newline at end of file
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor-bundle.bnd
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor-bundle.bnd (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor-bundle.bnd 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,7 @@
+# bnd build -classpath target/test-classes -output target/test-libs/example/example-interceptor-bundle.jar src/test/resources/example/interceptor/example-interceptor-bundle.bnd
+
+Bundle-SymbolicName: example-interceptor-bundle
+Export-Package: org.jboss.test.osgi.example.interceptor.endpoint
+Import-Package: javax.servlet, javax.servlet.http
+
+Include-Resource: http-metadata.properties
\ No newline at end of file
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor.bnd
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor.bnd (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/example-interceptor.bnd 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1,5 @@
+# bnd build -classpath target/test-classes -output target/test-libs/example/example-interceptor.jar src/test/resources/example/interceptor/example-interceptor.bnd
+
+Bundle-SymbolicName: example-interceptor
+Bundle-Activator: org.jboss.test.osgi.example.interceptor.processor.InterceptorActivator
+Export-Package: org.jboss.test.osgi.example.interceptor.processor
Added: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/http-metadata.properties
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/http-metadata.properties (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/http-metadata.properties 2009-10-23 09:56:57 UTC (rev 95472)
@@ -0,0 +1 @@
+servlet.name=org.jboss.test.osgi.example.interceptor.endpoint.EndpointServlet
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/interceptor/http-metadata.properties
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
More information about the jboss-cvs-commits
mailing list