You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by me...@locus.apache.org on 2000/11/16 23:38:41 UTC
cvs commit: jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs ACSBeanDescriptor.java ACSProjectElementBeanInfo.java ACSPropertyElement.java ACSPropertyElementBeanInfo.java ACSTargetElementBeanInfo.java ACSTaskElementBeanInfo.java ACSTreeNodeElement.java BaseBeanInfo.java
metasim 00/11/16 14:38:41
Modified: src/antidote/org/apache/tools/ant/gui/acs
ACSBeanDescriptor.java
ACSProjectElementBeanInfo.java
ACSPropertyElement.java
ACSPropertyElementBeanInfo.java
ACSTargetElementBeanInfo.java
ACSTaskElementBeanInfo.java ACSTreeNodeElement.java
BaseBeanInfo.java
Log:
Changed mechanism by which the PropertyEditor editor is instantiated so that it
uses whatever class is retured by BeanDescriptor.getCustomizerClass() rather
than assuming DynamicCustomizer. This will allow BeanSpecific customizers to be
used in leu of the DynamicCustomizer.
Also finally figured out the IllegalAccessException problem with calling the
NodeList methods in the ACSTreeNodeElement classes, which turned out only to
happen when jikes was used for compiling. Implemented a work around.
Revision Changes Path
1.2 +2 -3 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSBeanDescriptor.java
Index: ACSBeanDescriptor.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSBeanDescriptor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ACSBeanDescriptor.java 2000/11/10 20:41:12 1.1
+++ ACSBeanDescriptor.java 2000/11/16 22:38:40 1.2
@@ -59,13 +59,12 @@
/**
* Specialized BeanDescriptor for providing more descriptive information.
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @author Simeon Fitch
*/
class ACSBeanDescriptor extends BeanDescriptor {
-
public ACSBeanDescriptor(BaseBeanInfo type) {
- super(type.getType());
+ super(type.getType(), type.getCustomizerType());
setDisplayName(
type.getResources().getString(type.getClass(), "beanName"));
setShortDescription(
1.3 +17 -1 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSProjectElementBeanInfo.java
Index: ACSProjectElementBeanInfo.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSProjectElementBeanInfo.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ACSProjectElementBeanInfo.java 2000/11/11 04:52:20 1.2
+++ ACSProjectElementBeanInfo.java 2000/11/16 22:38:40 1.3
@@ -53,12 +53,13 @@
*/
package org.apache.tools.ant.gui.acs;
+import org.apache.tools.ant.gui.customizer.DynamicCustomizer;
import java.beans.*;
/**
* BeanInfo for the ACSProjectElement class.
*
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
* @author Simeon Fitch
*/
public class ACSProjectElementBeanInfo extends BaseBeanInfo {
@@ -79,6 +80,15 @@
}
/**
+ * Get the customizer type.
+ *
+ * @return Customizer type.
+ */
+ public Class getCustomizerType() {
+ return Customizer.class;
+ }
+
+ /**
* Get the property descriptors.
*
* @return Property descriptors.
@@ -117,4 +127,10 @@
return retval;
}
+ /** Customizer for this bean info. */
+ public static class Customizer extends DynamicCustomizer {
+ public Customizer() {
+ super(ACSProjectElement.class);
+ }
+ }
}
1.2 +2 -2 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSPropertyElement.java
Index: ACSPropertyElement.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSPropertyElement.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ACSPropertyElement.java 2000/11/11 04:54:04 1.1
+++ ACSPropertyElement.java 2000/11/16 22:38:40 1.2
@@ -58,7 +58,7 @@
/**
* Element containing a property definition.
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @author Simeon Fitch
*/
public class ACSPropertyElement extends ACSTreeNodeElement {
@@ -85,10 +85,10 @@
String file = getFile();
if(file == null || file.trim().length() == 0) {
- return "Property: " + getName();
+ return "property: " + getName();
}
else {
- return "Property File: " + file;
+ return "property file: " + file;
}
}
1.2 +16 -0 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSPropertyElementBeanInfo.java
Index: ACSPropertyElementBeanInfo.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSPropertyElementBeanInfo.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ACSPropertyElementBeanInfo.java 2000/11/11 04:54:04 1.1
+++ ACSPropertyElementBeanInfo.java 2000/11/16 22:38:40 1.2
@@ -53,12 +53,13 @@
*/
package org.apache.tools.ant.gui.acs;
+import org.apache.tools.ant.gui.customizer.DynamicCustomizer;
import java.beans.*;
/**
* BeanInfo for the ACSPropertyElement class.
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @author Simeon Fitch
*/
public class ACSPropertyElementBeanInfo extends BaseBeanInfo {
@@ -79,6 +80,15 @@
}
/**
+ * Get the customizer type.
+ *
+ * @return Customizer type.
+ */
+ public Class getCustomizerType() {
+ return Customizer.class;
+ }
+
+ /**
* Get the property descriptors.
*
* @return Property descriptors.
@@ -113,4 +123,10 @@
return retval;
}
+ /** Customizer for this bean info. */
+ public static class Customizer extends DynamicCustomizer {
+ public Customizer() {
+ super(ACSPropertyElement.class);
+ }
+ }
}
1.3 +18 -1 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTargetElementBeanInfo.java
Index: ACSTargetElementBeanInfo.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTargetElementBeanInfo.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ACSTargetElementBeanInfo.java 2000/11/11 04:52:21 1.2
+++ ACSTargetElementBeanInfo.java 2000/11/16 22:38:41 1.3
@@ -52,13 +52,14 @@
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.gui.acs;
+import org.apache.tools.ant.gui.customizer.DynamicCustomizer;
import java.beans.*;
/**
* BeanInfo for the ACSTargetElement class.
*
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
* @author Simeon Fitch
*/
public class ACSTargetElementBeanInfo extends BaseBeanInfo {
@@ -79,6 +80,15 @@
}
/**
+ * Get the customizer type.
+ *
+ * @return Customizer type.
+ */
+ public Class getCustomizerType() {
+ return Customizer.class;
+ }
+
+ /**
* Get the property descriptors.
*
* @return Property descriptors.
@@ -127,4 +137,11 @@
return retval;
}
+
+ /** Customizer for this bean info. */
+ public static class Customizer extends DynamicCustomizer {
+ public Customizer() {
+ super(ACSTargetElement.class);
+ }
+ }
}
1.2 +16 -0 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTaskElementBeanInfo.java
Index: ACSTaskElementBeanInfo.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTaskElementBeanInfo.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ACSTaskElementBeanInfo.java 2000/11/11 04:54:04 1.1
+++ ACSTaskElementBeanInfo.java 2000/11/16 22:38:41 1.2
@@ -53,12 +53,13 @@
*/
package org.apache.tools.ant.gui.acs;
+import org.apache.tools.ant.gui.customizer.DynamicCustomizer;
import java.beans.*;
/**
* BeanInfo for the ACSTaskElement class.
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @author Simeon Fitch
*/
public class ACSTaskElementBeanInfo extends BaseBeanInfo {
@@ -79,6 +80,15 @@
}
/**
+ * Get the customizer type.
+ *
+ * @return Customizer type.
+ */
+ public Class getCustomizerType() {
+ return Customizer.class;
+ }
+
+ /**
* Get the property descriptors.
*
* @return Property descriptors.
@@ -111,4 +121,10 @@
return retval;
}
+ /** Customizer for this bean info. */
+ public static class Customizer extends DynamicCustomizer {
+ public Customizer() {
+ super(ACSTaskElement.class);
+ }
+ }
}
1.2 +16 -4 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTreeNodeElement.java
Index: ACSTreeNodeElement.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTreeNodeElement.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ACSTreeNodeElement.java 2000/11/10 20:41:12 1.1
+++ ACSTreeNodeElement.java 2000/11/16 22:38:41 1.2
@@ -55,6 +55,7 @@
import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
import com.sun.xml.tree.ElementNode;
import javax.swing.tree.TreeNode;
import java.util.*;
@@ -62,7 +63,7 @@
/**
* Abstract base class for all ACSElement classes that are also tree node.
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @author Simeon Fitch
*/
public abstract class ACSTreeNodeElement extends ACSElement
@@ -80,9 +81,20 @@
if(_treeNodeCache == null) {
_treeNodeCache = new ArrayList();
- for(int i = 0; i < getLength(); i++) {
- if(item(i) instanceof TreeNode) {
- _treeNodeCache.add(item(i));
+ // XXX this crazy casting is to get around an
+ // inconsistency between jikes and javac whereby
+ // the call without this cast when compiled with
+ // jikes causes an IllegalAccessException
+ // because the implementation of getLength() and
+ // item() are actually in a package only class
+ // in the Sun implementation classes.
+ int len = ((NodeList)this).getLength();
+
+ for(int i = 0; i < len; i++) {
+ Object n = ((NodeList)this).item(i);
+
+ if(n instanceof TreeNode) {
+ _treeNodeCache.add(n);
}
}
}
1.4 +8 -1 jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/BaseBeanInfo.java
Index: BaseBeanInfo.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/BaseBeanInfo.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BaseBeanInfo.java 2000/11/16 21:46:31 1.3
+++ BaseBeanInfo.java 2000/11/16 22:38:41 1.4
@@ -62,7 +62,7 @@
/**
* Abstract base class for ACS BeanInfo classes.
*
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
* @author Simeon Fitch
*/
abstract class BaseBeanInfo extends SimpleBeanInfo {
@@ -133,6 +133,13 @@
* @return Type.
*/
public abstract Class getType();
+
+ /**
+ * Get the type of the customizer to use.
+ *
+ * @return Customizer to use.
+ */
+ public abstract Class getCustomizerType();
/**
* Gets the beans <code>PropertyDescriptor</code>s.