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>