You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2015/01/15 18:24:22 UTC

svn commit: r1652176 - in /sling/trunk/contrib/scripting/sightly: engine/src/main/java/org/apache/sling/scripting/sightly/ engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/ engine/src/main/java/org/apache/sling/scripting/sightly/im...

Author: fmeschbe
Date: Thu Jan 15 17:24:21 2015
New Revision: 1652176

URL: http://svn.apache.org/r1652176
Log:
SLING-4305 Refactor the Record interface:

   * get -> getProperty
   * properties -> getPropertyNames
   
Applied patch by Radu Cotescu (thanks a lot)

Modified:
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
    sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java
    sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/Record.java Thu Jan 15 17:24:21 2015
@@ -24,24 +24,28 @@ import java.util.Set;
 import aQute.bnd.annotation.ConsumerType;
 
 /**
- * A key-value immutable object understood by the Sightly runtime
+ * A {@code Record} is a key-value immutable object understood by the Sightly runtime, used for abstracting complex objects like Sightly
+ * templates (declared with the {@code data-sly-template} block element) or objects that need to be translated from Java to JavaScript
+ * and back.
+ *
  * @param <T> the type of values for this record
  */
 @ConsumerType
 public interface Record<T> {
 
     /**
-     * Get the value of the specified property
+     * Gets the value of a specified property.
+     *
      * @param name the name of the property
-     * @return the value of the property or null if this record does not
-     * have the specified property
+     * @return the value of the property or {@code null} if this record does not have the specified property
      */
-    T get(String name);
+    T getProperty(String name);
 
     /**
-     * Get the set of properties for this record
-     * @return this record's properties
+     * Gets the set of names for this record's properties.
+     *
+     * @return this record's properties' names
      */
-    Set<String> properties();
+    Set<String> getPropertyNames();
 
 }

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiled/SourceGenConstants.java Thu Jan 15 17:24:21 2015
@@ -48,6 +48,6 @@ public final class SourceGenConstants {
     public static final String MAP_GET = "get";
     public static final String TRIM_METHOD = "trim";
     public static final String STRING_EMPTY = "isEmpty";
-    public static final String OBJ_GET = "get";
+    public static final String RECORD_GET_VALUE = "getProperty";
     public static final String ARGUMENTS_FIELD = "arguments";
 }

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/compiler/visitor/CodeGenVisitor.java Thu Jan 15 17:24:21 2015
@@ -82,7 +82,7 @@ public class CodeGenVisitor implements C
             case DYNAMIC:
                 initSource.beginAssignment(descriptor.getAssignedName());
                 if (descriptor.isTemplateVariable()) {
-                    initSource.startCall(SourceGenConstants.OBJ_GET);
+                    initSource.startCall(SourceGenConstants.RECORD_GET_VALUE);
                 } else if (unitParameters.contains(descriptor.getOriginalName().toLowerCase())) {
                     initSource.startMethodCall(SourceGenConstants.ARGUMENTS_FIELD, SourceGenConstants.BINDINGS_GET_METHOD);
                 } else {

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderContextImpl.java Thu Jan 15 17:24:21 2015
@@ -172,7 +172,7 @@ public class RenderContextImpl implement
             return ((Map) obj).keySet();
         }
         if (obj instanceof Record) {
-            return ((Record) obj).properties();
+            return ((Record) obj).getPropertyNames();
         }
         if (obj instanceof Enumeration) {
             return Collections.list((Enumeration<Object>) obj);
@@ -245,7 +245,7 @@ public class RenderContextImpl implement
             result = getMapProperty((Map) target, property);
         }
         if (result == null && target instanceof Record) {
-            result = ((Record) target).get(property);
+            result = ((Record) target).getProperty(property);
         }
         if (result == null) {
             result = getObjectProperty(target, property);

Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/runtime/RenderUnit.java Thu Jan 15 17:24:21 2015
@@ -53,12 +53,12 @@ public abstract class RenderUnit impleme
     }
 
     @Override
-    public RenderUnit get(String name) {
+    public RenderUnit getProperty(String name) {
         return subTemplates.get(name.toLowerCase());
     }
 
     @Override
-    public Set<String> properties() {
+    public Set<String> getPropertyNames() {
         return subTemplates.keySet();
     }
 

Modified: sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java?rev=1652176&r1=1652175&r2=1652176&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java (original)
+++ sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/rhino/HybridObject.java Thu Jan 15 17:24:21 2015
@@ -44,7 +44,7 @@ public class HybridObject implements Scr
     // Record implementation
 
     @Override
-    public Object get(String name) {
+    public Object getProperty(String name) {
         if (name == null) {
             return null;
         }
@@ -57,7 +57,7 @@ public class HybridObject implements Scr
     }
 
     @Override
-    public Set<String> properties() {
+    public Set<String> getPropertyNames() {
         Object[] properties = scriptable.getIds();
         Set<String> keys = new HashSet<String>();
         for (Object property: properties) {