You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:36:59 UTC

[sling-org-apache-sling-hapi] 14/24: SLING-5880 [hapi client] Make org.apache.sling.hapi.client into a bundle

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

rombert pushed a commit to annotated tag org.apache.sling.hapi.client-1.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-hapi.git

commit 313573a41ccb19edc144687220863f0d6c718792
Author: Andrei Dulvac <du...@apache.org>
AuthorDate: Tue Aug 9 07:47:02 2016 +0000

    SLING-5880 [hapi client] Make org.apache.sling.hapi.client into a bundle
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/hapi/client@1755563 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            | 33 +++++++--
 ...odataHtmlClient.java => HtmlClientService.java} | 31 ++------
 .../package-info.java}                             | 31 ++------
 .../hapi/client/impl/HtmlClientServiceImpl.java    | 82 ++++++++++++++++++++++
 .../{ => impl}/microdata/MicrodataDocument.java    |  2 +-
 .../{ => impl}/microdata/MicrodataHtmlClient.java  |  2 +-
 .../MicrodataHtmlClient.java => package-info.java} | 31 ++------
 .../apache/sling/hapi/client/test/FormTest.java    |  2 +-
 .../apache/sling/hapi/client/test/GetPostTest.java |  2 +-
 .../apache/sling/hapi/client/test/ItemsTest.java   |  2 +-
 10 files changed, 131 insertions(+), 87 deletions(-)

diff --git a/pom.xml b/pom.xml
index 249f1ac..c4e0735 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,8 @@
     </parent>
 
     <artifactId>org.apache.sling.hapi.client</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
 
     <name>HApi - Sling Hypermedia API client-side tools</name>
     <description>Sling client-side tools for HApi</description>
@@ -43,6 +44,30 @@
         <sling.java.version>6</sling.java.version>
     </properties>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>maven-sling-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Category>sling</Bundle-Category>
+                        <Sling-Initial-Content>SLING-INF;overwrite=true</Sling-Initial-Content>
+                        <Embed-Dependency>groupId=org.jsoup</Embed-Dependency>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
     <dependencies>
         <dependency>
@@ -68,12 +93,12 @@
         <dependency>
             <groupId>org.jsoup</groupId>
             <artifactId>jsoup</artifactId>
-            <version>1.8.3</version>
+            <version>1.9.2</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.7.12</version>
+            <version>1.7.21</version>
         </dependency>
         <!-- test scope -->
         <dependency>
@@ -86,7 +111,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>1.7.12</version>
+            <version>1.7.21</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java b/src/main/java/org/apache/sling/hapi/client/HtmlClientService.java
similarity index 53%
copy from src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
copy to src/main/java/org/apache/sling/hapi/client/HtmlClientService.java
index 807067a..bedf01d 100644
--- a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
+++ b/src/main/java/org/apache/sling/hapi/client/HtmlClientService.java
@@ -6,9 +6,9 @@
  * 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
- * <p>
+ * <p/>
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ * <p/>
  * 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
