Author: cziegeler
Date: Wed Aug 20 06:46:27 2014
New Revision: 1619036

URL: http://svn.apache.org/r1619036
Log:
SLING-3858 : Avoid logging of exception if Tika is not available

Added:
    
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
   (with props)
Modified:
    sling/trunk/bundles/commons/mime/pom.xml
    
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/TikaMimeTypeProvider.java

Modified: sling/trunk/bundles/commons/mime/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/mime/pom.xml?rev=1619036&r1=1619035&r2=1619036&view=diff
==============================================================================
--- sling/trunk/bundles/commons/mime/pom.xml (original)
+++ sling/trunk/bundles/commons/mime/pom.xml Wed Aug 20 06:46:27 2014
@@ -57,6 +57,7 @@
                         <Bundle-DocURL>
                             http://sling.apache.org/site/mime-type-support.html
                         </Bundle-DocURL>
+                        
<Bundle-Activator>org.apache.sling.commons.mime.internal.Activator</Bundle-Activator>
                         <Import-Package>
                             javax.servlet.*;resolution:=optional,
                             org.apache.felix.webconsole;resolution:=optional,
@@ -85,7 +86,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.0.2-incubator</version>
+            <version>2.1.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -103,19 +104,13 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>biz.aQute</groupId>
-            <artifactId>bndlib</artifactId>
-            <version>1.50.0</version>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
         </dependency>
-        
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>

Added: 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java?rev=1619036&view=auto
==============================================================================
--- 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
 (added)
+++ 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
 Wed Aug 20 06:46:27 2014
@@ -0,0 +1,66 @@
+/*
+ * 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.sling.commons.mime.internal;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.apache.sling.commons.mime.MimeTypeProvider;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Activator implements BundleActivator {
+
+    private final Logger logger = 
LoggerFactory.getLogger(this.getClass().getName());
+
+    private ServiceRegistration reg;
+
+    /**
+     * @see 
org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+     */
+    public void start(final BundleContext context) throws Exception {
+        try {
+            final Object provider = new TikaMimeTypeProvider();
+            final Dictionary<String, Object> props = new Hashtable<String, 
Object>();
+            props.put(Constants.SERVICE_DESCRIPTION, "Apache Tika MIME Type 
Provider");
+            props.put(Constants.SERVICE_VENDOR, "The Apache Software 
Foundation");
+
+            reg = context.registerService(MimeTypeProvider.class.getName(), 
provider, props);
+
+            logger.info("Registered Apache Tika mime type provider");
+        } catch (final Throwable t) {
+            logger.info("Unable to register Apache Tika mime type provider", 
t);
+        }
+    }
+
+    /**
+     * @see 
org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+     */
+    public void stop(final BundleContext context) throws Exception {
+        if ( reg != null ) {
+            reg.unregister();
+            reg = null;
+        }
+    }
+
+}

Propchange: 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/Activator.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Modified: 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/TikaMimeTypeProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/TikaMimeTypeProvider.java?rev=1619036&r1=1619035&r2=1619036&view=diff
==============================================================================
--- 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/TikaMimeTypeProvider.java
 (original)
+++ 
sling/trunk/bundles/commons/mime/src/main/java/org/apache/sling/commons/mime/internal/TikaMimeTypeProvider.java
 Wed Aug 20 06:46:27 2014
@@ -16,22 +16,15 @@
  */
 package org.apache.sling.commons.mime.internal;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.mime.MimeTypeProvider;
 import org.apache.tika.Tika;
 import org.apache.tika.mime.MimeType;
 import org.apache.tika.mime.MimeTypeException;
 import org.apache.tika.mime.MimeTypes;
-import org.osgi.framework.Constants;
 
 /**
  * MIME type provider based on Apache Tika.
  */
-@Component
-@Service(MimeTypeProvider.class)
-@Property(name = Constants.SERVICE_DESCRIPTION, value = "Apache Tika MIME Type 
Provider")
 public class TikaMimeTypeProvider implements MimeTypeProvider {
 
     private final Tika tika = new Tika();


Reply via email to