Java Code Examples for org.xml.sax.helpers.AttributesImpl#getLength()

The following examples show how to use org.xml.sax.helpers.AttributesImpl#getLength() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Digester.java    From Tomcat8-Source-Read with MIT License 6 votes vote down vote up
/**
 * Returns an attributes list which contains all the attributes
 * passed in, with any text of form "${xxx}" in an attribute value
 * replaced by the appropriate value from the system property.
 */
private Attributes updateAttributes(Attributes list) {

    if (list.getLength() == 0) {
        return list;
    }

    AttributesImpl newAttrs = new AttributesImpl(list);
    int nAttributes = newAttrs.getLength();
    for (int i = 0; i < nAttributes; ++i) {
        String value = newAttrs.getValue(i);
        try {
            newAttrs.setValue(i, IntrospectionUtils.replaceProperties(value, null, source, getClassLoader()).intern());
        } catch (Exception e) {
            log.warn(sm.getString("digester.failedToUpdateAttributes", newAttrs.getLocalName(i), value), e);
        }
    }

    return newAttrs;
}
 
Example 2
Source File: Digester.java    From Tomcat7.0.67 with Apache License 2.0 6 votes vote down vote up
/**
 * Returns an attributes list which contains all the attributes
 * passed in, with any text of form "${xxx}" in an attribute value
 * replaced by the appropriate value from the system property.
 */
private Attributes updateAttributes(Attributes list) {

    if (list.getLength() == 0) {
        return list;
    }
    
    AttributesImpl newAttrs = new AttributesImpl(list);
    int nAttributes = newAttrs.getLength();
    for (int i = 0; i < nAttributes; ++i) {
        String value = newAttrs.getValue(i);
        try {
            String newValue = 
                IntrospectionUtils.replaceProperties(value, null, source);
            if (value != newValue) {
                newAttrs.setValue(i, newValue);
            }
        }
        catch (Exception e) {
            // ignore - let the attribute have its original value
        }
    }

    return newAttrs;

}
 
Example 3
Source File: Digester.java    From tomcatsrc with Apache License 2.0 6 votes vote down vote up
/**
 * Returns an attributes list which contains all the attributes
 * passed in, with any text of form "${xxx}" in an attribute value
 * replaced by the appropriate value from the system property.
 */
private Attributes updateAttributes(Attributes list) {

    if (list.getLength() == 0) {
        return list;
    }
    
    AttributesImpl newAttrs = new AttributesImpl(list);
    int nAttributes = newAttrs.getLength();
    for (int i = 0; i < nAttributes; ++i) {
        String value = newAttrs.getValue(i);
        try {
            String newValue = 
                IntrospectionUtils.replaceProperties(value, null, source);
            if (value != newValue) {
                newAttrs.setValue(i, newValue);
            }
        }
        catch (Exception e) {
            // ignore - let the attribute have its original value
        }
    }

    return newAttrs;

}
 
Example 4
Source File: CacheXmlGenerator.java    From gemfirexd-oss with Apache License 2.0 5 votes vote down vote up
private void generatePdx() throws SAXException {
  AttributesImpl atts = new AttributesImpl();
  CacheConfig config;
  if(this.cache instanceof CacheCreation) {
    config = ((CacheCreation) cache).getCacheConfig();
  } else {
    config = ((GemFireCacheImpl) cache).getCacheConfig();
  }
  if(config.pdxReadSerializedUserSet) {
    if (generateDefaults() || this.cache.getPdxReadSerialized())
    atts.addAttribute("", "", READ_SERIALIZED, "", Boolean.toString(this.cache.getPdxReadSerialized()));
  }
  if(config.pdxIgnoreUnreadFieldsUserSet) {
    if (generateDefaults() || this.cache.getPdxIgnoreUnreadFields())
    atts.addAttribute("", "", IGNORE_UNREAD_FIELDS, "", Boolean.toString(this.cache.getPdxIgnoreUnreadFields()));
  }
  if(config.pdxPersistentUserSet) {
    if (generateDefaults() || this.cache.getPdxPersistent())
    atts.addAttribute("", "", PERSISTENT, "", Boolean.toString(this.cache.getPdxPersistent()));
  }
  if(config.pdxDiskStoreUserSet) {
    if (generateDefaults() || this.cache.getPdxDiskStore() != null && !this.cache.getPdxDiskStore().equals(""))
    atts.addAttribute("", "", DISK_STORE_NAME, "", this.cache.getPdxDiskStore());
  }
  if(!generateDefaults() && this.cache.getPdxSerializer() == null && atts.getLength() == 0) {
    return;
  }
  handler.startElement("", PDX, PDX, atts);
  
  if(this.cache.getPdxSerializer() != null) {
    generate(PDX_SERIALIZER, this.cache.getPdxSerializer());
  }
  handler.endElement("", PDX, PDX);
}
 