@@ -16,29 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  ******************************************************************************/
-package org.apache.sling.hapi.client.microdata;
+package org.apache.sling.hapi.client;
 
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.sling.hapi.client.impl.AbstractHtmlClientImpl;
+public interface HtmlClientService {
 
-import java.net.URISyntaxException;
-
-public class MicrodataHtmlClient extends AbstractHtmlClientImpl {
-
-    public MicrodataHtmlClient(CloseableHttpClient client, String baseUrl) throws URISyntaxException {
-        super(client, baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl) throws URISyntaxException {
-        super(baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl, String user, String password) throws URISyntaxException {
-        super(baseUrl, user, password);
-    }
-
-    @Override
-    public MicrodataDocument newDocument(String html) {
-        return new MicrodataDocument(html, this, this.baseUrl.toString());
-    }
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java b/src/main/java/org/apache/sling/hapi/client/forms/package-info.java
similarity index 53%
copy from src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
copy to src/main/java/org/apache/sling/hapi/client/forms/package-info.java
index 807067a..8003994 100644
--- a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
+++ b/src/main/java/org/apache/sling/hapi/client/forms/package-info.java
@@ -6,9 +6,9 @@
  * 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
- * <p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
  * 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
@@ -16,29 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  ******************************************************************************/
-package org.apache.sling.hapi.client.microdata;
 
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.sling.hapi.client.impl.AbstractHtmlClientImpl;
+@Version("1.0.0")
+package org.apache.sling.hapi.client.forms;
 
-import java.net.URISyntaxException;
-
-public class MicrodataHtmlClient extends AbstractHtmlClientImpl {
-
-    public MicrodataHtmlClient(CloseableHttpClient client, String baseUrl) throws URISyntaxException {
-        super(client, baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl) throws URISyntaxException {
-        super(baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl, String user, String password) throws URISyntaxException {
-        super(baseUrl, user, password);
-    }
-
-    @Override
-    public MicrodataDocument newDocument(String html) {
-        return new MicrodataDocument(html, this, this.baseUrl.toString());
-    }
-}
+import aQute.bnd.annotation.Version;
diff --git a/src/main/java/org/apache/sling/hapi/client/impl/HtmlClientServiceImpl.java b/src/main/java/org/apache/sling/hapi/client/impl/HtmlClientServiceImpl.java
new file mode 100644
index 0000000..a684d1d
--- /dev/null
+++ b/src/main/java/org/apache/sling/hapi/client/impl/HtmlClientServiceImpl.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hapi.client.impl;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.sling.hapi.client.HtmlClient;
+import org.apache.sling.hapi.client.HtmlClientService;
+import org.apache.sling.hapi.client.impl.microdata.MicrodataHtmlClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.URISyntaxException;
+
+@Component(metatype = false)
+@Service(value = HtmlClientService.class)
+public class HtmlClientServiceImpl implements HtmlClientService {
+
+    private final Logger LOG = LoggerFactory.getLogger(HtmlClientService.class);
+
+    /**
+     * Get the HtmlClient
+     * @param client The inner http client
+     * @param baseUrl the base URL as String
+     * @return the HtmlClient or null if there was an error
+     */
+    public HtmlClient getClient(CloseableHttpClient client, String baseUrl) {
+        try {
+            return new MicrodataHtmlClient(client, baseUrl);
+        } catch (URISyntaxException e) {
+            LOG.error("Cannot instantiate client", e);
+            return null;
+        }
+    }
+
+    /**
+     * {@see HtmlClient}
+     * @param baseUrl the base URL as String
+     * @return the HtmlClient or null if there was an error
+     */
+    public HtmlClient getClient(String baseUrl) {
+        try {
+            return new MicrodataHtmlClient(baseUrl);
+        } catch (URISyntaxException e) {
+            LOG.error("Cannot instantiate client", e);
+            return null;
+        }
+    }
+
+    /**
+     * {@see HtmlClient}
+     * @param baseUrl the base URL as String
+     * @param user the username to be used for basic auth
+     * @param password the password to be used for basic auth
+     * @return the HtmlClient or null if there was an error
+     */
+    public HtmlClient getClient(String baseUrl, String user, String password) {
+        try {
+            return new MicrodataHtmlClient(baseUrl, user, password);
+        } catch (URISyntaxException e) {
+            LOG.error("Cannot instantiate client", e);
+            return null;
+        }
+    }
+}
diff --git a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java b/src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataDocument.java
similarity index 99%
rename from src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java
rename to src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataDocument.java
index 22539df..248887d 100644
--- a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java
+++ b/src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataDocument.java
@@ -17,7 +17,7 @@
  * under the License.
  ******************************************************************************/
 
-package org.apache.sling.hapi.client.microdata;
+package org.apache.sling.hapi.client.impl.microdata;
 
 import org.apache.http.NameValuePair;
 import org.apache.sling.hapi.client.*;
diff --git a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java b/src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataHtmlClient.java
similarity index 97%
copy from src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
copy to src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataHtmlClient.java
index 807067a..c09eb3e 100644
--- a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
+++ b/src/main/java/org/apache/sling/hapi/client/impl/microdata/MicrodataHtmlClient.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  ******************************************************************************/
-package org.apache.sling.hapi.client.microdata;
+package org.apache.sling.hapi.client.impl.microdata;
 
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.sling.hapi.client.impl.AbstractHtmlClientImpl;
diff --git a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java b/src/main/java/org/apache/sling/hapi/client/package-info.java
similarity index 53%
rename from src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
rename to src/main/java/org/apache/sling/hapi/client/package-info.java
index 807067a..c15121e 100644
--- a/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataHtmlClient.java
+++ b/src/main/java/org/apache/sling/hapi/client/package-info.java
@@ -6,9 +6,9 @@
  * 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
- * <p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
  * 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
@@ -16,29 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  ******************************************************************************/
-package org.apache.sling.hapi.client.microdata;
 
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.sling.hapi.client.impl.AbstractHtmlClientImpl;
+@Version("1.0.0")
+package org.apache.sling.hapi.client;
 
-import java.net.URISyntaxException;
-
-public class MicrodataHtmlClient extends AbstractHtmlClientImpl {
-
-    public MicrodataHtmlClient(CloseableHttpClient client, String baseUrl) throws URISyntaxException {
-        super(client, baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl) throws URISyntaxException {
-        super(baseUrl);
-    }
-
-    public MicrodataHtmlClient(String baseUrl, String user, String password) throws URISyntaxException {
-        super(baseUrl, user, password);
-    }
-
-    @Override
-    public MicrodataDocument newDocument(String html) {
-        return new MicrodataDocument(html, this, this.baseUrl.toString());
-    }
-}
+import aQute.bnd.annotation.Version;
diff --git a/src/test/java/org/apache/sling/hapi/client/test/FormTest.java b/src/test/java/org/apache/sling/hapi/client/test/FormTest.java
index 5d9b675..9cfc73b 100644
--- a/src/test/java/org/apache/sling/hapi/client/test/FormTest.java
+++ b/src/test/java/org/apache/sling/hapi/client/test/FormTest.java
@@ -39,7 +39,7 @@ import org.apache.http.protocol.HttpRequestHandler;
 import org.apache.sling.hapi.client.ClientException;
 import org.apache.sling.hapi.client.Document;
 import org.apache.sling.hapi.client.Items;
-import org.apache.sling.hapi.client.microdata.MicrodataHtmlClient;
+import org.apache.sling.hapi.client.impl.microdata.MicrodataHtmlClient;
 import org.apache.sling.hapi.client.test.util.HttpServerRule;
 import org.junit.Assert;
 import org.junit.ClassRule;
diff --git a/src/test/java/org/apache/sling/hapi/client/test/GetPostTest.java b/src/test/java/org/apache/sling/hapi/client/test/GetPostTest.java
index 4e9b158..3f457c4 100644
--- a/src/test/java/org/apache/sling/hapi/client/test/GetPostTest.java
+++ b/src/test/java/org/apache/sling/hapi/client/test/GetPostTest.java
@@ -35,7 +35,7 @@ import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpRequestHandler;
 import org.apache.sling.hapi.client.ClientException;
 import org.apache.sling.hapi.client.Document;
-import org.apache.sling.hapi.client.microdata.MicrodataHtmlClient;
+import org.apache.sling.hapi.client.impl.microdata.MicrodataHtmlClient;
 import org.apache.sling.hapi.client.test.util.HttpServerRule;
 import org.hamcrest.core.StringContains;
 import org.junit.Assert;
diff --git a/src/test/java/org/apache/sling/hapi/client/test/ItemsTest.java b/src/test/java/org/apache/sling/hapi/client/test/ItemsTest.java
index 66561db..e43394e 100644
--- a/src/test/java/org/apache/sling/hapi/client/test/ItemsTest.java
+++ b/src/test/java/org/apache/sling/hapi/client/test/ItemsTest.java
@@ -35,7 +35,7 @@ import org.apache.http.protocol.HttpRequestHandler;
 import org.apache.sling.hapi.client.ClientException;
 import org.apache.sling.hapi.client.Document;
 import org.apache.sling.hapi.client.Items;
-import org.apache.sling.hapi.client.microdata.MicrodataHtmlClient;
+import org.apache.sling.hapi.client.impl.microdata.MicrodataHtmlClient;
 import org.apache.sling.hapi.client.test.util.HttpServerRule;
 import org.junit.Assert;
 import org.junit.ClassRule;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.