private static void serializeStartups(OMElement definitions, Collection startups) { for (Object o : startups) { if (o instanceof Startup) { Startup s = (Startup) o; StartupFinder.getInstance().serializeStartup(definitions, s); } } }
public static Startup defineStartup(SynapseConfiguration config, OMElement elem, Properties properties) { Startup startup = StartupFinder.getInstance().getStartup(elem, properties); config.addStartup(startup); return startup; }
/** * Allow the startup finder to act as an XMLToObjectMapper for * Startup (i.e. Startup) loaded dynamically from a Registry * * @param om to build the startup object * @param properties bag of properties with additional information * @return startup created */ public Startup getObjectFromOMNode(OMNode om, Properties properties) { if (om instanceof OMElement) { return getStartup((OMElement) om, properties); } else { handleException("Invalid configuration XML : " + om); } return null; }
public void testStartupSerializationSenarioOne() throws Exception { String inputXml = "<task class=\"org.apache.synapse.util.TestTask\" group=\"org\" " + "name=\"TestTask\" xmlns=\"http://ws.apache.org/ns/synapse\">" + "<property name=\"name\" value=\"foo\"/>" + "<trigger interval=\"5\"/></task>"; OMElement inputOM = createOMElement(inputXml); Startup startup = StartupFinder.getInstance().getStartup(inputOM, new Properties()); OMElement resultOM = StartupFinder.getInstance().serializeStartup(null, startup); assertTrue(compare(resultOM, inputOM)); }
QName tagQName = factory.getTagQName(); Class<? extends StartupFactory> clazz = factory.getClass(); StartupFinder finder = StartupFinder.getInstance(); finder.getFactoryMap().put(tagQName, clazz); finder.getSerializerMap().put(tagQName, factory.getSerializerClass()); log.info("Registered startup factory and serializer for " + tagQName);
} else if (XMLConfigConstants.MESSAGE_PROCESSOR_ELT.equals(elt.getQName())){ defineMessageProcessor(config, elt, properties); } else if (StartupFinder.getInstance().isStartup(elt.getQName())) { defineStartup(config, elt, properties); } else if (XMLConfigConstants.API_ELT.equals(elt.getQName())) {
public static synchronized StartupFinder getInstance() { if (!initialized) { loadStartups(); } return instance; }
private static void loadStartups() { // preregister any built in for (Class<?> builtin : builtins) { if (builtin != null) { Class<? extends StartupFactory> b = builtin.asSubclass(StartupFactory.class); StartupFactory sf; try { sf = b.newInstance(); } catch (Exception e) { throw new SynapseException("cannot instantiate " + b.getName(), e); } factoryMap.put(sf.getTagQName(), b); serializerMap.put(sf.getTagQName(), sf.getSerializerClass()); } } registerExtensions(); initialized = true; } private void handleException(String msg) {
public void testStartupSerializationSenarioTwo() throws Exception { String inputXml = "<task class=\"org.apache.synapse.util.TestTask\" group=\"org\" " + "name=\"TestTask\" xmlns=\"http://ws.apache.org/ns/synapse\">" + "<description>Test description</description>" + "<property name=\"name\" value=\"foo\"/>" + "<trigger interval=\"5\"/></task>"; OMElement inputOM = createOMElement(inputXml); Startup startup = StartupFinder.getInstance().getStartup(inputOM, new Properties()); OMElement resultOM = StartupFinder.getInstance().serializeStartup(null, startup); assertTrue(compare(resultOM, inputOM)); } }
QName tagQName = factory.getTagQName(); Class<? extends StartupFactory> clazz = factory.getClass(); StartupFinder finder = StartupFinder.getInstance(); finder.getFactoryMap().put(tagQName, clazz); finder.getSerializerMap().put(tagQName, factory.getSerializerClass()); log.info("Registered startup factory and serializer for " + tagQName);
} else if (XMLConfigConstants.MESSAGE_PROCESSOR_ELT.equals(elt.getQName())) { defineMessageProcessor(config, elt, properties); } else if (StartupFinder.getInstance().isStartup(elt.getQName())) { defineStartup(config, elt, properties); } else if (XMLConfigConstants.API_ELT.equals(elt.getQName())) {
public static synchronized StartupFinder getInstance() { if (!initialized) { loadStartups(); } return instance; }
private static void loadStartups() { // preregister any built in for (Class<?> builtin : builtins) { if (builtin != null) { Class<? extends StartupFactory> b = builtin.asSubclass(StartupFactory.class); StartupFactory sf; try { sf = b.newInstance(); } catch (Exception e) { throw new SynapseException("cannot instantiate " + b.getName(), e); } factoryMap.put(sf.getTagQName(), b); serializerMap.put(sf.getTagQName(), sf.getSerializerClass()); } } registerExtensions(); initialized = true; } private void handleException(String msg) {
private static void serializeStartups(OMElement definitions, Collection startups) { for (Object o : startups) { if (o instanceof Startup) { Startup s = (Startup) o; StartupFinder.getInstance().serializeStartup(definitions, s); } } }
public static Startup defineStartup(SynapseConfiguration config, OMElement elem, Properties properties) { Startup startup = StartupFinder.getInstance().getStartup(elem, properties); config.addStartup(startup); return startup; }
/** * Allow the startup finder to act as an XMLToObjectMapper for * Startup (i.e. Startup) loaded dynamically from a Registry * * @param om to build the startup object * @param properties bag of properties with additional information * @return startup created */ public Startup getObjectFromOMNode(OMNode om, Properties properties) { if (om instanceof OMElement) { return getStartup((OMElement) om, properties); } else { handleException("Invalid configuration XML : " + om); } return null; }
@Override public void restoreSynapseArtifact(String artifactName) { if (log.isDebugEnabled()) { log.debug("Restoring the StartupTask with name : " + artifactName + " : Started"); } try { Startup st = getSynapseConfiguration().getStartup(artifactName); OMElement stElem = StartupFinder.getInstance().serializeStartup(null, st); if (st.getFileName() != null) { String fileName = getServerConfigurationInformation().getSynapseXMLLocation() + File.separator + MultiXMLConfigurationBuilder.TASKS_DIR + File.separator + st.getFileName(); writeToFile(stElem, fileName); if (log.isDebugEnabled()) { log.debug("Restoring the StartupTask with name : " + artifactName + " : Completed"); } log.info("StartupTask named '" + artifactName + "' has been restored"); } else { handleSynapseArtifactDeploymentError("Couldn't restore the StartupTask named '" + artifactName + "', filename cannot be found"); } } catch (Exception e) { handleSynapseArtifactDeploymentError( "Restoring of the StartupTask named '" + artifactName + "' has failed", e); } } }
@Override public String deploySynapseArtifact(OMElement artifactConfig, String fileName, Properties properties) { if (log.isDebugEnabled()) { log.debug("StartupTask Deployment from file : " + fileName + " : Started"); } try { Startup st = StartupFinder.getInstance().getStartup(artifactConfig, properties); st.setFileName((new File(fileName)).getName()); if (log.isDebugEnabled()) { log.debug("StartupTask named '" + st.getName() + "' has been built from the file " + fileName); } st.init(getSynapseEnvironment()); if (log.isDebugEnabled()) { log.debug("Initialized the StartupTask : " + st.getName()); } getSynapseConfiguration().addStartup(st); if (log.isDebugEnabled()) { log.debug("StartupTask Deployment from file : " + fileName + " : Completed"); } log.info("StartupTask named '" + st.getName() + "' has been deployed from file : " + fileName); return st.getName(); } catch (Exception e) { handleSynapseArtifactDeploymentError( "StartupTask Deployment from the file : " + fileName + " : Failed.", e); } return null; }
public OMElement serializeTask(Startup task, SynapseConfiguration synapseConfig, OMElement parent) throws Exception { File tasksDir = createDirectory(currentDirectory, MultiXMLConfigurationBuilder.TASKS_DIR); OMElement taskElem = StartupFinder.getInstance().serializeStartup(null, task); if (task.getFileName() != null) { String fileName = task.getFileName(); if (currentDirectory == rootDirectory) { handleDeployment(tasksDir, fileName, task.getName(), synapseConfig.getArtifactDeploymentStore()); } File taskFile = new File(tasksDir, fileName); writeToFile(taskElem, taskFile); } else if (parent != null) { parent.addChild(taskElem); } return taskElem; }
Startup st = StartupFinder.getInstance().getStartup(artifactConfig, properties); st.setFileName((new File(fileName)).getName());