Example 5
Source File: CacheXmlGenerator.java    From gemfirexd-oss with Apache License 2.0 5 votes vote down vote up
private void generatePdx() throws SAXException {
  AttributesImpl atts = new AttributesImpl();
  CacheConfig config;
  if(this.cache instanceof CacheCreation) {
    config = ((CacheCreation) cache).getCacheConfig();
  } else {
    config = ((GemFireCacheImpl) cache).getCacheConfig();
  }
  if(config.pdxReadSerializedUserSet) {
    if (generateDefaults() || this.cache.getPdxReadSerialized())
    atts.addAttribute("", "", READ_SERIALIZED, "", Boolean.toString(this.cache.getPdxReadSerialized()));
  }
  if(config.pdxIgnoreUnreadFieldsUserSet) {
    if (generateDefaults() || this.cache.getPdxIgnoreUnreadFields())
    atts.addAttribute("", "", IGNORE_UNREAD_FIELDS, "", Boolean.toString(this.cache.getPdxIgnoreUnreadFields()));
  }
  if(config.pdxPersistentUserSet) {
    if (generateDefaults() || this.cache.getPdxPersistent())
    atts.addAttribute("", "", PERSISTENT, "", Boolean.toString(this.cache.getPdxPersistent()));
  }
  if(config.pdxDiskStoreUserSet) {
    if (generateDefaults() || this.cache.getPdxDiskStore() != null && !this.cache.getPdxDiskStore().equals(""))
    atts.addAttribute("", "", DISK_STORE_NAME, "", this.cache.getPdxDiskStore());
  }
  if(!generateDefaults() && this.cache.getPdxSerializer() == null && atts.getLength() == 0) {
    return;
  }
  handler.startElement("", PDX, PDX, atts);
  
  if(this.cache.getPdxSerializer() != null) {
    generate(PDX_SERIALIZER, this.cache.getPdxSerializer());
  }
  handler.endElement("", PDX, PDX);
}
 
Example 6
Source File: PropertyReplacementFilter.java    From OpenAs2App with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * {@inheritDoc}
 *
 * @see org.xml.sax.helpers.XMLFilterImpl#startElement(java.lang.String,
 * java.lang.String, java.lang.String, org.xml.sax.Attributes)
 */
@Override
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
    AttributesImpl attributes = (attrs instanceof AttributesImpl) ? (AttributesImpl) attrs : new AttributesImpl(attrs);

    int length = attributes.getLength();
    for (int i = 0; i < length; ++i) {
        attributes.setValue(i, this.replace(attributes.getValue(i)));
    }

    super.startElement(uri, localName, qName, attributes);
}
 
Example 7
Source File: CacheXmlGenerator.java    From gemfirexd-oss with Apache License 2.0 4 votes vote down vote up
/**
 * Generates XML for a <code>PartitionAttributes</code>
 */
