X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fosgi%2FImportBundlesZip.java;h=80574f8f66d8f27053a81717f8036317c3737674;hb=5686259eb6e4da5006034087c71f349b3097be8d;hp=8701688d8e80ddbbb8e8db5e2b1ae10a44856190;hpb=ece297b709bf55a514b471e1141dcd22fcdc54c6;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ImportBundlesZip.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ImportBundlesZip.java index 8701688d8..80574f8f6 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ImportBundlesZip.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ImportBundlesZip.java @@ -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; }