]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ImportBundlesZip.java
Work on the modular distribution - generate binaries, work on layout.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / osgi / ImportBundlesZip.java
index 8701688d8e80ddbbb8e8db5e2b1ae10a44856190..80574f8f66d8f27053a81717f8036317c3737674 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Argeo GmbH
+ *
+ * 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.repo.osgi;
 
 import java.io.ByteArrayInputStream;
@@ -22,14 +37,16 @@ import org.argeo.slc.SlcException;
 import org.argeo.slc.repo.ArtifactIndexer;
 import org.argeo.slc.repo.JarFileIndexer;
 import org.argeo.slc.repo.RepoUtils;
-import org.argeo.slc.repo.maven.MavenConventionsUtils;
 import org.sonatype.aether.artifact.Artifact;
 import org.sonatype.aether.util.artifact.DefaultArtifact;
 
 /**
  * Import all bundles in a zip file (typically an Eclipse distribution) into the
  * workspace.
+ * 
+ * @deprecated Use {@link ArchiveWrapper} instead.
  */
+@Deprecated
 public class ImportBundlesZip implements Runnable {
        private final static Log log = LogFactory.getLog(ImportBundlesZip.class);
        private Repository repository;
@@ -53,14 +70,14 @@ public class ImportBundlesZip implements Runnable {
                        session = repository.login(workspace);
 
                        // clear
-                       String groupPath = MavenConventionsUtils.groupPath(
-                                       artifactBasePath, groupId);
-                       if (session.itemExists(groupPath)) {
-                               session.getNode(groupPath).remove();
-                               session.save();
-                               if (log.isDebugEnabled())
-                                       log.debug("Cleared " + groupPath);
-                       }
+                       // String groupPath = MavenConventionsUtils.groupPath(
+                       // artifactBasePath, groupId);
+                       // if (session.itemExists(groupPath)) {
+                       // session.getNode(groupPath).remove();
+                       // session.save();
+                       // if (log.isDebugEnabled())
+                       // log.debug("Cleared " + groupPath);
+                       // }
 
                        zipIn = new ZipInputStream(url.openStream());
                        ZipEntry zipEntry = null;
@@ -78,12 +95,23 @@ public class ImportBundlesZip implements Runnable {
                                        log.warn(entryName + " has no MANIFEST");
                                        continue entries;
                                }
-                               NameVersion nv = RepoUtils.readNameVersion(manifest);
+                               NameVersion nv;
+                               try {
+                                       nv = RepoUtils.readNameVersion(manifest);
+                               } catch (Exception e) {
+                                       log.warn("Cannot read name version from " + entryName, e);
+                                       continue entries;
+                               }
 
+                               String bundleName = RepoUtils
+                                               .extractBundleNameFromSourceName(nv.getName());
                                // skip excluded bundles and their sources
-                               if (excludedBundles.contains(extractBundleNameFromSourceName(nv
-                                               .getName())))
+                               if (excludedBundles.contains(bundleName))
                                        continue entries;
+                               // for(String excludedBundle:excludedBundles){
+                               // if(bundleName.contains(excludedBundle))
+                               // continue entries;
+                               // }
 
                                Artifact artifact = new DefaultArtifact(groupId, nv.getName(),
                                                "jar", nv.getVersion());
@@ -109,15 +137,6 @@ public class ImportBundlesZip implements Runnable {
 
        }
 
-       /** If a source return the base bundle name, does not change otherwise */
-       private String extractBundleNameFromSourceName(String sourceBundleName) {
-               if (sourceBundleName.endsWith(".source"))
-                       return sourceBundleName.substring(0, sourceBundleName.length()
-                                       - ".source".length());
-               else
-                       return sourceBundleName;
-       }
-
        public void setRepository(Repository repository) {
                this.repository = repository;
        }