private void generate(PartitionAttributes pa) throws SAXException {

  AttributesImpl atts = new AttributesImpl();

  if (generateDefaults() || pa.getRedundantCopies() != 0)
  atts.addAttribute("", "", PARTITION_REDUNDANT_COPIES, "",
      String.valueOf(pa.getRedundantCopies()));
  
  if (this.version.compareTo(VERSION_5_1) >= 0) {
    if (generateDefaults() || ((PartitionAttributesImpl) pa).hasLocalMaxMemory())
    atts.addAttribute("", "", LOCAL_MAX_MEMORY, "",
        String.valueOf(pa.getLocalMaxMemory()));
    if (generateDefaults() || pa.getTotalMaxMemory() != PartitionAttributesFactory.GLOBAL_MAX_MEMORY_DEFAULT)
    atts.addAttribute("", "", TOTAL_MAX_MEMORY, "",
        String.valueOf(pa.getTotalMaxMemory()));
    if (generateDefaults() || pa.getTotalNumBuckets() != PartitionAttributesFactory.GLOBAL_MAX_BUCKETS_DEFAULT)
    atts.addAttribute("", "", TOTAL_NUM_BUCKETS, "",
        String.valueOf(pa.getTotalNumBuckets()));
  } // VERSION_5_1
  
  if (this.version.compareTo(VERSION_5_8) >= 0) {
    if(pa.getColocatedWith() != null)
      atts.addAttribute("", "", PARTITION_COLOCATED_WITH, "",
          pa.getColocatedWith());
    
  }
  if (this.version.compareTo(VERSION_6_0) >= 0) {
    if (generateDefaults() || pa.getRecoveryDelay() != PartitionAttributesFactory.RECOVERY_DELAY_DEFAULT)
      atts.addAttribute("", "", RECOVERY_DELAY, "",
          String.valueOf(pa.getRecoveryDelay()));
    if (generateDefaults() || pa.getStartupRecoveryDelay() != PartitionAttributesFactory.STARTUP_RECOVERY_DELAY_DEFAULT)
      atts.addAttribute("", "", STARTUP_RECOVERY_DELAY, "",
          String.valueOf(pa.getStartupRecoveryDelay()));
  }
  
  if (!generateDefaults() && atts.getLength() == 0
      && pa.getPartitionResolver() == null
      && pa.getPartitionListeners().length == 0
      && (pa.getFixedPartitionAttributes() == null || pa.getFixedPartitionAttributes().isEmpty())) {
    return;
  }
  
  handler.startElement("", PARTITION_ATTRIBUTES,
                         PARTITION_ATTRIBUTES, atts);
  
  if (this.version.compareTo(VERSION_5_8) >= 0) {      
    PartitionResolver rr = pa.getPartitionResolver();
    if (rr != null) {
      generate(PARTITION_RESOLVER, rr);        
    }
  }
  
  if (this.version.compareTo(VERSION_6_1) >= 0) {
    PartitionListener[] listeners = pa.getPartitionListeners();
    for (int i = 0; i < listeners.length; i++) {
      PartitionListener listener = listeners[i];
      if (listener != null) {
        generate(PARTITION_LISTENER, listener);
      }
    }
  }   

  if (this.version.compareTo(VERSION_6_6) >= 0) {
    List<FixedPartitionAttributes> staticAttrs = pa
        .getFixedPartitionAttributes();
    if (staticAttrs != null) {
      generateFixedPartitionAttributes(FIXED_PARTITION_ATTRIBUTES, staticAttrs);
    }
  }

  if (this.version.compareTo(VERSION_5_1) < 0) {
    Properties p = pa.getLocalProperties();
    generate(p, LOCAL_PROPERTIES);

    p = pa.getGlobalProperties();
    generate(p, GLOBAL_PROPERTIES);
  }

  handler.endElement("", PARTITION_ATTRIBUTES, PARTITION_ATTRIBUTES);
}
 
Example 8
Source File: CacheXmlGenerator.java    From gemfirexd-oss with Apache License 2.0 4 votes vote down vote up
/**
 * Generates XML for a <code>PartitionAttributes</code>
 */
