This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 8d0bdf5  Move file based artifact management into separate package
8d0bdf5 is described below

commit 8d0bdf50efadc3ffc5a1ba6fb24b91fc45e44dd9
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Mon Oct 1 14:15:49 2018 +0200

    Move file based artifact management into separate package
---
 .../apache/sling/feature/io/ArtifactManager.java   | 40 ----------------------
 .../java/org/apache/sling/feature/io/IOUtils.java  | 22 ------------
 .../feature/io/{ => file}/ArtifactHandler.java     |  2 +-
 .../ArtifactManager.java}                          | 17 +++++----
 .../ArtifactManagerConfig.java}                    |  8 ++---
 .../feature/io/{spi => file}/package-info.java     |  2 +-
 .../io/{ => file}/spi/ArtifactProvider.java        |  2 +-
 .../io/{ => file}/spi/ArtifactProviderContext.java |  2 +-
 .../feature/io/{ => file}/spi/package-info.java    |  2 +-
 .../ArtifactManagerTest.java}                      | 15 ++++----
 10 files changed, 26 insertions(+), 86 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/io/ArtifactManager.java 
b/src/main/java/org/apache/sling/feature/io/ArtifactManager.java
deleted file mode 100644
index 548f710..0000000
--- a/src/main/java/org/apache/sling/feature/io/ArtifactManager.java
+++ /dev/null
@@ -1,40 +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.sling.feature.io;
-
-import java.io.IOException;
-
-import org.apache.sling.feature.io.spi.ArtifactProvider;
-
-/**
- * The artifact manager is the central service to get artifacts.
- * It uses {@link ArtifactProvider}s to get artifacts. The
- * providers are loaded using the service loader.
- */
-public interface ArtifactManager extends AutoCloseable {
-
-    /**
-     * Get the full artifact url and file for an artifact.
-     * @param url Artifact url or relative path.
-     * @return Absolute url and file in the form of a handler.
-     * @throws IOException If something goes wrong.
-     */
-    ArtifactHandler getArtifactHandler(final String url) throws IOException;
-
-    @Override
-    void close();
-}
diff --git a/src/main/java/org/apache/sling/feature/io/IOUtils.java 
b/src/main/java/org/apache/sling/feature/io/IOUtils.java
index 567c5ab..9375aff 100644
--- a/src/main/java/org/apache/sling/feature/io/IOUtils.java
+++ b/src/main/java/org/apache/sling/feature/io/IOUtils.java
@@ -17,7 +17,6 @@
 package org.apache.sling.feature.io;
 
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.util.ArrayList;
@@ -26,8 +25,6 @@ import java.util.Comparator;
 import java.util.List;
 
 import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.io.json.FeatureJSONReader;
 
 public class IOUtils {
 
@@ -161,25 +158,6 @@ public class IOUtils {
     }
 
     /**
-     * Read the feature
-     *
-     * @param url The feature url
-     * @param artifactManager The artifact manager to read the feature
-     * @return The read feature
-     * @throws IOException If reading fails
-     */
-    public static Feature getFeature(final String url,
-            final ArtifactManager artifactManager)
-    throws IOException {
-        final ArtifactHandler featureArtifact = 
artifactManager.getArtifactHandler(url);
-
-        try (final FileReader r = new FileReader(featureArtifact.getFile())) {
-            final Feature f = FeatureJSONReader.read(r, 
featureArtifact.getUrl());
-            return f;
-        }
-    }
-
-    /**
      * Get an artifact id for the Apache Felix framework
      * @param version The version to use or {@code null} for the default 
version
      * @return The artifact id
diff --git a/src/main/java/org/apache/sling/feature/io/ArtifactHandler.java 
b/src/main/java/org/apache/sling/feature/io/file/ArtifactHandler.java
similarity index 96%
rename from src/main/java/org/apache/sling/feature/io/ArtifactHandler.java
rename to src/main/java/org/apache/sling/feature/io/file/ArtifactHandler.java
index 45f27be..5ae472c 100644
--- a/src/main/java/org/apache/sling/feature/io/ArtifactHandler.java
+++ b/src/main/java/org/apache/sling/feature/io/file/ArtifactHandler.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io;
+package org.apache.sling.feature.io.file;
 
 import java.io.File;
 
diff --git 
a/src/main/java/org/apache/sling/feature/io/DefaultArtifactManager.java 
b/src/main/java/org/apache/sling/feature/io/file/ArtifactManager.java
similarity index 95%
rename from 
src/main/java/org/apache/sling/feature/io/DefaultArtifactManager.java
rename to src/main/java/org/apache/sling/feature/io/file/ArtifactManager.java
index f0988be..0db5c51 100644
--- a/src/main/java/org/apache/sling/feature/io/DefaultArtifactManager.java
+++ b/src/main/java/org/apache/sling/feature/io/file/ArtifactManager.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io;
+package org.apache.sling.feature.io.file;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -32,8 +32,8 @@ import java.util.Map;
 import java.util.ServiceLoader;
 
 import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.io.spi.ArtifactProvider;
-import org.apache.sling.feature.io.spi.ArtifactProviderContext;
+import org.apache.sling.feature.io.file.spi.ArtifactProvider;
+import org.apache.sling.feature.io.file.spi.ArtifactProviderContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
  * It uses {@link ArtifactProvider}s to get artifacts. The
  * providers are loaded using the service loader.
  */
-public class DefaultArtifactManager implements AutoCloseable, ArtifactManager {
+public class ArtifactManager implements AutoCloseable {
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
@@ -50,7 +50,7 @@ public class DefaultArtifactManager implements AutoCloseable, 
ArtifactManager {
     private final Map<String, ArtifactProvider> providers;
 
     /** The configuration */
-    private final DefaultArtifactManagerConfig config;
+    private final ArtifactManagerConfig config;
 
     /**
      * Get an artifact manager based on the configuration
@@ -58,7 +58,7 @@ public class DefaultArtifactManager implements AutoCloseable, 
ArtifactManager {
      * @return The artifact manager
      * @throws IOException If the manager can't be initialized
      */
-    public static ArtifactManager getArtifactManager(final 
DefaultArtifactManagerConfig config) throws IOException {
+    public static ArtifactManager getArtifactManager(final 
ArtifactManagerConfig config) throws IOException {
         final ServiceLoader<ArtifactProvider> loader = 
ServiceLoader.load(ArtifactProvider.class);
         final Map<String, ArtifactProvider> providers = new HashMap<>();
         for(final ArtifactProvider provider : loader) {
@@ -76,10 +76,10 @@ public class DefaultArtifactManager implements 
AutoCloseable, ArtifactManager {
             providers.put("*", new DefaultArtifactHandler());
         }
 
-        return new DefaultArtifactManager(config, providers);
+        return new ArtifactManager(config, providers);
     }
 
-    DefaultArtifactManager(final DefaultArtifactManagerConfig config, final 
Map<String, ArtifactProvider> providers)
+    ArtifactManager(final ArtifactManagerConfig config, final Map<String, 
ArtifactProvider> providers)
     throws IOException {
         this.config = config;
         this.providers = providers;
@@ -129,7 +129,6 @@ public class DefaultArtifactManager implements 
AutoCloseable, ArtifactManager {
      * @return Absolute url and file in the form of a handler.
      * @throws IOException If something goes wrong.
      */
-    @Override
     public ArtifactHandler getArtifactHandler(final String url) throws 
IOException {
         logger.debug("Trying to get artifact for {}", url);
 
diff --git 
a/src/main/java/org/apache/sling/feature/io/DefaultArtifactManagerConfig.java 
b/src/main/java/org/apache/sling/feature/io/file/ArtifactManagerConfig.java
similarity index 94%
rename from 
src/main/java/org/apache/sling/feature/io/DefaultArtifactManagerConfig.java
rename to 
src/main/java/org/apache/sling/feature/io/file/ArtifactManagerConfig.java
index f629908..60c620b 100644
--- 
a/src/main/java/org/apache/sling/feature/io/DefaultArtifactManagerConfig.java
+++ b/src/main/java/org/apache/sling/feature/io/file/ArtifactManagerConfig.java
@@ -14,18 +14,18 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io;
+package org.apache.sling.feature.io.file;
 
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 
-import org.apache.sling.feature.io.spi.ArtifactProviderContext;
+import org.apache.sling.feature.io.file.spi.ArtifactProviderContext;
 
 /**
  * This class holds the configuration of artifact manager.
  */
-public class DefaultArtifactManagerConfig implements ArtifactProviderContext {
+public class ArtifactManagerConfig implements ArtifactProviderContext {
 
     /** The repository urls. */
     private volatile String[] repositoryUrls;
@@ -43,7 +43,7 @@ public class DefaultArtifactManagerConfig implements 
ArtifactProviderContext {
      * Create a new configuration object.
      * Set the default values
      */
-    public DefaultArtifactManagerConfig() {
+    public ArtifactManagerConfig() {
         // set defaults
         this.repositoryUrls = new String[] {
                 "file://" + System.getProperty("user.home") + 
"/.m2/repository",
diff --git a/src/main/java/org/apache/sling/feature/io/spi/package-info.java 
b/src/main/java/org/apache/sling/feature/io/file/package-info.java
similarity index 95%
copy from src/main/java/org/apache/sling/feature/io/spi/package-info.java
copy to src/main/java/org/apache/sling/feature/io/file/package-info.java
index a1d585c..e8ae306 100644
--- a/src/main/java/org/apache/sling/feature/io/spi/package-info.java
+++ b/src/main/java/org/apache/sling/feature/io/file/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @org.osgi.annotation.versioning.Version("0.1.0")
-package org.apache.sling.feature.io.spi;
+package org.apache.sling.feature.io.file;
 
 
diff --git 
a/src/main/java/org/apache/sling/feature/io/spi/ArtifactProvider.java 
b/src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProvider.java
similarity index 97%
rename from src/main/java/org/apache/sling/feature/io/spi/ArtifactProvider.java
rename to 
src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProvider.java
index 5f250d7..75ccd85 100644
--- a/src/main/java/org/apache/sling/feature/io/spi/ArtifactProvider.java
+++ b/src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProvider.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io.spi;
+package org.apache.sling.feature.io.file.spi;
 
 import java.io.File;
 import java.io.IOException;
diff --git 
a/src/main/java/org/apache/sling/feature/io/spi/ArtifactProviderContext.java 
b/src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProviderContext.java
similarity index 96%
rename from 
src/main/java/org/apache/sling/feature/io/spi/ArtifactProviderContext.java
rename to 
src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProviderContext.java
index c837548..f3d67bb 100644
--- a/src/main/java/org/apache/sling/feature/io/spi/ArtifactProviderContext.java
+++ 
b/src/main/java/org/apache/sling/feature/io/file/spi/ArtifactProviderContext.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io.spi;
+package org.apache.sling.feature.io.file.spi;
 
 import java.io.File;
 
diff --git a/src/main/java/org/apache/sling/feature/io/spi/package-info.java 
b/src/main/java/org/apache/sling/feature/io/file/spi/package-info.java
similarity index 94%
rename from src/main/java/org/apache/sling/feature/io/spi/package-info.java
rename to src/main/java/org/apache/sling/feature/io/file/spi/package-info.java
index a1d585c..1faab70 100644
--- a/src/main/java/org/apache/sling/feature/io/spi/package-info.java
+++ b/src/main/java/org/apache/sling/feature/io/file/spi/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @org.osgi.annotation.versioning.Version("0.1.0")
-package org.apache.sling.feature.io.spi;
+package org.apache.sling.feature.io.file.spi;
 
 
diff --git 
a/src/test/java/org/apache/sling/feature/io/DefaultArtifactManagerTest.java 
b/src/test/java/org/apache/sling/feature/io/file/ArtifactManagerTest.java
similarity index 88%
rename from 
src/test/java/org/apache/sling/feature/io/DefaultArtifactManagerTest.java
rename to 
src/test/java/org/apache/sling/feature/io/file/ArtifactManagerTest.java
index a5bfe4c..69d9d32 100644
--- a/src/test/java/org/apache/sling/feature/io/DefaultArtifactManagerTest.java
+++ b/src/test/java/org/apache/sling/feature/io/file/ArtifactManagerTest.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.sling.feature.io;
+package org.apache.sling.feature.io.file;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -26,10 +26,13 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sling.feature.io.spi.ArtifactProvider;
+import org.apache.sling.feature.io.file.ArtifactHandler;
+import org.apache.sling.feature.io.file.ArtifactManager;
+import org.apache.sling.feature.io.file.ArtifactManagerConfig;
+import org.apache.sling.feature.io.file.spi.ArtifactProvider;
 import org.junit.Test;
 
-public class DefaultArtifactManagerTest {
+public class ArtifactManagerTest {
 
     private static final String METADATA = "<metadata 
modelVersion=\"1.1.0\">\n" +
             "<groupId>org.apache.sling.samples</groupId>\n" +
@@ -56,13 +59,13 @@ public class DefaultArtifactManagerTest {
             "</versioning></metadata>";
 
     @Test public void testMetadataParsing() {
-        final String version = 
DefaultArtifactManager.getLatestSnapshot(METADATA);
+        final String version = ArtifactManager.getLatestSnapshot(METADATA);
         assertEquals("20160321.103951-1", version);
     }
 
     @Test public void testSnapshotHandling() throws IOException {
         final String REPO = "http://org.apache.sling";;
-        final DefaultArtifactManagerConfig config = 
mock(DefaultArtifactManagerConfig.class);
+        final ArtifactManagerConfig config = mock(ArtifactManagerConfig.class);
         when(config.getRepositoryUrls()).thenReturn(new String[] {REPO});
 
         final File metadataFile = mock(File.class);
@@ -80,7 +83,7 @@ public class DefaultArtifactManagerTest {
         final Map<String, ArtifactProvider> providers = new HashMap<>();
         providers.put("*", provider);
 
-        final ArtifactManager mgr = new DefaultArtifactManager(config, 
providers) {
+        final ArtifactManager mgr = new ArtifactManager(config, providers) {
 
             @Override
             protected String getFileContents(final ArtifactHandler handler) 
throws IOException {

Reply via email to