You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by jl...@apache.org on 2013/01/09 07:23:04 UTC

svn commit: r1430713 - in /incubator/easyant/core/trunk/src/main/java/org/apache/easyant: core/descriptor/ core/report/ core/services/impl/ man/

Author: jlboudart
Date: Wed Jan  9 07:23:03 2013
New Revision: 1430713

URL: http://svn.apache.org/viewvc?rev=1430713&view=rev
Log:
Describe ManCommand should display parameters (path for example)
Add source target where paremeters/property is defined

Modified:
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/descriptor/PropertyDescriptor.java
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/EasyAntReport.java
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/ParameterReport.java
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/man/Describe.java

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/descriptor/PropertyDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/descriptor/PropertyDescriptor.java?rev=1430713&r1=1430712&r2=1430713&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/descriptor/PropertyDescriptor.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/descriptor/PropertyDescriptor.java Wed Jan  9 07:23:03 2013
@@ -29,13 +29,15 @@ public class PropertyDescriptor implemen
     private String buildConfigurations;
     private final ModuleRevisionId sourceModule;
     private InheritableScope inheritScope;
-    private boolean inheritable=true;
+    private boolean inheritable = true;
+
+    private String owningTarget;
 
     public PropertyDescriptor(String propertyName) {
         this.name = propertyName;
         this.sourceModule = null;
     }
-    
+
     public PropertyDescriptor(String propertyName, ModuleRevisionId sourceModule) {
         this.name = propertyName;
         this.sourceModule = sourceModule;
@@ -102,7 +104,15 @@ public class PropertyDescriptor implemen
     }
 
     public void setInheritable(boolean isIneritable) {
-        this.inheritable=isIneritable;
-        
+        this.inheritable = isIneritable;
+
+    }
+
+    public String getOwningTarget() {
+        return owningTarget;
+    }
+
+    public void setOwningTarget(String owningTarget) {
+        this.owningTarget = owningTarget;
     }