private void generate(PartitionAttributes pa) throws SAXException {

  AttributesImpl atts = new AttributesImpl();

  if (generateDefaults() || pa.getRedundantCopies() != 0)
  atts.addAttribute("", "", PARTITION_REDUNDANT_COPIES, "",
      String.valueOf(pa.getRedundantCopies()));
  
  if (this.version.compareTo(VERSION_5_1) >= 0) {
    if (generateDefaults() || ((PartitionAttributesImpl) pa).hasLocalMaxMemory())
    atts.addAttribute("", "", LOCAL_MAX_MEMORY, "",
        String.valueOf(pa.getLocalMaxMemory()));
    if (generateDefaults() || pa.getTotalMaxMemory() != PartitionAttributesFactory.GLOBAL_MAX_MEMORY_DEFAULT)
    atts.addAttribute("", "", TOTAL_MAX_MEMORY, "",
        String.valueOf(pa.getTotalMaxMemory()));
    if (generateDefaults() || pa.getTotalNumBuckets() != PartitionAttributesFactory.GLOBAL_MAX_BUCKETS_DEFAULT)
    atts.addAttribute("", "", TOTAL_NUM_BUCKETS, "",
        String.valueOf(pa.getTotalNumBuckets()));
  } // VERSION_5_1
  
  if (this.version.compareTo(VERSION_5_8) >= 0) {
    if(pa.getColocatedWith() != null)
      atts.addAttribute("", "", PARTITION_COLOCATED_WITH, "",
          pa.getColocatedWith());
    
  }
  if (this.version.compareTo(VERSION_6_0) >= 0) {
    if (generateDefaults() || pa.getRecoveryDelay() != PartitionAttributesFactory.RECOVERY_DELAY_DEFAULT)
      atts.addAttribute("", "", RECOVERY_DELAY, "",
          String.valueOf(pa.getRecoveryDelay()));
    if (generateDefaults() || pa.getStartupRecoveryDelay() != PartitionAttributesFactory.STARTUP_RECOVERY_DELAY_DEFAULT)
      atts.addAttribute("", "", STARTUP_RECOVERY_DELAY, "",
          String.valueOf(pa.getStartupRecoveryDelay()));
  }
  
  if (!generateDefaults() && atts.getLength() == 0
      && pa.getPartitionResolver() == null
      && pa.getPartitionListeners().length == 0
      && (pa.getFixedPartitionAttributes() == null || pa.getFixedPartitionAttributes().isEmpty())) {
    return;
  }
  
  handler.startElement("", PARTITION_ATTRIBUTES,
                         PARTITION_ATTRIBUTES, atts);
  
  if (this.version.compareTo(VERSION_5_8) >= 0) {      
    PartitionResolver rr = pa.getPartitionResolver();
    if (rr != null) {
      generate(PARTITION_RESOLVER, rr);        
    }
  }
  
  if (this.version.compareTo(VERSION_6_1) >= 0) {
    PartitionListener[] listeners = pa.getPartitionListeners();
    for (int i = 0; i < listeners.length; i++) {
      PartitionListener listener = listeners[i];
      if (listener != null) {
        generate(PARTITION_LISTENER, listener);
      }
    }
  }   

  if (this.version.compareTo(VERSION_6_6) >= 0) {
    List<FixedPartitionAttributes> staticAttrs = pa
        .getFixedPartitionAttributes();
    if (staticAttrs != null) {
      generateFixedPartitionAttributes(FIXED_PARTITION_ATTRIBUTES, staticAttrs);
    }
  }

  if (this.version.compareTo(VERSION_5_1) < 0) {
    Properties p = pa.getLocalProperties();
    generate(p, LOCAL_PROPERTIES);

    p = pa.getGlobalProperties();
    generate(p, GLOBAL_PROPERTIES);
  }

  handler.endElement("", PARTITION_ATTRIBUTES, PARTITION_ATTRIBUTES);
}