Author: gnodet
Date: Thu Jul  3 12:52:21 2008
New Revision: 673782

URL: http://svn.apache.org/viewvc?rev=673782&view=rev
Log:
SM-1387: make servicemix-file osgi friendly

Added:
    
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/
    
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/
    
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/servicemix-file.xml
Modified:
    servicemix/components/bindings/servicemix-file/trunk/pom.xml
    
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FileComponent.java
    
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java

Modified: servicemix/components/bindings/servicemix-file/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-file/trunk/pom.xml?rev=673782&r1=673781&r2=673782&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-file/trunk/pom.xml (original)
+++ servicemix/components/bindings/servicemix-file/trunk/pom.xml Thu Jul  3 
12:52:21 2008
@@ -42,6 +42,17 @@
     <previous.releases>3.1.2,3.2,3.2.1</previous.releases>
     <servicemix-version>3.2.1</servicemix-version>
     <servicemix-shared-version>4.0-SNAPSHOT</servicemix-shared-version>
+
+    <servicemix.osgi.import>
+        org.apache.servicemix.common.osgi,
+        org.apache.xbean.spring.context.v2,
+        org.springframework.beans.factory.xml,
+        *
+    </servicemix.osgi.import>
+    <servicemix.osgi.export>
+        org.apache.servicemix*;version=${project.version},
+        
META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.file
+    </servicemix.osgi.export>
   </properties>
     
   <dependencies>

Modified: 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FileComponent.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FileComponent.java?rev=673782&r1=673781&r2=673782&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FileComponent.java
 (original)
+++ 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FileComponent.java
 Thu Jul  3 12:52:21 2008
@@ -25,8 +25,8 @@
 
 import org.apache.servicemix.common.DefaultComponent;
 import org.apache.servicemix.common.Endpoint;
-import org.apache.servicemix.jbi.util.IntrospectionSupport;
-import org.apache.servicemix.jbi.util.URISupport;
+import org.apache.servicemix.common.util.IntrospectionSupport;
+import org.apache.servicemix.common.util.URISupport;
 
 /**
  * A file based component

Modified: 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java?rev=673782&r1=673781&r2=673782&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java
 (original)
+++ 
servicemix/components/bindings/servicemix-file/trunk/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java
 Thu Jul  3 12:52:21 2008
@@ -39,7 +39,6 @@
 import org.apache.servicemix.common.endpoints.PollingEndpoint;
 import org.apache.servicemix.components.util.DefaultFileMarshaler;
 import org.apache.servicemix.components.util.FileMarshaler;
-import org.apache.servicemix.jbi.util.FileUtil;
 import org.apache.servicemix.locks.LockManager;
 import org.apache.servicemix.locks.impl.SimpleLockManager;
 
@@ -254,7 +253,7 @@
                 unlock = false;
                 if (isDeleteFile()) {
                     if (archive != null) {
-                        FileUtil.moveFile(aFile, archive);
+                        moveFile(aFile, archive);
                     } else {
                         if (!aFile.delete()) {
                             throw new IOException("Could not delete file " + 
aFile);
@@ -302,4 +301,18 @@
         // Do nothing. In our case, this method should never be called
         // as we only send synchronous InOnly exchange
     }
+
+    /**
+     * Move a File
+     * 
+     * @param src
+     * @param targetDirectory
+     * @throws IOException 
+     */
+    public static void moveFile(File src, File targetDirectory) throws 
IOException {
+        if (!src.renameTo(new File(targetDirectory, src.getName()))) {
+            throw new IOException("Failed to move " + src + " to " + 
targetDirectory);
+        }
+    }
+
 }

Added: 
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/servicemix-file.xml
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/servicemix-file.xml?rev=673782&view=auto
==============================================================================
--- 
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/servicemix-file.xml
 (added)
+++ 
servicemix/components/bindings/servicemix-file/trunk/src/main/resources/META-INF/spring/servicemix-file.xml
 Thu Jul  3 12:52:21 2008
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns:osgi="http://www.springframework.org/schema/osgi";
+       xmlns:util="http://www.springframework.org/schema/util";
+       xsi:schemaLocation="
+  http://www.springframework.org/schema/beans
+  http://www.springframework.org/schema/beans/spring-beans.xsd
+  http://www.springframework.org/schema/util
+  http://www.springframework.org/schema/util/spring-util.xsd
+  http://www.springframework.org/schema/osgi
+  http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
+
+    <bean id="servicemix-file" 
class="org.apache.servicemix.file.FileComponent">
+    </bean>
+
+    <bean id="endpoint-tracker" 
class="org.apache.servicemix.common.osgi.EndpointTracker">
+        <property name="component" ref="servicemix-file" />
+    </bean>
+
+    <osgi:list id="endpoints"
+               interface="org.apache.servicemix.common.osgi.EndpointWrapper"
+               cardinality="0..N">
+        <osgi:listener ref="endpoint-tracker" bind-method="register" 
unbind-method="unregister" />
+    </osgi:list>
+
+    <osgi:service ref="servicemix-file" 
interface="javax.jbi.component.Component">
+        <osgi:service-properties>
+            <entry key="NAME" value="servicemix-file" />
+            <entry key="TYPE" value="binding-component" />
+        </osgi:service-properties>
+    </osgi:service>
+
+</beans>


Reply via email to