use of org.apache.geode.compression.Compressor in project geode by apache.
the class CacheXmlParser method endCompressor.
/**
* Ending the <code>compressor</code> registration should leave us with a class name on the stack.
* Pull it off and setup the {@link Compressor} on the region attributes.
*/
private void endCompressor() {
Class<?> klass = getClassFromStack();
if (!Compressor.class.isAssignableFrom(klass)) {
throw new CacheXmlException(LocalizedStrings.CacheXmlParser_A_0_IS_NOT_AN_INSTANCE_OF_A_COMPRESSOR.toLocalizedString(klass.getName()));
}
Compressor compressor;
try {
compressor = (Compressor) klass.newInstance();
} catch (Exception ex) {
throw new CacheXmlException(LocalizedStrings.CacheXmlParser_WHILE_INSTANTIATING_A_0.toLocalizedString(klass.getName()), ex);
}
Object a = stack.peek();
if (a instanceof RegionAttributesCreation) {
RegionAttributesCreation attrs = (RegionAttributesCreation) a;
attrs.setCompressor(compressor);
} else {
throw new CacheXmlException(LocalizedStrings.CacheXmlParser_A_0_MUST_BE_DEFINED_IN_THE_CONTEXT_OF_REGIONATTRIBUTES_OR_1.toLocalizedString(new Object[] { COMPRESSOR, DYNAMIC_REGION_FACTORY }));
}
}
use of org.apache.geode.compression.Compressor in project geode by apache.
the class PartitionedRegionCompressionDUnitTest method getRegionAttributes.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected RegionAttributes getRegionAttributes(String type) {
Compressor compressor = null;
try {
compressor = SnappyCompressor.getDefaultInstance();
} catch (Throwable t) {
// Not a supported OS
return super.getRegionAttributes(type);
}
RegionAttributes ra = super.getRegionAttributes(type);
AttributesFactory factory = new AttributesFactory(ra);
if (!ra.getDataPolicy().isEmpty()) {
factory.setCompressor(compressor);
}
return factory.create();
}
use of org.apache.geode.compression.Compressor in project geode by apache.
the class PartitionedRegionCompressionDUnitTest method getRegionAttributes.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected RegionAttributes getRegionAttributes() {
Compressor compressor = null;
try {
compressor = SnappyCompressor.getDefaultInstance();
} catch (Throwable t) {
// Not a supported OS
return super.getRegionAttributes();
}
RegionAttributes attrs = super.getRegionAttributes();
AttributesFactory factory = new AttributesFactory(attrs);
factory.setCompressor(compressor);
return factory.create();
}
Aggregations