You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/07/09 00:10:16 UTC
svn commit: r1689973 [7/25] - in /felix/sandbox/pderop/dependencymanager.ds:
cnf/ext/ cnf/localrepo/ cnf/localrepo/org.apache.felix.framework/
cnf/releaserepo/ org.apache.felix.dependencymanager.ds.itest/
org.apache.felix.dependencymanager.ds.itest/.se...
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ServiceComponentTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ServiceComponentTest.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ServiceComponentTest.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ServiceComponentTest.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,177 @@
+/*
+ * 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.felix.scr.integration;
+
+
+import org.apache.felix.scr.integration.components.SimpleComponent;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.runtime.dto.ComponentConfigurationDTO;
+
+import junit.framework.TestCase;
+
+
+public class ServiceComponentTest extends ComponentTestBase
+{
+ @Test
+ public void test_SimpleComponent_service() throws Exception
+ {
+ final String pid = "ServiceComponent";
+
+ // one single component exists without configuration
+ getDisabledConfigurationAndEnable(pid, ComponentConfigurationDTO.ACTIVE);
+ final SimpleComponent instance = SimpleComponent.INSTANCE;
+ TestCase.assertNotNull( instance );
+
+ // assert component properties (all !)
+ TestCase.assertEquals( "required", instance.getProperty( "prop.public" ) );
+ TestCase.assertEquals( "private", instance.getProperty( ".prop.private" ) );
+
+ // get the service
+ ServiceReference<?> reference = findServiceByPid(bundleContext, "java.lang.Object", "(service.pid=ServiceComponent)" );
+ TestCase.assertNotNull( reference );
+ try
+ {
+ TestCase.assertEquals( instance, bundleContext.getService( reference ) );
+ }
+ finally
+ {
+ bundleContext.ungetService( reference );
+ }
+
+ // check service properties
+ TestCase.assertEquals( "required", reference.getProperty( "prop.public" ) );
+ TestCase.assertNull( reference.getProperty( ".prop.private" ) );
+
+ // check property keys do not contain private keys
+ for ( String propKey : reference.getPropertyKeys() )
+ {
+ TestCase.assertTrue( "Property key [" + propKey
+ + "] must have at least one character and not start with a dot", propKey.length() > 0
+ && !propKey.startsWith( "." ) );
+ }
+ }
+
+
+ @Test
+ public void test_DelayedSimpleComponent_service_single_use() throws Exception
+ {
+ final String pid = "DelayedServiceComponent";
+
+ // one single component exists without configuration
+ getDisabledConfigurationAndEnable(pid, ComponentConfigurationDTO.SATISFIED);
+ TestCase.assertNull( SimpleComponent.INSTANCE );
+
+ // get the service
+ ServiceReference<?> reference = findServiceByPid(bundleContext, "java.lang.Object", "(service.pid=ServiceComponent)");
+ TestCase.assertNotNull( reference );
+ try
+ {
+ final Object theService = bundleContext.getService( reference );
+
+ // service must now be active
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+
+ // and of course we expect the instance
+ TestCase.assertEquals( SimpleComponent.INSTANCE, theService );
+ }
+ finally
+ {
+ bundleContext.ungetService( reference );
+ }
+
+ // service is not used anymore, ensure REGISTERED state and INSTANCE==null
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.SATISFIED);
+ TestCase.assertNull( SimpleComponent.INSTANCE );
+ }
+
+
+ @Test
+ public void test_DelayedSimpleComponent_service_multi_use() throws Exception
+ {
+ final String pid = "DelayedServiceComponent";
+
+ // one single component exists without configuration
+ // the delayed service is expected to only be registered before use
+ getDisabledConfigurationAndEnable(pid, ComponentConfigurationDTO.SATISFIED);
+ TestCase.assertNull( SimpleComponent.INSTANCE );
+
+ // get the service once
+ final ServiceReference<?> reference1 = findServiceByPid(bundleContext, "java.lang.Object", "(service.pid=ServiceComponent)");
+ TestCase.assertNotNull( reference1 );
+ bundleContext.getService( reference1 );
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+ TestCase.assertNotNull( SimpleComponent.INSTANCE );
+
+ // get the service a second time
+ final BundleContext bundleContext2 = bundle.getBundleContext();
+ final ServiceReference reference2 = findServiceByPid(bundleContext2, "java.lang.Object", "(service.pid=ServiceComponent)");
+ TestCase.assertNotNull( reference2 );
+ bundleContext2.getService( reference2 );
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+ TestCase.assertNotNull( SimpleComponent.INSTANCE );
+
+ // unget the service once -- must still be active !
+ bundleContext2.ungetService( reference2 );
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+ TestCase.assertNotNull( SimpleComponent.INSTANCE );
+
+ // unget the service second time -- must be registered and null now
+ bundleContext.ungetService( reference1 );
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.SATISFIED);
+ TestCase.assertNull( SimpleComponent.INSTANCE );
+ }
+
+ @Test
+ public void test_DelayedSimpleComponent_service_keep_instance() throws Exception
+ {
+ // configure SCR to keep instances
+
+ final String pid = "DelayedKeepInstancesServiceComponent";
+
+ // one single component exists without configuration
+ // the delayed service is expected to only be registered before use
+ getDisabledConfigurationAndEnable(pid, ComponentConfigurationDTO.SATISFIED);
+ TestCase.assertNull( SimpleComponent.INSTANCE );
+
+ // get the service
+ ServiceReference reference = findServiceByPid(bundleContext, "java.lang.Object", "(service.pid=ServiceComponent)" );
+ TestCase.assertNotNull( reference );
+ try
+ {
+ final Object theService = bundleContext.getService( reference );
+
+ // service must now be active
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+
+ // and of course we expect the instance
+ TestCase.assertEquals( SimpleComponent.INSTANCE, theService );
+ }
+ finally
+ {
+ bundleContext.ungetService( reference );
+ }
+
+ // component instance must not be disposed off (due to config)
+ findComponentConfigurationByName(pid, ComponentConfigurationDTO.ACTIVE);
+ TestCase.assertNotNull( SimpleComponent.INSTANCE );
+
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetPropertyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetPropertyTest.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetPropertyTest.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetPropertyTest.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,113 @@
+/*
+ * 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.felix.scr.integration;
+
+import org.apache.felix.scr.integration.components.SimpleComponent;
+import org.apache.felix.scr.integration.components.SimpleServiceImpl;
+import org.junit.Test;
+import org.osgi.service.component.runtime.dto.ComponentConfigurationDTO;
+
+import junit.framework.TestCase;
+
+public class TargetPropertyTest extends ComponentTestBase
+{
+
+ public TargetPropertyTest()
+ {
+ super("/resource/integration_test_target_properties.xml");
+ }
+
+ @Test
+ public void test_1() throws Exception
+ {
+ String pid = "components.target.properties.1";
+ singleTest( pid, "foo" );
+ }
+
+ @Test
+ public void test_1_2() throws Exception
+ {
+ String pid = "components.target.properties.1.2";
+ singleTest( pid, "foo" );
+ }
+
+ @Test
+ public void test_1_3() throws Exception
+ {
+ String pid = "components.target.properties.1.3";
+ singleTest( pid, "foo" );
+ }
+
+ @Test
+ public void test_2() throws Exception
+ {
+ String pid = "components.target.properties.2";
+ singleTest( pid, "foo" );
+ }
+
+ @Test
+ public void test_3() throws Exception
+ {
+ String pid = "components.target.properties.3";
+ singleTest( pid, "bar" );
+ }
+
+
+ private void singleTest(String pid, String expected) throws Exception
+ {
+ final SimpleServiceImpl srv1 = SimpleServiceImpl.create( bundleContext, expected );
+ final SimpleServiceImpl srv2 = SimpleServiceImpl.create( bundleContext, "baz" );
+
+ ComponentConfigurationDTO cc = getDisabledConfigurationAndEnable(pid, ComponentConfigurationDTO.ACTIVE);
+ checkTarget(expected, srv1);
+
+ //configuration not setting target property does not change it
+ configure( pid );
+ delay();//all cm event to complete
+ checkTarget(expected, srv1);
+
+ // update configuration to target srv2
+ theConfig.put("one.target", "(value=baz)");
+ configure( pid );
+ delay();
+ checkTarget("baz", srv2);
+
+ //update configuration removing target property
+ theConfig.remove("one.target");
+ configure( pid );
+ delay();//all cm event to complete
+ checkTarget(expected, srv1);
+
+ // cleanup
+ disableAndCheck(cc);
+ deleteConfig(pid);
+ srv1.drop();
+ srv2.drop();
+ }
+
+ void checkTarget(String expected, final SimpleServiceImpl srv1)
+ {
+ final SimpleComponent comp10 = SimpleComponent.INSTANCE;
+ TestCase.assertNotNull( comp10 );
+ TestCase.assertEquals("(value=" + expected + ")", comp10.getProperty("one.target"));
+ TestCase.assertEquals( srv1, comp10.m_singleRef );
+ }
+
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetedPIDTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetedPIDTest.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetedPIDTest.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/TargetedPIDTest.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,145 @@
+/*
+ * 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.felix.scr.integration;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.felix.scr.integration.components.SimpleComponent;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+//import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.cm.Configuration;
+//import org.osgi.service.cm.ConfigurationEvent;
+//import org.osgi.service.cm.ConfigurationListener;
+import org.osgi.service.cm.ConfigurationPermission;
+import org.osgi.service.component.runtime.dto.ComponentConfigurationDTO;
+
+import junit.framework.TestCase;
+
+public class TargetedPIDTest extends ComponentTestBase
+{
+
+ private static final String TARGETED_PID = "targetedPID";
+ private static final String COMPONENT_NAME = "SimpleComponent.configuration.require";
+ private static final String REGION = "?foo";
+
+ public TargetedPIDTest()
+ {
+ super("/resource/integration_test_simple_components_location.xml");
+ // by default, the org.osgi.framework.bsnversion property is set to multiple in bnd.bnd file (see -runproperties).
+ }
+
+ @Test
+ public void testTargetedPID() throws Exception
+ {
+ try
+ {
+ new ConfigurationPermission(REGION, ConfigurationPermission.TARGET);
+ }
+ catch (IllegalArgumentException e)
+ {
+ return;//not an R5 CA
+ }
+ String pid = COMPONENT_NAME;
+ theConfig.put(TARGETED_PID, pid);
+ Configuration config = configure( pid );
+ config.setBundleLocation( REGION );
+
+ String pidSN = pid + "|simplecomponent2";
+ theConfig.put(TARGETED_PID, pidSN);
+ Configuration configSN = configure( pidSN );
+ configSN.setBundleLocation( REGION );
+
+ String pidSNV = pidSN + "|0.0.12";
+ theConfig.put(TARGETED_PID, pidSNV);
+ Configuration configSNV = configure( pidSNV );
+ configSNV.setBundleLocation( REGION );
+
+ String pidSNVL = pidSNV + "|bundleLocation";
+ theConfig.put(TARGETED_PID, pidSNVL);
+ Configuration configSNVL = configure( pidSNVL );
+ configSNVL.setBundleLocation( REGION );
+
+ delay();
+
+ //Add more and more specific components to check that they pick up the appropriate configuration
+ Set<ComponentConfigurationDTO> known = new HashSet<ComponentConfigurationDTO>();
+
+ final ComponentConfigurationDTO component = findComponentConfigurationByName( COMPONENT_NAME, ComponentConfigurationDTO.ACTIVE );
+ known.add( component );
+
+ TestCase.assertNotNull( SimpleComponent.INSTANCE );
+ SimpleComponent sc = SimpleComponent.INSTANCE;
+ TestCase.assertEquals( pid, sc.getProperty( TARGETED_PID ) );
+
+
+ Bundle bSN = installBundle( descriptorFile, COMPONENT_PACKAGE, "simplecomponent2", "0.0.11", null );
+ bSN.start();
+ findComponentConfigurationByName( bSN, pid, ComponentConfigurationDTO.ACTIVE );
+
+
+ SimpleComponent scSN = SimpleComponent.INSTANCE;
+ TestCase.assertEquals( pidSN, scSN.getProperty( TARGETED_PID ) );
+
+ Bundle bSNV = installBundle( descriptorFile, COMPONENT_PACKAGE, "simplecomponent2", "0.0.12", null );
+ bSNV.start();
+ findComponentConfigurationByName( bSNV, pid, ComponentConfigurationDTO.ACTIVE );
+ SimpleComponent scSNV = SimpleComponent.INSTANCE;
+ TestCase.assertEquals( pidSNV, scSNV.getProperty( TARGETED_PID ) );
+
+ Bundle bSNVL = installBundle( descriptorFile, COMPONENT_PACKAGE, "simplecomponent2", "0.0.12", "bundleLocation" );
+ bSNVL.start();
+ findComponentConfigurationsByName( bSNVL, pid, ComponentConfigurationDTO.ACTIVE );
+
+ SimpleComponent scSNVL = SimpleComponent.INSTANCE;
+ TestCase.assertEquals( pidSNVL, scSNVL.getProperty( TARGETED_PID ) );
+
+ //remove configurations to check that the components now use the less specific configurations.
+
+ configSNVL.delete();
+ delay();
+ findComponentConfigurationsByName( bSNVL, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pidSNV, scSNVL.getProperty( TARGETED_PID ) );
+
+ configSNV.delete();
+ delay();
+ findComponentConfigurationsByName( bSNVL, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pidSN, scSNVL.getProperty( TARGETED_PID ) );
+ findComponentConfigurationByName( bSNV, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pidSN, scSNV.getProperty( TARGETED_PID ) );
+
+ configSN.delete();
+ delay();
+ findComponentConfigurationsByName( bSNVL, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pid, scSNVL.getProperty( TARGETED_PID ) );
+ findComponentConfigurationByName( bSNV, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pid, scSNV.getProperty( TARGETED_PID ) );
+ findComponentConfigurationByName( bSN, pid, ComponentConfigurationDTO.ACTIVE );
+ TestCase.assertEquals( pid, scSN.getProperty( TARGETED_PID ) );
+
+ // cleanup
+ config.delete();
+ delay();
+ bSN.uninstall();
+ bSNV.uninstall();
+ bSNVL.uninstall();
+ }
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/ActivatorComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/ActivatorComponent.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/ActivatorComponent.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/ActivatorComponent.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,104 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Map;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+
+
+public class ActivatorComponent
+{
+
+ public static final String FLAG_FAIL_ACTIVATE = "failActivate";
+
+ public static final String FLAG_FAIL_DEACTIVATE = "failDeactivate";
+
+ public static final String FLAG_REGISTER_SERVICE = "registerService";
+
+ private static ActivatorComponent activatorComponent;
+
+ private ServiceRegistration registration;
+
+ private SimpleService simpleService;
+
+ public static ActivatorComponent getInstance()
+ {
+ return activatorComponent;
+ }
+
+ @SuppressWarnings("unused")
+ private void myActivate( BundleContext context, Map<?, ?> configuration )
+ {
+ if ( configuration.containsKey( FLAG_FAIL_ACTIVATE ) )
+ {
+ throw new IllegalStateException( "myActivate fails" );
+ }
+ if ( configuration.containsKey( FLAG_REGISTER_SERVICE ) )
+ {
+ registration = context.registerService( SimpleService.class.getName(), new SimpleServiceImpl(), null );
+ }
+ if ( activatorComponent != null )
+ {
+ throw new IllegalStateException( "not the only activator component");
+ }
+ this.activatorComponent = this;
+ }
+
+
+ @SuppressWarnings("unused")
+ private void myDeactivate( Map<?, ?> configuration )
+ {
+ this.activatorComponent = null;
+ if ( configuration.containsKey( FLAG_FAIL_DEACTIVATE ) )
+ {
+ throw new IllegalStateException( "myDeactivate fails" );
+ }
+ if ( registration != null )
+ {
+ registration.unregister();
+ registration = null;
+ }
+ }
+
+
+ public SimpleService getSimpleService()
+ {
+ return simpleService;
+ }
+
+
+ @SuppressWarnings("unused")
+ private void bindSimpleService( SimpleService simpleService )
+ {
+ this.simpleService = simpleService;
+ }
+
+
+ @SuppressWarnings("unused")
+ private void unbindSimpleService( SimpleService simpleService )
+ {
+ if ( this.simpleService == simpleService )
+ {
+ this.simpleService = null;
+ }
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/EnableComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/EnableComponent.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/EnableComponent.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/EnableComponent.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,48 @@
+/*
+ * 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.felix.scr.integration.components;
+
+import org.osgi.service.component.ComponentContext;
+
+public class EnableComponent
+{
+
+ private ComponentContext cc;
+
+ protected void activate(ComponentContext cc)
+ {
+ this.cc = cc;
+ }
+
+ protected void deactivate()
+ {
+ cc = null;
+ }
+
+ public void enable( String component )
+ {
+ cc.enableComponent(component);
+ }
+
+ public void disable( String component )
+ {
+ cc.disableComponent(component);
+ }
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4188Component.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4188Component.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4188Component.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4188Component.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,44 @@
+/*
+ * 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.felix.scr.integration.components;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+public class Felix4188Component {
+
+ public BundleContext bundleContext;
+ public Throwable throwable;
+
+ void start()
+ {
+ bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ }
+
+ void stop()
+ {
+ try {
+ Thread.sleep(2000);
+ bundleContext.getBundle();
+ } catch (Throwable t) {
+ throwable = t;
+ }
+ }
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4350Component.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4350Component.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4350Component.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/Felix4350Component.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,76 @@
+/*
+ * 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.felix.scr.integration.components;
+
+public class Felix4350Component {
+
+ private static Felix4350Component m_instance;
+ private static int m_activateCount;
+ private static int m_deactivateCount;
+
+ private SimpleComponent component1;
+ private SimpleComponent2 component2;
+
+ public static void init() {
+ m_instance = null;
+ m_activateCount = 0;
+ m_deactivateCount = 0;
+ }
+
+ public void bindComponent1(SimpleComponent component1) {
+ this.component1 = component1;
+ }
+
+ public void unbindComponent1(SimpleComponent component1) {
+ this.component1 = null;
+ }
+
+ public void bindComponent2(SimpleComponent2 component2) {
+ this.component2 = component2;
+ }
+
+ public void unbindComponent2(SimpleComponent2 component2) {
+ this.component2 = null;
+ }
+
+ public void start() {
+ m_instance = this;
+ m_activateCount++;
+ }
+
+ public void stop() {
+ m_instance = null;
+ m_deactivateCount++;
+ }
+
+ public static void check(int activateCount, int deactivateCount, boolean activated)
+ {
+ if (activateCount != m_activateCount ||
+ deactivateCount != m_deactivateCount ||
+ activated == (m_instance == null))
+ {
+ String message = "activation: expected " + activateCount + " actual " + m_activateCount +
+ " deactivation: expected " + deactivateCount + " actual " + m_deactivateCount +
+ " activated: expected " + activated + " actual " + (m_instance != null);
+ throw new IllegalStateException( message );
+
+ }
+ }
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingService.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingService.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingService.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingService.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,29 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Dictionary;
+
+public interface MutatingService
+{
+
+ void updateProperties(Dictionary changes);
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingServiceImpl.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingServiceImpl.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/MutatingServiceImpl.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,92 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.felix.scr.component.ExtComponentContext;
+import org.osgi.service.component.ComponentContext;
+
+
+public class MutatingServiceImpl implements MutatingService
+{
+ private ComponentContext activateContext;
+
+ private void activate( ComponentContext activateContext )
+ {
+ this.activateContext = activateContext;
+ }
+
+ private void modified( ComponentContext activateContext )
+ {
+
+ }
+
+ private Map activateMutate( ComponentContext activateContext )
+ {
+ this.activateContext = activateContext;
+ Map result = new Hashtable( (Map )activateContext.getProperties() );
+ result.put( "theValue", "anotherValue1" );
+ if (result.containsKey( ".p2" ))
+ {
+ result.put( ".theValue", "privateValue" );
+ }
+ return result;
+ }
+
+ private Map modifiedMutate( ComponentContext activateContext )
+ {
+ Map result = new Hashtable( (Map )activateContext.getProperties() );
+ result.put( "theValue", "anotherValue2" );
+ return result;
+ }
+
+ private Map deactivateMutate( ComponentContext activateContext )
+ {
+ Map result = new Hashtable( (Map )activateContext.getProperties() );
+ result.put( "theValue", "anotherValue3" );
+ return result;
+ }
+
+ public void updateProperties( Dictionary changes )
+ {
+ ( ( ExtComponentContext ) activateContext ).setServiceProperties( changes );
+ }
+
+ private Map bindSimpleService( SimpleService ss )
+ {
+ return Collections.singletonMap( "SimpleService", "bound" );
+ }
+
+ private Map unbindSimpleService( SimpleService ss )
+ {
+ return Collections.singletonMap( "SimpleService", "unbound" );
+ }
+
+ private Map updateSimpleService( SimpleService ss )
+ {
+ return Collections.singletonMap( "SimpleService", "updated" );
+ }
+
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,180 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.osgi.service.component.ComponentConstants;
+import org.osgi.service.component.ComponentContext;
+
+
+public class SimpleComponent
+{
+
+ // component configuration property whose existence causes the
+ // activate method to fail
+ public static final String PROP_ACTIVATE_FAILURE = "request.activation.failure";
+
+ public static final Map<Long, SimpleComponent> INSTANCES = new HashMap<Long, SimpleComponent>();
+
+ public static final Set<SimpleComponent> PREVIOUS_INSTANCES = new HashSet<SimpleComponent>();
+
+ public static SimpleComponent INSTANCE;
+
+ private Map<?, ?> m_config;
+
+ public long m_id;
+
+ public ComponentContext m_activateContext;
+
+ public SimpleService m_singleRef;
+
+ public int m_singleRefBind = 0;
+
+ public int m_singleRefUnbind = 0;
+
+ public final Set<SimpleService> m_multiRef = new HashSet<SimpleService>();
+
+ public int m_multiRefBind = 0;
+
+ public int m_multiRefUnbind = 0;
+
+ public int m_modified = 0;
+
+
+ @SuppressWarnings("unused")
+ private void activate( ComponentContext activateContext, Map<?, ?> config )
+ {
+ // fail activation if requested so
+ if ( config.containsKey( PROP_ACTIVATE_FAILURE ) )
+ {
+ throw new RuntimeException( String.valueOf( config.get( PROP_ACTIVATE_FAILURE ) ) );
+ }
+
+ m_id = ( Long ) config.get( ComponentConstants.COMPONENT_ID );
+ m_activateContext = activateContext;
+
+ INSTANCE = this;
+ INSTANCES.put( m_id, this );
+ setConfig( config );
+
+ if ( PREVIOUS_INSTANCES.contains( this ) )
+ {
+ System.err.println();
+ System.err.println( "An instance has been reused !!!" );
+ System.err.println( "Existing: " + PREVIOUS_INSTANCES );
+ System.err.println( "New : " + this );
+ System.err.println();
+ }
+ else
+ {
+ PREVIOUS_INSTANCES.add( this );
+ }
+ }
+
+
+ @SuppressWarnings("unused")
+ private void configure( ComponentContext context )
+ {
+ setConfig( context.getProperties() );
+ }
+
+ @SuppressWarnings("unused")
+ private void modified( ComponentContext context )
+ {
+ setConfig( context.getProperties() );
+ m_modified++;
+ }
+
+ @SuppressWarnings("unused")
+ private void deactivate()
+ {
+ INSTANCES.remove( getProperty( ComponentConstants.COMPONENT_ID ) );
+
+ m_activateContext = null;
+ INSTANCE = null;
+ setConfig( new HashMap<Object, Object>() );
+ }
+
+
+ protected void setConfig( Map<?, ?> config )
+ {
+ m_config = config;
+ }
+
+
+ protected void setConfig( Dictionary<?, ?> config )
+ {
+ Map<Object, Object> configMap = new HashMap<Object, Object>();
+ for ( Enumeration<?> ce = config.keys(); ce.hasMoreElements(); )
+ {
+ Object key = ce.nextElement();
+ Object value = config.get( key );
+ configMap.put( key, value );
+ }
+ m_config = configMap;
+ }
+
+
+ public Object getProperty( Object name )
+ {
+ return m_config.get( name );
+ }
+
+
+ // bind method for single service binding
+ public void setSimpleService( SimpleService simpleService )
+ {
+ this.m_singleRef = simpleService;
+ this.m_singleRefBind++;
+ }
+
+
+ // unbind method for single service binding
+ public void unsetSimpleService( SimpleService simpleService )
+ {
+ if ( this.m_singleRef == simpleService )
+ {
+ this.m_singleRef = null;
+ }
+ this.m_singleRefUnbind++;
+ }
+
+
+ // bind method for multi-service binding
+ public void bindSimpleService( SimpleService simpleService )
+ {
+ this.m_multiRef.add( simpleService );
+ this.m_multiRefBind++;
+ }
+
+
+ // unbind method for multi-service binding
+ public void unbindSimpleService( SimpleService simpleService )
+ {
+ this.m_multiRef.remove( simpleService );
+ this.m_multiRefUnbind++;
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent2.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent2.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent2.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleComponent2.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,76 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class SimpleComponent2
+{
+
+ public static SimpleComponent2 INSTANCE;
+
+ private List<String> bindings = new ArrayList<String>();
+
+
+ public List<String> getBindings()
+ {
+ return bindings;
+ }
+
+
+ @SuppressWarnings("unused")
+ private void activate()
+ {
+ INSTANCE = this;
+ }
+
+
+ @SuppressWarnings("unused")
+ private void deactivate()
+ {
+ INSTANCE = null;
+ }
+
+
+ public void bindSimpleService( @SuppressWarnings("unused") SimpleService simpleService )
+ {
+ bindings.add( "bindSimpleService" );
+ }
+
+
+ public void unbindSimpleService( @SuppressWarnings("unused") SimpleService simpleService )
+ {
+ bindings.add( "unbindSimpleService" );
+ }
+
+
+ public void bindSimpleService2( @SuppressWarnings("unused") SimpleService2 simpleService2 )
+ {
+ bindings.add( "bindSimpleService2" );
+ }
+
+
+ public void unbindSimpleService2( @SuppressWarnings("unused") SimpleService2 simpleService2 )
+ {
+ bindings.add( "unbindSimpleService2" );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,26 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+public interface SimpleService
+{
+
+ String getValue();
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,26 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+public interface SimpleService2
+{
+
+ String getValue2();
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2Impl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2Impl.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2Impl.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleService2Impl.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,133 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceRegistration;
+
+
+public class SimpleService2Impl implements SimpleService2
+{
+
+ private String m_value;
+
+ private int m_ranking;
+
+ private String m_filterProp;
+
+ private ServiceRegistration m_registration;
+
+
+ public static SimpleService2Impl create( BundleContext bundleContext, String value )
+ {
+ return create( bundleContext, value, 0 );
+ }
+
+
+ public static SimpleService2Impl create( BundleContext bundleContext, String value, int ranking )
+ {
+ SimpleService2Impl instance = new SimpleService2Impl( value, ranking );
+ Dictionary<String,?> props = instance.getProperties();
+ instance.setRegistration( bundleContext.registerService( SimpleService2.class.getName(), instance, props ) );
+ return instance;
+ }
+
+
+ SimpleService2Impl( final String value, final int ranking )
+ {
+ this.m_value = value;
+ this.m_ranking = ranking;
+ this.m_filterProp = "match";
+ }
+
+
+ private Dictionary<String,?> getProperties()
+ {
+ final Dictionary<String, Object> props = new Hashtable<String, Object>();
+ props.put( "value", m_value );
+ props.put( "filterprop", m_filterProp );
+ if ( m_ranking != 0 )
+ {
+ props.put( Constants.SERVICE_RANKING, Integer.valueOf( m_ranking ) );
+ }
+ return props;
+ }
+
+
+ public void update( String value )
+ {
+ if ( this.m_registration != null )
+ {
+ this.m_value = value;
+ this.m_registration.setProperties( getProperties() );
+ }
+ }
+
+
+ public void setFilterProperty( String filterProp )
+ {
+ if ( this.m_registration != null )
+ {
+ this.m_filterProp = filterProp;
+ this.m_registration.setProperties( getProperties() );
+ }
+ }
+
+
+ public void drop()
+ {
+ ServiceRegistration sr = getRegistration();
+ if ( sr != null )
+ {
+ setRegistration( null );
+ sr.unregister();
+ }
+ }
+
+
+ public String getValue2()
+ {
+ return m_value;
+ }
+
+
+ public void setRegistration( ServiceRegistration registration )
+ {
+ m_registration = registration;
+ }
+
+
+ public ServiceRegistration getRegistration()
+ {
+ return m_registration;
+ }
+
+
+ @Override
+ public String toString()
+ {
+ return getClass().getSimpleName() + ": value=" + getValue2() + ", filterprop=" + m_filterProp;
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleServiceImpl.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleServiceImpl.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/SimpleServiceImpl.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,141 @@
+/*
+ * 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.felix.scr.integration.components;
+
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceRegistration;
+
+
+public class SimpleServiceImpl implements SimpleService
+{
+
+ private String m_value;
+
+ private int m_ranking;
+
+ private String m_filterProp;
+
+ private ServiceRegistration m_registration;
+
+
+ public static SimpleServiceImpl create( BundleContext bundleContext, String value )
+ {
+ return create( bundleContext, value, 0 );
+ }
+
+
+ public static SimpleServiceImpl create( BundleContext bundleContext, String value, int ranking )
+ {
+ SimpleServiceImpl instance = new SimpleServiceImpl( value, ranking );
+ Dictionary<String,?> props = instance.getProperties();
+ instance.setRegistration( bundleContext.registerService( SimpleService.class.getName(), instance, props ) );
+ return instance;
+ }
+
+ public SimpleServiceImpl()
+ {
+ this("", 0);
+ }
+
+ SimpleServiceImpl( final String value, final int ranking )
+ {
+ this.m_value = value;
+ this.m_ranking = ranking;
+ this.m_filterProp = "match";
+ }
+
+
+ private Dictionary<String,?> getProperties()
+ {
+ final Dictionary<String, Object> props = new Hashtable<String, Object>();
+ props.put( "value", m_value );
+ props.put( "filterprop", m_filterProp );
+ if ( m_ranking != 0 )
+ {
+ props.put( Constants.SERVICE_RANKING, Integer.valueOf( m_ranking ) );
+ }
+ return props;
+ }
+
+
+ public SimpleService update( String value )
+ {
+ if ( this.m_registration != null )
+ {
+ this.m_value = value;
+ this.m_registration.setProperties( getProperties() );
+ }
+ return this;
+ }
+
+
+ public SimpleServiceImpl setFilterProperty( String filterProp )
+ {
+ if ( this.m_registration != null )
+ {
+ this.m_filterProp = filterProp;
+ this.m_registration.setProperties( getProperties() );
+ }
+ return this;
+ }
+
+
+ public SimpleServiceImpl drop()
+ {
+ ServiceRegistration sr = getRegistration();
+ if ( sr != null )
+ {
+ setRegistration( null );
+ sr.unregister();
+ }
+ return this;
+ }
+
+
+ public String getValue()
+ {
+ return m_value;
+ }
+
+
+ public SimpleServiceImpl setRegistration( ServiceRegistration registration )
+ {
+ m_registration = registration;
+ return this;
+ }
+
+
+ public ServiceRegistration getRegistration()
+ {
+ return m_registration;
+ }
+
+
+ @Override
+ public String toString()
+ {
+ return getClass().getSimpleName() + ": value=" + getValue() + ", filterprop=" + m_filterProp;
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/AbstractActivateSignatureTestComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/AbstractActivateSignatureTestComponent.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/AbstractActivateSignatureTestComponent.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/AbstractActivateSignatureTestComponent.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,68 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.osgi.service.component.ComponentConstants;
+import org.osgi.service.component.ComponentContext;
+
+
+public abstract class AbstractActivateSignatureTestComponent
+{
+
+ private static final Map<String, AbstractActivateSignatureTestComponent> instances = new HashMap<String, AbstractActivateSignatureTestComponent>();
+
+ public static AbstractActivateSignatureTestComponent getInstance(String name)
+ {
+ return instances.get(name);
+ }
+
+ private String methodCalled;
+
+
+ public String getMethodCalled()
+ {
+ return methodCalled;
+ }
+
+
+ protected void setMethodCalled( String methodCalled )
+ {
+ this.methodCalled = methodCalled;
+ instances.put(methodCalled, this);
+ }
+
+
+ protected void setMethodCalled( ComponentContext context )
+ {
+ final String method = ( String ) context.getProperties().get( ComponentConstants.COMPONENT_NAME );
+ setMethodCalled( method );
+ }
+
+
+ protected void setMethodCalled( Map<?, ?> context )
+ {
+ final String method = ( String ) context.get( ComponentConstants.COMPONENT_NAME );
+ setMethodCalled( method );
+ }
+
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_BundleContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_BundleContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_BundleContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_BundleContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.framework.BundleContext;
+
+
+public class Signature_Package_BundleContext extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings("unused")
+ void activate( BundleContext context )
+ {
+ setMethodCalled( "package_activate_BundleContext" );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_ComponentContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_ComponentContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_ComponentContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_ComponentContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,32 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.service.component.ComponentContext;
+
+
+public class Signature_Package_ComponentContext extends AbstractActivateSignatureTestComponent
+{
+
+ void activate( @SuppressWarnings("unused") ComponentContext context )
+ {
+ setMethodCalled( context );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_Map.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_Map.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_Map.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Package_Map.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import java.util.Map;
+
+
+public class Signature_Package_Map extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings({ "unchecked" })
+ void activate( Map config )
+ {
+ setMethodCalled( config );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_BundleContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_BundleContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_BundleContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_BundleContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.framework.BundleContext;
+
+
+public class Signature_Private_BundleContext extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings("unused")
+ private void activate( BundleContext context )
+ {
+ setMethodCalled( "private_activate_BundleContext" );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_ComponentContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_ComponentContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_ComponentContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_ComponentContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.service.component.ComponentContext;
+
+
+public class Signature_Private_ComponentContext extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings("unused")
+ private void activate( ComponentContext context )
+ {
+ setMethodCalled( context );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_Map.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_Map.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_Map.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Private_Map.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import java.util.Map;
+
+
+public class Signature_Private_Map extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings({ "unchecked", "unused" })
+ private void activate( Map config )
+ {
+ setMethodCalled( config );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_BundleContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_BundleContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_BundleContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_BundleContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.framework.BundleContext;
+
+
+public class Signature_Protected_BundleContext extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings("unused")
+ protected void activate( BundleContext context )
+ {
+ setMethodCalled( "protected_activate_BundleContext" );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_ComponentContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_ComponentContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_ComponentContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_ComponentContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,32 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.service.component.ComponentContext;
+
+
+public class Signature_Protected_ComponentContext extends AbstractActivateSignatureTestComponent
+{
+
+ protected void activate( @SuppressWarnings("unused") ComponentContext context )
+ {
+ setMethodCalled( context );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_Map.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_Map.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_Map.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Protected_Map.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import java.util.Map;
+
+
+public class Signature_Protected_Map extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings({ "unchecked" })
+ protected void activate( Map config )
+ {
+ setMethodCalled( config );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_BundleContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_BundleContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_BundleContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_BundleContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.framework.BundleContext;
+
+
+public class Signature_Public_BundleContext extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings("unused")
+ public void activate( BundleContext context )
+ {
+ setMethodCalled( "public_activate_BundleContext" );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_ComponentContext.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_ComponentContext.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_ComponentContext.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_ComponentContext.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,32 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import org.osgi.service.component.ComponentContext;
+
+
+public class Signature_Public_ComponentContext extends AbstractActivateSignatureTestComponent
+{
+
+ public void activate( @SuppressWarnings("unused") ComponentContext context )
+ {
+ setMethodCalled( context );
+ }
+}
Added: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_Map.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_Map.java?rev=1689973&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_Map.java (added)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/activatesignature/Signature_Public_Map.java Wed Jul 8 22:10:14 2015
@@ -0,0 +1,33 @@
+/*
+ * 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.felix.scr.integration.components.activatesignature;
+
+
+import java.util.Map;
+
+
+public class Signature_Public_Map extends AbstractActivateSignatureTestComponent
+{
+
+ @SuppressWarnings({ "unchecked" })
+ public void activate( Map config )
+ {
+ setMethodCalled( config );
+ }
+}