-}
+}
\ No newline at end of file

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/EasyAntReport.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/EasyAntReport.java?rev=1430713&r1=1430712&r2=1430713&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/EasyAntReport.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/EasyAntReport.java Wed Jan  9 07:23:03 2013
@@ -156,6 +156,25 @@ public class EasyAntReport {
     }
 
     /**
+     * Get a parameter reports by its name Return null if not found
+     * 
+     * @param name
+     *            represent parameter name
+     * @return a parameter report
+     */
+    public ParameterReport getParameterReport(String parameterName) {
+        if (parameterName == null || parameterName.equals("")) {
+            throw new IllegalArgumentException("parameterName cannot be null");
+        }
+        for (ParameterReport parameterReport : parameterReports) {
+            if (parameterReport.getName().equals(parameterName)) {
+                return parameterReport;
+            }
+        }
+        return null;
+    }
+
+    /**
      * Add a parameterReport
      * 
      * @param parameterReport

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/ParameterReport.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/ParameterReport.java?rev=1430713&r1=1430712&r2=1430713&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/ParameterReport.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/report/ParameterReport.java Wed Jan  9 07:23:03 2013
@@ -18,14 +18,15 @@
 package org.apache.easyant.core.report;
 
 public class ParameterReport {
-    
+
     private String name = null;
     private String description = null;
     private boolean required = false;
     private String defaultValue = null;
     private String value = null;
     private final ParameterType type;
-    
+    private String owningTarget = null;
+
     public ParameterReport(ParameterType parameterType) {
         this.type = parameterType;
     }
@@ -74,4 +75,11 @@ public class ParameterReport {
         return type;
     }
 
-}
+    public String getOwningTarget() {
+        return owningTarget;
+    }
+
+    public void setOwningTarget(String owningTarget) {
+        this.owningTarget = owningTarget;
+    }
+}
\ No newline at end of file

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java?rev=1430713&r1=1430712&r2=1430713&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java Wed Jan  9 07:23:03 2013
@@ -284,6 +284,9 @@ public class DefaultPluginServiceImpl im
                         String key = (String) iter.next();
                         PropertyDescriptor propertyDescriptor = new PropertyDescriptor(key);
                         propertyDescriptor.setValue(propToLoad.getProperty(key));
+                        if (property.getOwningTarget() != null) {
+                            propertyDescriptor.setOwningTarget(property.getOwningTarget().getName());
+                        }
                         eaReport.addPropertyDescriptor(propertyDescriptor.getName(), propertyDescriptor);
                     }
 
@@ -297,6 +300,9 @@ public class DefaultPluginServiceImpl im
         if (property.getName() != null) {
             PropertyDescriptor propertyDescriptor = new PropertyDescriptor(property.getName());
             propertyDescriptor.setValue(property.getValue());
+            if (property.getOwningTarget() != null) {
+                propertyDescriptor.setOwningTarget(property.getOwningTarget().getName());
+            }
             eaReport.addPropertyDescriptor(property.getName(), propertyDescriptor);
         }
     }
@@ -307,6 +313,9 @@ public class DefaultPluginServiceImpl im
             propertyDescriptor.setDefaultValue(parameterTask.getDefault());
             propertyDescriptor.setRequired(parameterTask.isRequired());
             propertyDescriptor.setDescription(parameterTask.getDescription());
+            if (parameterTask.getOwningTarget() != null) {
+                propertyDescriptor.setOwningTarget(parameterTask.getOwningTarget().getName());
+            }
             Message.debug("Ant file has a property called : " + propertyDescriptor.getName());
             eaReport.addPropertyDescriptor(propertyDescriptor.getName(), propertyDescriptor);
         } else if (parameterTask.getPath() != null) {
@@ -314,6 +323,9 @@ public class DefaultPluginServiceImpl im
             parameterReport.setName(parameterTask.getPath());
             parameterReport.setRequired(parameterTask.isRequired());
             parameterReport.setDescription(parameterTask.getDescription());
+            if (parameterTask.getOwningTarget() != null) {
+                parameterReport.setOwningTarget(parameterTask.getOwningTarget().getName());
+            }
             eaReport.addParameterReport(parameterReport);
             Message.debug("Ant file has a path called : " + parameterReport.getName());
         }

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/man/Describe.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/man/Describe.java?rev=1430713&r1=1430712&r2=1430713&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/man/Describe.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/man/Describe.java Wed Jan  9 07:23:03 2013
@@ -19,6 +19,7 @@ package org.apache.easyant.man;
 
 import org.apache.easyant.core.descriptor.PropertyDescriptor;
 import org.apache.easyant.core.report.ExtensionPointReport;
+import org.apache.easyant.core.report.ParameterReport;
 import org.apache.easyant.core.report.TargetReport;
 
 /**
@@ -32,7 +33,7 @@ public class Describe extends EasyantOpt
     private static final long serialVersionUID = 1L;
 
     public Describe() throws IllegalArgumentException {
-        super("describe", true, "Describes extension points / target / property specified by the argument");
+        super("describe", true, "Describes extension point / target / property / parameters  specified by the argument");
         setStopBuild(true);
     }
 
@@ -60,7 +61,7 @@ public class Describe extends EasyantOpt
             getProject().log(LINE_SEP + "\t\tFor information on targets attached to this extension-point, run:");
             getProject().log("\t\teasyant -listTargets " + target);
         } else {
-            getProject().log("\tNo extrnsion point found for name: " + target);
+            getProject().log("\tNo extension point found for name: " + target);
         }
         TargetReport targetRep = getEareport().getTargetReport(target);
         if (targetRep != null) {
@@ -85,9 +86,24 @@ public class Describe extends EasyantOpt
             getProject().log("\t\tRequired: " + prop.isRequired());
             String currentValue = prop.getValue() == null ? defaultValue : prop.getValue();
             getProject().log("\t\tCurrent value: " + currentValue);
+            if (prop.getOwningTarget() != null) {
+                getProject().log("\t\tDefined in :" + prop.getOwningTarget());
+            }
         } else {
             getProject().log("\tNo Property found for name: " + target);
         }
+        ParameterReport parameter = getEareport().getParameterReport(target);
+        if (parameter != null) {
+            getProject().log("\tName: " + target);
+            getProject().log("\t\tType: " + parameter.getType());
+            getProject().log("\t\tDescription: " + parameter.getDescription());
+            getProject().log("\t\tRequired: " + parameter.isRequired());
+            if (parameter.getOwningTarget() != null) {
+                getProject().log("\t\tDefined in :" + parameter.getOwningTarget());
+            }
+        } else {
+            getProject().log("\tNo Parameter found for name: " + target);
+        }
 
         getProject().log(LINE_SEP + "--- End Of (Describe) ---");
     }