/** * Examines the given <code>Cache</code> and from it generates XML data that is written to the * given <code>PrintWriter</code>. */ public static void generate(ClientCache cache, PrintWriter pw) { generate(cache, pw, true /* useSchema */); }
/** * Examines the given <code>ClientCache</code> and from it generates XML data that is written to * the given <code>PrintWriter</code>. The schema/dtd for the current version of GemFire is used. * * @param useSchema Should the generated XML reference a schema (as opposed to a DTD)? As of 8.1 * this value is ignored and always true. */ public static void generate(ClientCache cache, PrintWriter pw, boolean useSchema) { (new CacheXmlGenerator(cache, true /* latest version always true */, VERSION_LATEST, true)) .generate(pw); }
private String generateInitialXmlContent() { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); CacheXmlGenerator.generateDefault(pw); return sw.toString(); }
generate(this.cache.getCacheTransactionManager()); } else if (this.version.compareTo(CacheXmlVersion.GEMFIRE_6_6) >= 0) { generate(this.cache.getCacheTransactionManager()); generateDynamicRegionFactory(this.cache); Set<GatewaySender> senderSet = cache.getGatewaySenders(); for (GatewaySender sender : senderSet) { generateGatewaySender(sender); generateGatewayReceiver(this.cache); generateAsyncEventQueue(this.cache); generate(GATEWAY_CONFLICT_RESOLVER, this.cache.getGatewayConflictResolver()); for (Iterator iter = this.cache.getCacheServers().iterator(); iter.hasNext();) { CacheServer bridge = (CacheServer) iter.next(); generate(bridge); generate(cp); InternalCache gfc = (InternalCache) this.cache; for (DiskStore ds : gfc.listDiskStores()) { generate(ds); generate(ds); generatePdx();
private void generateFunctionService() throws SAXException { Collection<Function> functions = Collections.emptyList(); if (this.cache instanceof CacheCreation) { if (this.creation.hasFunctionService()) { functions = this.creation.getFunctionServiceCreation().getFunctionList(); } } else { functions = FunctionService.getRegisteredFunctions().values(); } if (!generateDefaults() && functions.isEmpty()) { return; } handler.startElement("", FUNCTION_SERVICE, FUNCTION_SERVICE, EMPTY); for (Function function : functions) { if (function instanceof Declarable) { handler.startElement("", FUNCTION, FUNCTION, EMPTY); generate((Declarable) function, false); handler.endElement("", FUNCTION, FUNCTION); } } handler.endElement("", FUNCTION_SERVICE, FUNCTION_SERVICE); }
if (generateDefaults() || asyncEventQueue.isParallel() != GatewaySender.DEFAULT_IS_PARALLEL) atts.addAttribute("", "", PARALLEL, "", String.valueOf(asyncEventQueue.isParallel())); if (generateDefaults() || asyncEventQueue.getBatchSize() != GatewaySender.DEFAULT_BATCH_SIZE) atts.addAttribute("", "", BATCH_SIZE, "", String.valueOf(asyncEventQueue.getBatchSize())); if (generateDefaults() || asyncEventQueue.getBatchTimeInterval() != GatewaySender.DEFAULT_BATCH_TIME_INTERVAL) atts.addAttribute("", "", BATCH_TIME_INTERVAL, "", String.valueOf(asyncEventQueue.getBatchTimeInterval())); if (generateDefaults() || asyncEventQueue.isBatchConflationEnabled() != GatewaySender.DEFAULT_BATCH_CONFLATION) atts.addAttribute("", "", ENABLE_BATCH_CONFLATION, "", String.valueOf(asyncEventQueue.isBatchConflationEnabled())); if (generateDefaults() || asyncEventQueue.getMaximumQueueMemory() != GatewaySender.DEFAULT_MAXIMUM_QUEUE_MEMORY) atts.addAttribute("", "", MAXIMUM_QUEUE_MEMORY, "", String.valueOf(asyncEventQueue.getMaximumQueueMemory())); if (generateDefaults() || asyncEventQueue.isPersistent() != GatewaySender.DEFAULT_PERSISTENCE_ENABLED) atts.addAttribute("", "", PERSISTENT, "", String.valueOf(asyncEventQueue.isPersistent())); if (asyncEventQueue.isPersistent()) { if (generateDefaults() || (asyncEventQueue.getDiskStoreName() != null && !asyncEventQueue.getDiskStoreName().equals(""))) atts.addAttribute("", "", DISK_STORE_NAME, "",
if (generateDefaults() || pa.getRedundantCopies() != 0) atts.addAttribute("", "", PARTITION_REDUNDANT_COPIES, "", String.valueOf(pa.getRedundantCopies())); if (generateDefaults() || pa.getLocalMaxMemory() != ((PartitionAttributesImpl) pa).getLocalMaxMemoryDefault()) 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())); 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, "", if (!generateDefaults() && atts.getLength() == 0 && pa.getPartitionResolver() == null && pa.getPartitionListeners().length == 0 && (pa.getFixedPartitionAttributes() == null || pa.getFixedPartitionAttributes().isEmpty())) { PartitionResolver rr = pa.getPartitionResolver(); if (rr != null) { generate(PARTITION_RESOLVER, rr);
if (generateDefaults() || bridge.getPort() != CacheServer.DEFAULT_PORT) atts.addAttribute("", "", PORT, "", String.valueOf(bridge.getPort())); if (generateDefaults() || bridge.getMaximumTimeBetweenPings() != CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS) atts.addAttribute("", "", MAXIMUM_TIME_BETWEEN_PINGS, "", String.valueOf(bridge.getMaximumTimeBetweenPings())); if (generateDefaults() || bridge.getNotifyBySubscription() != CacheServer.DEFAULT_NOTIFY_BY_SUBSCRIPTION) atts.addAttribute("", "", NOTIFY_BY_SUBSCRIPTION, "", String.valueOf(bridge.getNotifyBySubscription())); if (generateDefaults() || bridge.getSocketBufferSize() != CacheServer.DEFAULT_SOCKET_BUFFER_SIZE) atts.addAttribute("", "", SOCKET_BUFFER_SIZE, "", if (generateDefaults() || bridge.getMaxConnections() != CacheServer.DEFAULT_MAX_CONNECTIONS) atts.addAttribute("", "", MAX_CONNECTIONS, "", String.valueOf(bridge.getMaxConnections())); if (generateDefaults() || bridge.getMaxThreads() != CacheServer.DEFAULT_MAX_THREADS) atts.addAttribute("", "", MAX_THREADS, "", String.valueOf(bridge.getMaxThreads())); if (generateDefaults() || bridge.getMaximumMessageCount() != CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT) atts.addAttribute("", "", MAXIMUM_MESSAGE_COUNT, "", String.valueOf(bridge.getMaximumMessageCount())); if (generateDefaults() || bridge.getMessageTimeToLive() != CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE) {
@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); try { handler.startPrefixMapping(PREFIX, NAMESPACE); final AttributesImpl atts = new AttributesImpl(); addAttribute(atts, ATTRIBUTE_VALUE, extension.getValue()); emptyElement(handler, PREFIX, ELEMENT_REGION, atts); } finally { handler.endPrefixMapping(PREFIX); } } }
/** * Generates XML for a CacheTransactionManager * * @since GemFire 4.0 */ private void generate(CacheTransactionManager txMgr) throws SAXException { if (this.version.compareTo(CacheXmlVersion.GEMFIRE_4_0) < 0) { return; } if (txMgr == null) { return; } if (!generateDefaults() && txMgr.getWriter() == null && txMgr.getListeners().length == 0) { return; } handler.startElement("", TRANSACTION_MANAGER, TRANSACTION_MANAGER, EMPTY); { TransactionListener[] listeners = txMgr.getListeners(); for (int i = 0; i < listeners.length; i++) { generate(TRANSACTION_LISTENER, listeners[i]); } if (txMgr.getWriter() != null) { generate(TRANSACTION_WRITER, txMgr.getWriter()); } } handler.endElement("", TRANSACTION_MANAGER, TRANSACTION_MANAGER); }
@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); try { handler.startPrefixMapping(PREFIX, NAMESPACE); final AttributesImpl atts = new AttributesImpl(); addAttribute(atts, ATTRIBUTE_VALUE, extension.getValue()); emptyElement(handler, PREFIX, ELEMENT_CACHE, atts); } finally { handler.endPrefixMapping("mock"); } } }
/** * Examines the given <code>Cache</code> and from it generates XML data that is written to the * given <code>PrintWriter</code>. */ public static void generate(Cache cache, PrintWriter pw) { generate(cache, pw, true /* useSchema */); }
/** * Examines the given <code>Cache</code> and from it generates XML data that is written to the * given <code>PrintWriter</code>. The schema/dtd for the current version of GemFire is used. * * @param useSchema Should the generated XML reference a schema (as opposed to a DTD)? As of 8.1 * this value is ignored and always true. */ public static void generate(Cache cache, PrintWriter pw, boolean useSchema) { (new CacheXmlGenerator(cache, true /* latest version always true */, VERSION_LATEST, true)) .generate(pw); }
CacheConfig config = ((InternalCache) cache).getCacheConfig(); if (config.pdxReadSerializedUserSet) { if (generateDefaults() || this.cache.getPdxReadSerialized()) atts.addAttribute("", "", READ_SERIALIZED, "", Boolean.toString(this.cache.getPdxReadSerialized())); if (generateDefaults() || this.cache.getPdxIgnoreUnreadFields()) atts.addAttribute("", "", IGNORE_UNREAD_FIELDS, "", Boolean.toString(this.cache.getPdxIgnoreUnreadFields())); if (generateDefaults() || this.cache.getPdxPersistent()) atts.addAttribute("", "", PERSISTENT, "", Boolean.toString(this.cache.getPdxPersistent())); 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; generate(PDX_SERIALIZER, this.cache.getPdxSerializer());
/** * Test of generating cache configuration. */ @Test public void generateWithFields() throws Exception { LuceneIndexCreation index = mock(LuceneIndexCreation.class); when(index.getName()).thenReturn("index"); String[] fields = new String[] {"field1", "field2"}; when(index.getFieldNames()).thenReturn(fields); LuceneIndexXmlGenerator generator = new LuceneIndexXmlGenerator(index); CacheXmlGenerator cacheXmlGenerator = mock(CacheXmlGenerator.class); ContentHandler handler = mock(ContentHandler.class); when(cacheXmlGenerator.getContentHandler()).thenReturn(handler); generator.generate(cacheXmlGenerator); ArgumentCaptor<Attributes> captor = ArgumentCaptor.forClass(Attributes.class); verify(handler).startElement(eq(""), eq("index"), eq("lucene:index"), captor.capture()); Attributes value = captor.getValue(); assertEquals("index", value.getValue(LuceneXmlConstants.NAME)); captor = ArgumentCaptor.forClass(Attributes.class); verify(handler, times(2)).startElement(eq(""), eq("field"), eq("lucene:field"), captor.capture()); Set<String> foundFields = new HashSet<String>(); for (Attributes fieldAttr : captor.getAllValues()) { foundFields.add(fieldAttr.getValue(LuceneXmlConstants.NAME)); } HashSet<String> expected = new HashSet<String>(Arrays.asList(fields)); assertEquals(expected, foundFields); verify(handler, times(2)).endElement(eq(""), eq("field"), eq("lucene:field")); verify(handler).endElement(eq(""), eq("index"), eq("lucene:index")); }
/** * Used by gemfire build.xml to generate a default gemfire.properties for use by applications. See * bug 30995 for the feature request. */ public static void main(String args[]) throws IOException { FileWriter fw = new FileWriter(new File("cache.xml")); PrintWriter pw = new PrintWriter(fw); generateDefault(pw); pw.close(); fw.close(); }
/** * Generates XML for a <code>Declarable</code>. Will handle the config <code>Properties</code> for * a {@link Declarable2}. */ private void generate(Declarable d) throws SAXException { generate(d, true); }
/** * @param useSchema Should the generated XML reference a schema (as opposed to a DTD)? As of 8.1 * this value is ignored and always true. * @param includeDefaults set to false to cause generated xml to not have defaults values. */ public static void generate(Cache cache, PrintWriter pw, boolean useSchema, boolean includeKeysValues, boolean includeDefaults) { (new CacheXmlGenerator(cache, true /* latest version always true */, VERSION_LATEST, includeKeysValues, includeDefaults)).generate(pw); }
if (generateDefaults() || !scope.equals(AbstractRegion.DEFAULT_SCOPE)) atts.addAttribute("", "", SCOPE, "", scopeString); if (generateDefaults() || attrs.getEarlyAck()) atts.addAttribute("", "", EARLY_ACK, "", String.valueOf(attrs.getEarlyAck())); if (generateDefaults() || attrs.getMulticastEnabled()) atts.addAttribute("", "", MULTICAST_ENABLED, "", String.valueOf(attrs.getMulticastEnabled())); if (generateDefaults() || attrs.getPublisher()) atts.addAttribute("", "", PUBLISHER, "", String.valueOf(attrs.getPublisher())); if (generateDefaults() || attrs.getEnableAsyncConflation()) atts.addAttribute("", "", ENABLE_ASYNC_CONFLATION, "", String.valueOf(attrs.getEnableAsyncConflation())); if (generateDefaults() || attrs.getEnableSubscriptionConflation()) atts.addAttribute("", "", ENABLE_SUBSCRIPTION_CONFLATION, "", String.valueOf(attrs.getEnableSubscriptionConflation())); } else { if (generateDefaults() || attrs.getEnableSubscriptionConflation()) atts.addAttribute("", "", ENABLE_BRIDGE_CONFLATION, "", String.valueOf(attrs.getEnableSubscriptionConflation())); if (generateDefaults() || !dp.equals(DataPolicy.DEFAULT)) atts.addAttribute("", "", DATA_POLICY, "", dpString);
@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); handler.startPrefixMapping(PREFIX, NAMESPACE); AttributesImpl attr = new AttributesImpl(); // TODO - should the type be xs:string ? XmlGeneratorUtils.addAttribute(attr, NAME, index.getName()); XmlGeneratorUtils.startElement(handler, PREFIX, INDEX, attr); for (String field : index.getFieldNames()) { AttributesImpl fieldAttr = new AttributesImpl(); XmlGeneratorUtils.addAttribute(fieldAttr, NAME, field); Analyzer analyzer = index.getFieldAnalyzers().get(field); if (analyzer != null) { XmlGeneratorUtils.addAttribute(fieldAttr, ANALYZER, analyzer.getClass().getName()); } XmlGeneratorUtils.emptyElement(handler, PREFIX, FIELD, fieldAttr); } LuceneSerializer serializer = index.getLuceneSerializer(); if (serializer != null) { XmlGeneratorUtils.startElement(handler, PREFIX, SERIALIZER, EMPTY); XmlGeneratorUtils.addDeclarable(handler, serializer); XmlGeneratorUtils.endElement(handler, PREFIX, SERIALIZER); } XmlGeneratorUtils.endElement(handler, PREFIX, INDEX); } }