peterreilly    2004/05/25 01:25:01

  Modified:    src/main/org/apache/tools/ant IntrospectionHelper.java
               src/main/org/apache/tools/ant/util XMLFragment.java
  Log:
  remove stephan's work-arounds
  
  Revision  Changes    Path
  1.83      +45 -46    
ant/src/main/org/apache/tools/ant/IntrospectionHelper.java
  
  Index: IntrospectionHelper.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/IntrospectionHelper.java,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- IntrospectionHelper.java  25 May 2004 06:23:17 -0000      1.82
  +++ IntrospectionHelper.java  25 May 2004 08:25:00 -0000      1.83
  @@ -489,21 +489,20 @@
               = (AttributeSetter) attributeSetters.get(
                   attributeName.toLowerCase(Locale.US));
           if (as == null) {
  -//            if (element instanceof DynamicConfiguratorNS) {
  -//                DynamicConfiguratorNS dc = (DynamicConfiguratorNS) element;
  -//                String uriPlusPrefix =
  -//                    
ProjectHelper.extractUriFromComponentName(attributeName);
  -//                String uri =
  -//                    
ProjectHelper.extractUriFromComponentName(uriPlusPrefix);
  -//                String localName =
  -//                    
ProjectHelper.extractNameFromComponentName(attributeName);
  -//                String qName = ("".equals(uri)
  -//                                ? localName : (uri + ":" + localName));
  -//
  -//                dc.setDynamicAttribute(uri, localName, qName, value);
  -//                return;
  -//            } else 
  -            if (element instanceof DynamicConfigurator) {
  +            if (element instanceof DynamicConfiguratorNS) {
  +                DynamicConfiguratorNS dc = (DynamicConfiguratorNS) element;
  +                String uriPlusPrefix =
  +                    ProjectHelper.extractUriFromComponentName(attributeName);
  +                String uri =
  +                    ProjectHelper.extractUriFromComponentName(uriPlusPrefix);
  +                String localName =
  +                    
ProjectHelper.extractNameFromComponentName(attributeName);
  +                String qName = ("".equals(uri)
  +                                ? localName : (uri + ":" + localName));
  +
  +                dc.setDynamicAttribute(uri, localName, qName, value);
  +                return;
  +            } else if (element instanceof DynamicConfigurator) {
                   DynamicConfigurator dc = (DynamicConfigurator) element;
                   dc.setDynamicAttribute(attributeName.toLowerCase(Locale.US), 
value);
                   return;
  @@ -612,35 +611,35 @@
           if (nc == null) {
               nc = createAddTypeCreator(project, parent, elementName);
           }
  -//        if (nc == null && parent instanceof DynamicConfiguratorNS) {
  -//            DynamicConfiguratorNS dc = (DynamicConfiguratorNS) parent;
  -//            String qName = (child == null ? name : child.getQName());
  -//            final Object nestedElement =
  -//                dc.createDynamicElement(
  -//                    (child == null ? "" : child.getNamespace()),
  -//                    name, qName);
  -//            if (nestedElement != null) {
  -//                nc = new NestedCreator() {
  -//                    public boolean isPolyMorphic() {
  -//                        return false;
  -//                    }
  -//                    public Class getElementClass() {
  -//                        return null;
  -//                    }
  -//
  -//                    public Object getRealObject() {
  -//                        return null;
  -//                    }
  -//
  -//                    public Object create(
  -//                        Project project, Object parent, Object ignore) {
  -//                        return nestedElement;
  -//                    }
  -//                    public void store(Object parent, Object child) {
  -//                    }
  -//                };
  -//            }
  -//        }
  +        if (nc == null && parent instanceof DynamicConfiguratorNS) {
  +            DynamicConfiguratorNS dc = (DynamicConfiguratorNS) parent;
  +            String qName = (child == null ? name : child.getQName());
  +            final Object nestedElement =
  +                dc.createDynamicElement(
  +                    (child == null ? "" : child.getNamespace()),
  +                    name, qName);
  +            if (nestedElement != null) {
  +                nc = new NestedCreator() {
  +                    public boolean isPolyMorphic() {
  +                        return false;
  +                    }
  +                    public Class getElementClass() {
  +                        return null;
  +                    }
  +
  +                    public Object getRealObject() {
  +                        return null;
  +                    }
  +
  +                    public Object create(
  +                        Project project, Object parent, Object ignore) {
  +                        return nestedElement;
  +                    }
  +                    public void store(Object parent, Object child) {
  +                    }
  +                };
  +            }
  +        }
           if (nc == null && parent instanceof DynamicConfigurator) {
               DynamicConfigurator dc = (DynamicConfigurator) parent;
               final Object nestedElement =
  @@ -751,7 +750,7 @@
       public boolean supportsNestedElement(String elementName) {
           return nestedCreators.containsKey(elementName.toLowerCase(Locale.US))
               || DynamicConfigurator.class.isAssignableFrom(bean)
  -            //            || 
DynamicConfiguratorNS.class.isAssignableFrom(bean)
  +            || DynamicConfiguratorNS.class.isAssignableFrom(bean)
               || addTypeMethods.size() != 0;
       }
   
  @@ -778,7 +777,7 @@
               nestedCreators.containsKey(name.toLowerCase(Locale.US))
               && (uri.equals(parentUri))) // || uri.equals("")))
               || DynamicConfigurator.class.isAssignableFrom(bean)
  -            //            || 
DynamicConfiguratorNS.class.isAssignableFrom(bean)
  +            || DynamicConfiguratorNS.class.isAssignableFrom(bean)
               || addTypeMethods.size() != 0;
       }
   
  
  
  
  1.8       +20 -36    ant/src/main/org/apache/tools/ant/util/XMLFragment.java
  
  Index: XMLFragment.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/util/XMLFragment.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XMLFragment.java  25 May 2004 06:23:17 -0000      1.7
  +++ XMLFragment.java  25 May 2004 08:25:01 -0000      1.8
  @@ -24,8 +24,7 @@
   import org.w3c.dom.Text;
   
   import org.apache.tools.ant.BuildException;
  -//import org.apache.tools.ant.DynamicConfiguratorNS;
  -import org.apache.tools.ant.DynamicConfigurator;
  +import org.apache.tools.ant.DynamicConfiguratorNS;
   import org.apache.tools.ant.ProjectHelper;
   
   /**
  @@ -39,8 +38,7 @@
    *
    * @since Ant 1.7
    */
  -//public class XMLFragment implements DynamicConfiguratorNS {
  -public class XMLFragment implements DynamicConfigurator {
  +public class XMLFragment implements DynamicConfiguratorNS {
   
       private Document doc;
       private DocumentFragment fragment;
  @@ -68,8 +66,7 @@
       /**
        * No attributes for the wrapping element.
        */
  -    //    public void setDynamicAttribute(String uri, String name, String 
qName, String value)
  -    public void setDynamicAttribute(String name, String value)
  +    public void setDynamicAttribute(String uri, String name, String qName, 
String value)
           throws BuildException {
           throw new BuildException("Attribute " + name + " is not supported.");
       }
  @@ -77,12 +74,8 @@
       /**
        * Creates a nested element.
        */
  -//    public Object createDynamicElement(String uri, String name, String 
qName) {
  -//        Element e = doc.createElementNS(uri, qName);
  -    public Object createDynamicElement(String name) {
  -        Element e = doc
  -            .createElementNS(ProjectHelper.extractUriFromComponentName(name),
  -                             
ProjectHelper.extractNameFromComponentName(name));
  +    public Object createDynamicElement(String uri, String name, String 
qName) {
  +        Element e = doc.createElementNS(uri, qName);
           fragment.appendChild(e);
           return new Child(e);
       }
  @@ -94,8 +87,7 @@
           }
       }
   
  -    //    public class Child implements DynamicConfiguratorNS {
  -    public class Child implements DynamicConfigurator {
  +   public class Child implements DynamicConfiguratorNS {
           private Element e;
   
           Child(Element e) {
  @@ -112,33 +104,25 @@
           /**
            * Sets the attribute
            */
  -//        public void setDynamicAttribute(
  -//            String uri, String name, String qName, String value) {
  -//            if (uri.equals("")) {
  -//                e.setAttribute(name, value);
  -//            } else {
  -//                e.setAttributeNS(uri, qName, value);
  -//            }
  -        public void setDynamicAttribute(String name, String value) {
  -            e.setAttribute(name, value);
  +        public void setDynamicAttribute(
  +            String uri, String name, String qName, String value) {
  +            if (uri.equals("")) {
  +                e.setAttribute(name, value);
  +            } else {
  +                e.setAttributeNS(uri, qName, value);
  +            }
           }
   
           /**
            * Creates a nested element.
            */
  -//        public Object createDynamicElement(String uri, String name, String 
qName) {
  -//            Element e2 = null;
  -//            if (uri.equals("")) {
  -//                e2 = doc.createElement(name);
  -//            } else {
  -//                e2 = doc.createElementNS(uri, qName);
  -//            }
  -        public Object createDynamicElement(String name) {
  -            Element e2 = doc
  -                .createElementNS(ProjectHelper
  -                                 .extractUriFromComponentName(name),
  -                                 ProjectHelper
  -                                 .extractNameFromComponentName(name));
  +        public Object createDynamicElement(String uri, String name, String 
qName) {
  +            Element e2 = null;
  +            if (uri.equals("")) {
  +                e2 = doc.createElement(name);
  +            } else {
  +                e2 = doc.createElementNS(uri, qName);
  +            }
               e.appendChild(e2);
               return new Child(e2);
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to