Author: bdelacretaz
Date: Fri Dec 18 13:27:21 2015
New Revision: 1720780

URL: http://svn.apache.org/viewvc?rev=1720780&view=rev
Log:
SLING-5390 - Allow HApi microdata client to fitler links and forms - 
contributed by Andrei Dulvac, thanks!

Modified:
    
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/Item.java
    
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java

Modified: 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/Item.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/Item.java?rev=1720780&r1=1720779&r2=1720780&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/Item.java
 (original)
+++ 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/Item.java
 Fri Dec 18 13:27:21 2015
@@ -44,11 +44,21 @@ public interface Item {
     Items link(String rel) throws ClientException;
 
     /**
+     * Returns all the child links
+     */
+    Items link() throws ClientException;
+
+    /**
      * Returns the child forms that have the given relation
      */
     Items form(String rel) throws ClientException;
 
     /**
+     * Returns all the child forms
+     */
+    Items form() throws ClientException;
+
+    /**
      * Returns the text value of the property.
      */
     String text() throws ClientException;

Modified: 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java?rev=1720780&r1=1720779&r2=1720780&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java
 (original)
+++ 
sling/trunk/contrib/extensions/hapi/client/src/main/java/org/apache/sling/hapi/client/microdata/MicrodataDocument.java
 Fri Dec 18 13:27:21 2015
@@ -133,12 +133,26 @@ public class MicrodataDocument implement
 
         @Override
         public Items link(String rel) throws ClientException {
-            return new ItemsImpl(toItems(getProxy().el.select("link[rel=" + 
rel + "], a[rel=" + rel + "]")));
+            String selector = "link[rel=" + rel + "], a[rel=" + rel + "], 
link" + toClass(rel) + ", a" + toClass(rel);
+            return new ItemsImpl(toItems(getProxy().el.select(selector)));
+        }
+
+        @Override
+        public Items link() throws ClientException {
+            String selector = "link, a";
+            return new ItemsImpl(toItems(getProxy().el.select(selector)));
         }
 
         @Override
         public Items form(String rel) throws ClientException {
-            return new ItemsImpl(toItems(getProxy().el.select("form[data-rel=" 
+ rel + "]")));
+            String selector = "form[data-rel=" + rel + "], form" + 
toClass(rel);
+            return new ItemsImpl(toItems(getProxy().el.select(selector)));
+        }
+
+        @Override
+        public Items form() throws ClientException {
+            String selector = "form";
+            return new ItemsImpl(toItems(getProxy().el.select(selector)));
         }
 
 
@@ -356,11 +370,21 @@ public class MicrodataDocument implement
         }
 
         @Override
+        public Items link() throws ClientException {
+            return items.get(0).link();
+        }
+
+        @Override
         public Items form(String rel) throws ClientException {
             return items.get(0).form(rel);
         }
 
         @Override
+        public Items form() throws ClientException {
+            return items.get(0).form();
+        }
+
+        @Override
         public String text() throws ClientException {
             return items.get(0).text();
         }


Reply via email to