You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2014/01/20 14:15:37 UTC

[2/3] git commit: KARAF-2696 Refactoring to share common code between BundleRef and ConfigFileRef

KARAF-2696 Refactoring to share common code between BundleRef and ConfigFileRef


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/a58bf155
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/a58bf155
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/a58bf155

Branch: refs/heads/master
Commit: a58bf155d3b1747bcdc513d88114281e8de940f0
Parents: fe0d4c0
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Jan 20 14:13:32 2014 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Mon Jan 20 14:13:32 2014 +0100

----------------------------------------------------------------------
 .../tooling/features/AbstractFeatureMojo.java   | 27 ++++---------
 .../tooling/features/AddToRepositoryMojo.java   | 33 +++------------
 .../features/FeatureMetaDataExporter.java       |  4 +-
 .../tooling/features/model/ArtifactRef.java     | 42 ++++++++++++++++++++
 .../karaf/tooling/features/model/BundleRef.java | 18 +--------
 .../tooling/features/model/ConfigFileRef.java   | 42 --------------------
 .../karaf/tooling/features/model/Feature.java   |  6 +--
 .../tooling/features/model/Repository.java      |  2 +-
 8 files changed, 63 insertions(+), 111 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
index 0a7c1bb..3d52f2d 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
@@ -26,8 +26,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.karaf.tooling.features.model.BundleRef;
-import org.apache.karaf.tooling.features.model.ConfigFileRef;
+import org.apache.karaf.tooling.features.model.ArtifactRef;
 import org.apache.karaf.tooling.features.model.Feature;
 import org.apache.karaf.tooling.features.model.Repository;
 import org.apache.karaf.tooling.utils.MojoSupport;
