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

The following examples show how to use org.xml.sax.helpers.AttributesImpl#getLength() . These examples are extracted from open source projects. 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 Project: Tomcat8-Source-Read   File: Digester.java    License: 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 Project: Tomcat7.0.67   File: Digester.java    License: 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 Project: tomcatsrc   File: Digester.java    License: 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 Project: gemfirexd-oss   File: CacheXmlGenerator.java    License: 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 Project: gemfirexd-oss   File: CacheXmlGenerator.java    License: 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
/**
 * {@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 Project: gemfirexd-oss   File: CacheXmlGenerator.java    License: 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 Project: gemfirexd-oss   File: CacheXmlGenerator.java    License: 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);
}