]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/MultipleServiceExporterPostProcessor.java
Introduce bundle register
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.osgi / src / main / java / org / argeo / slc / osgi / MultipleServiceExporterPostProcessor.java
index f5d0a3853c46e70e34159b37bae3c30b970d05c8..d457c3b4b8a5234c99ac7119c19460492bd962e7 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
+ *
+ * Licensed 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.argeo.slc.osgi;
 
 import java.util.ArrayList;
@@ -16,13 +32,12 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.core.Ordered;
-import org.springframework.core.PriorityOrdered;
 import org.springframework.osgi.service.exporter.support.ExportContextClassLoader;
 import org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean;
 
 @SuppressWarnings(value = { "unchecked" })
 public class MultipleServiceExporterPostProcessor implements
-               BeanFactoryPostProcessor, PriorityOrdered {
+               BeanFactoryPostProcessor, Ordered {
        private final static Log log = LogFactory
                        .getLog(MultipleServiceExporterPostProcessor.class);
 
@@ -31,6 +46,8 @@ public class MultipleServiceExporterPostProcessor implements
        private Class osgiServiceFactoryClass = OsgiServiceFactoryBean.class;
 
        private Boolean useServiceProviderContextClassLoader = false;
+       
+       private int order = Ordered.LOWEST_PRECEDENCE;
 
        public void postProcessBeanFactory(
                        ConfigurableListableBeanFactory beanFactory) throws BeansException {
@@ -83,7 +100,11 @@ public class MultipleServiceExporterPostProcessor implements
        }
 
        public int getOrder() {
-               return Ordered.LOWEST_PRECEDENCE;
+               return order;
+       }
+
+       public void setOrder(int order) {
+               this.order = order;
        }
 
        public void setUseServiceProviderContextClassLoader(