@@ -220,8 +219,8 @@ public abstract class AbstractFeatureMojo extends MojoSupport {
     
             getLog().info("Base repo: " + localRepo.getUrl());
             for (Feature feature : featuresSet) {
-                resolveBundles(feature.getBundles());
-                resolveConfigFiles(feature.getConfigFiles());
+                resolveArtifacts(feature.getBundles());
+                resolveArtifacts(feature.getConfigFiles());
             }            
         } catch (Exception e) {
             throw new MojoExecutionException("Error populating repository", e);
@@ -229,23 +228,11 @@ public abstract class AbstractFeatureMojo extends MojoSupport {
         return featuresSet;
     }
     
-    private void resolveBundles(List<BundleRef> bundleRefs) throws MojoExecutionException {
-        for (BundleRef bundle : bundleRefs) {
-            Artifact artifact = resourceToArtifact(bundle.getUrl(), skipNonMavenProtocols);
+    private void resolveArtifacts(List<? extends ArtifactRef> artifactRefs) throws MojoExecutionException {
+        for (ArtifactRef artifactRef : artifactRefs) {
+            Artifact artifact = resourceToArtifact(artifactRef.getUrl(), skipNonMavenProtocols);
             if (artifact != null) {
-                // Store artifact in bundle for later export
-                bundle.setArtifact(artifact);
-                resolveArtifact(artifact, remoteRepos);
-            }
-            checkDoGarbageCollect();
-        }
-    }
-    
-    private void resolveConfigFiles(List<ConfigFileRef> configRefs) throws MojoExecutionException {
-        for (ConfigFileRef config : configRefs) {
-            Artifact artifact = resourceToArtifact(config.getUrl(), skipNonMavenProtocols);
-            if (artifact != null) {
-                config.setArtifact(artifact);
+                artifactRef.setArtifact(artifact);
                 resolveArtifact(artifact, remoteRepos);
             }
             checkDoGarbageCollect();

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
index f3d2be6..b8ac820 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
@@ -21,8 +21,7 @@ import java.io.File;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.karaf.tooling.features.model.BundleRef;
-import org.apache.karaf.tooling.features.model.ConfigFileRef;
+import org.apache.karaf.tooling.features.model.ArtifactRef;
 import org.apache.karaf.tooling.features.model.Feature;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -65,26 +64,17 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo {
         }
 
         for (Feature feature : featuresSet) {
-            copyBundlesToDestRepository(feature.getBundles());
-            copyConfigFilesToDestRepository(feature.getConfigFiles());
+        	copyArtifactsToDestRepository(feature.getBundles());
+            copyArtifactsToDestRepository(feature.getConfigFiles());
         }
         
         copyFileBasedDescriptorsToDestRepository();
         
     }
 
-    private void copyBundlesToDestRepository(List<BundleRef> bundleRefs) throws MojoExecutionException {
-        for (BundleRef bundle : bundleRefs) {
-            Artifact artifact = bundle.getArtifact();
-            if (artifact != null) {
-                copy(artifact, repository);
-            }
-        }
-    }
-    
-    private void copyConfigFilesToDestRepository(List<ConfigFileRef> configRefs) throws MojoExecutionException {
-        for (ConfigFileRef config : configRefs) {
-            Artifact artifact = config.getArtifact();
+    private void copyArtifactsToDestRepository(List<? extends ArtifactRef> artifactRefs) throws MojoExecutionException {
+        for (ArtifactRef artifactRef : artifactRefs) {
+            Artifact artifact = artifactRef.getArtifact();
             if (artifact != null) {
                 copy(artifact, repository);
             }
@@ -113,17 +103,6 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo {
         return dir + name;
     }
 
-    private void copyArtifactsToDestRepository(List<String> list) throws MojoExecutionException {
-        for (String bundle : list) {
-            Artifact artifact = resourceToArtifact(bundle, skipNonMavenProtocols);
-            if (artifact != null) {
-                resolveArtifact(artifact, remoteRepos);
-                copy(artifact, repository);
-            }
-            checkDoGarbageCollect();
-        }
-    }
-    
     private void copyFileBasedDescriptorsToDestRepository() {
         if (copyFileBasedDescriptors != null) {
             for (CopyFileBasedDescriptor fileBasedDescriptor : copyFileBasedDescriptors) {

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/FeatureMetaDataExporter.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/FeatureMetaDataExporter.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/FeatureMetaDataExporter.java
index bda45ec..48ca787 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/FeatureMetaDataExporter.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/FeatureMetaDataExporter.java
@@ -26,7 +26,7 @@ import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.events.StartDocument;
 
 import org.apache.karaf.tooling.features.model.BundleRef;
-import org.apache.karaf.tooling.features.model.ConfigFileRef;
+import org.apache.karaf.tooling.features.model.ArtifactRef;
 import org.apache.karaf.tooling.features.model.Feature;
 import org.apache.maven.artifact.Artifact;
 
@@ -85,7 +85,7 @@ public class FeatureMetaDataExporter {
             writer.add(factory.createCharacters(bundle.getUrl()));
             endElement("bundle");
         }
-        for (ConfigFileRef config : feature.getConfigFiles()) {
+        for (ArtifactRef config : feature.getConfigFiles()) {
             writer.add(factory.createStartElement("", "", "config"));
             if (config.getArtifact()!= null) {
                 String name = MavenUtil.getFileName(config.getArtifact());

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ArtifactRef.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ArtifactRef.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ArtifactRef.java
new file mode 100644
index 0000000..53ca9cf
--- /dev/null
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ArtifactRef.java
@@ -0,0 +1,42 @@
+/**
+ *
+ * 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.karaf.tooling.features.model;
+
+import org.apache.maven.artifact.Artifact;
+
+public class ArtifactRef {
+    String url;
+    Artifact artifact;
+    
+    public ArtifactRef(String url) {
+        super();
+        this.url = url;
+    }
+    
+    public String getUrl() {
+        return url;
+    }
+    
+    public Artifact getArtifact() {
+        return artifact;
+    }
+
+    public void setArtifact(Artifact artifact) {
+        this.artifact = artifact;
+    }
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/BundleRef.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/BundleRef.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/BundleRef.java
index 453195c..c098816 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/BundleRef.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/BundleRef.java
@@ -24,35 +24,21 @@ import java.util.jar.Manifest;
 
 import org.apache.maven.artifact.Artifact;
 
-public class BundleRef {
-    String url;
+public class BundleRef extends ArtifactRef {
     Integer startLevel;
     Artifact artifact;
     String bundleSymbolicName;
     String bundleVersion;
 
     public BundleRef(String url, Integer startLevel) {
-        super();
-        this.url = url;
+        super(url);
         this.startLevel = startLevel;
     }
 
-    public String getUrl() {
-        return url;
-    }
-
     public Integer getStartLevel() {
         return startLevel;
     }
 
-    public Artifact getArtifact() {
-        return artifact;
-    }
-
-    public void setArtifact(Artifact artifact) {
-        this.artifact = artifact;
-    }
-    
     public void readManifest() {
         JarInputStream bundleJar = null;
         try {

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ConfigFileRef.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ConfigFileRef.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ConfigFileRef.java
deleted file mode 100644
index e6563d2..0000000
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/ConfigFileRef.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- *
- * 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.karaf.tooling.features.model;
-
-import org.apache.maven.artifact.Artifact;
-
-public class ConfigFileRef {
-    String url;
-    Artifact artifact;
-    
-    public ConfigFileRef(String url) {
-        super();
-        this.url = url;
-    }
-    
-    public String getUrl() {
-        return url;
-    }
-    
-    public Artifact getArtifact() {
-        return artifact;
-    }
-
-    public void setArtifact(Artifact artifact) {
-        this.artifact = artifact;
-    }
-}

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Feature.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Feature.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Feature.java
index a42a2c4..a818671 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Feature.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Feature.java
@@ -29,7 +29,7 @@ public class Feature {
     private List<String> dependencies = new ArrayList<String>();
     private List<BundleRef> bundles = new ArrayList<BundleRef>();
     private Map<String, Map<String, String>> configs = new HashMap<String, Map<String, String>>();
-    private List<ConfigFileRef> configFiles = new ArrayList<ConfigFileRef>();
+    private List<ArtifactRef> configFiles = new ArrayList<ArtifactRef>();
 
     public Feature(String name) {
         this.name = name;
@@ -59,7 +59,7 @@ public class Feature {
         return configs;
     }
 
-    public List<ConfigFileRef> getConfigFiles() {
+    public List<ArtifactRef> getConfigFiles() {
         return configFiles;
     }
 
@@ -75,7 +75,7 @@ public class Feature {
         configs.put(name, properties);
     }
 
-    public void addConfigFile(ConfigFileRef configFile) {
+    public void addConfigFile(ArtifactRef configFile) {
         configFiles.add(configFile);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/a58bf155/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
index ade882e..ad5152d 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
@@ -118,7 +118,7 @@ public class Repository {
                 NodeList configFileNodes = e.getElementsByTagName("configfile");
                 for (int j = 0; j < configFileNodes.getLength(); j++) {
                     Element c = (Element) configFileNodes.item(j);
-                    f.addConfigFile(new ConfigFileRef(c.getTextContent()));
+                    f.addConfigFile(new ArtifactRef(c.getTextContent()));
                 }
                 NodeList bundleNodes = e.getElementsByTagName("bundle");
                 for (int j = 0; j < bundleNodes.getLength(); j++) {