Search in sources :

Example 6 with MarshalException

use of org.exolab.castor.xml.MarshalException in project ACS by ACS-Community.

the class ACSCategoryDAOImpl method flushCategories.

public void flushCategories(Categories cats) {
    if (conf == null || !conf.isWriteable())
        throw new IllegalStateException("no writable configuration accessor");
    if (cats == null)
        throw new IllegalArgumentException("Null Categories argument");
    StringWriter FFWriter = new StringWriter();
    Marshaller FF_marshaller;
    try {
        FF_marshaller = new Marshaller(FFWriter);
    } catch (IOException e) {
        e.printStackTrace();
        return;
    }
    FF_marshaller.setValidation(false);
    try {
        FF_marshaller.marshal(cats);
    } catch (MarshalException e) {
        e.printStackTrace();
        return;
    } catch (ValidationException e) {
        e.printStackTrace();
        return;
    }
    try {
        conf.deleteConfiguration(CATEGORY_DEFINITION_PATH);
        conf.addConfiguration(CATEGORY_DEFINITION_PATH, FFWriter.toString().replaceFirst("xsi:type=\".*\"", ""));
    } catch (org.omg.CORBA.UNKNOWN e) {
        try {
            conf.addConfiguration(CATEGORY_DEFINITION_PATH, FFWriter.toString().replaceFirst("xsi:type=\".*\"", ""));
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    } catch (CDBXMLErrorEx e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
        throw new IllegalStateException("Category already exists");
    }
}
Also used : Marshaller(org.exolab.castor.xml.Marshaller) MarshalException(org.exolab.castor.xml.MarshalException) ValidationException(org.exolab.castor.xml.ValidationException) StringWriter(java.io.StringWriter) CDBXMLErrorEx(alma.cdbErrType.CDBXMLErrorEx) IOException(java.io.IOException) LaserObjectNotFoundException(cern.laser.business.LaserObjectNotFoundException) ValidationException(org.exolab.castor.xml.ValidationException) MarshalException(org.exolab.castor.xml.MarshalException) IOException(java.io.IOException)

Example 7 with MarshalException

use of org.exolab.castor.xml.MarshalException in project ACS by ACS-Community.

the class DynamicProxyFactoryTest method testInvalidXml.

public void testInvalidXml() throws DynWrapperException {
    XmlComponentOperations serverProxy = createServerProxy();
    assertNotNull(serverProxy);
    XmlEntityStruct entStructObsProp = serverProxy.createObsProposal();
    XmlEntityStructHolder xesh = new XmlEntityStructHolder();
    // send invalid xml
    entStructObsProp.xmlString = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + //			"<ns1:ObsProposal xmlns:ns1=\"AlmaTest/ObsProposal\">" +
    "	<ns1:ObsProposalEntity entityIdEncrypted=\"ljasd;ljfa;lsfd\"" + "		entityId=\"uid://X0000000000000000/X00000001\" entityTypeName=\"ObsProposal\"/>" + "	<ns1:PerformanceGoals>peak performance enduring a 24-7-365 schedule.</ns1:PerformanceGoals>" + "</ns1:ObsProposal>";
    try {
        serverProxy.xmlInOutMethod(entStructObsProp, xesh);
        fail("invalid XML should have caused an exception");
    } catch (UndeclaredThrowableException e) {
        Throwable cause = e.getCause();
        assertTrue(cause instanceof DynWrapperException);
        Throwable cause2 = cause.getCause();
        assertTrue(cause2 instanceof MarshalException);
        assertTrue(((MarshalException) cause2).getCause() instanceof org.xml.sax.SAXException);
    }
}
Also used : XmlEntityStructHolder(alma.xmlentity.XmlEntityStructHolder) MarshalException(org.exolab.castor.xml.MarshalException) XmlComponentOperations(alma.demo.XmlComponentOperations) UndeclaredThrowableException(java.lang.reflect.UndeclaredThrowableException) XmlEntityStruct(alma.xmlentity.XmlEntityStruct)

Example 8 with MarshalException

use of org.exolab.castor.xml.MarshalException in project OpenClinica by OpenClinica.

the class MetaDataReportBean method handleLoadCastor.

private String handleLoadCastor(RulesPostImportContainer rpic) {
    try {
        // Create Mapping
        Mapping mapping = new Mapping();
        mapping.loadMapping(getCoreResources().getURL("mappingMarshallerMetadata.xml"));
        // Create XMLContext
        XMLContext xmlContext = new XMLContext();
        xmlContext.setProperty(XMLConfiguration.NAMESPACES, "true");
        xmlContext.addMapping(mapping);
        StringWriter writer = new StringWriter();
        Marshaller marshaller = xmlContext.createMarshaller();
        // marshaller.setNamespaceMapping("castor", "http://castor.org/sample/mapping/");
        marshaller.setWriter(writer);
        marshaller.marshal(rpic);
        String result = writer.toString();
        String newResult = result.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "");
        return newResult;
    } catch (FileNotFoundException ex) {
        throw new OpenClinicaSystemException(ex.getMessage(), ex.getCause());
    } catch (IOException ex) {
        throw new OpenClinicaSystemException(ex.getMessage(), ex.getCause());
    } catch (MarshalException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (ValidationException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (MappingException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (Exception e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    }
}
Also used : Marshaller(org.exolab.castor.xml.Marshaller) MarshalException(org.exolab.castor.xml.MarshalException) ValidationException(org.exolab.castor.xml.ValidationException) StringWriter(java.io.StringWriter) XMLContext(org.exolab.castor.xml.XMLContext) FileNotFoundException(java.io.FileNotFoundException) Mapping(org.exolab.castor.mapping.Mapping) IOException(java.io.IOException) OpenClinicaSystemException(org.akaza.openclinica.exception.OpenClinicaSystemException) FileNotFoundException(java.io.FileNotFoundException) OpenClinicaSystemException(org.akaza.openclinica.exception.OpenClinicaSystemException) MappingException(org.exolab.castor.mapping.MappingException) ValidationException(org.exolab.castor.xml.ValidationException) MarshalException(org.exolab.castor.xml.MarshalException) IOException(java.io.IOException) MappingException(org.exolab.castor.mapping.MappingException)

Example 9 with MarshalException

use of org.exolab.castor.xml.MarshalException in project OpenClinica by OpenClinica.

the class DownloadRuleSetXmlServlet method handleLoadCastor.

private FileWriter handleLoadCastor(FileWriter writer, RulesPostImportContainer rpic) {
    try {
        // Create Mapping
        Mapping mapping = new Mapping();
        mapping.loadMapping(getCoreResources().getURL("mappingMarshaller.xml"));
        // Create XMLContext
        XMLContext xmlContext = new XMLContext();
        xmlContext.addMapping(mapping);
        Marshaller marshaller = xmlContext.createMarshaller();
        marshaller.setWriter(writer);
        marshaller.marshal(rpic);
        return writer;
    } catch (FileNotFoundException ex) {
        throw new OpenClinicaSystemException(ex.getMessage(), ex.getCause());
    } catch (IOException ex) {
        throw new OpenClinicaSystemException(ex.getMessage(), ex.getCause());
    } catch (MarshalException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (ValidationException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (MappingException e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    } catch (Exception e) {
        throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
    }
}
Also used : Marshaller(org.exolab.castor.xml.Marshaller) MarshalException(org.exolab.castor.xml.MarshalException) ValidationException(org.exolab.castor.xml.ValidationException) XMLContext(org.exolab.castor.xml.XMLContext) FileNotFoundException(java.io.FileNotFoundException) Mapping(org.exolab.castor.mapping.Mapping) IOException(java.io.IOException) OpenClinicaSystemException(org.akaza.openclinica.exception.OpenClinicaSystemException) MappingException(org.exolab.castor.mapping.MappingException) InsufficientPermissionException(org.akaza.openclinica.web.InsufficientPermissionException) ValidationException(org.exolab.castor.xml.ValidationException) MarshalException(org.exolab.castor.xml.MarshalException) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) OpenClinicaSystemException(org.akaza.openclinica.exception.OpenClinicaSystemException) MappingException(org.exolab.castor.mapping.MappingException)

Example 10 with MarshalException

use of org.exolab.castor.xml.MarshalException in project opennms by OpenNMS.

the class QoSDimpl2 method onStart.

/**
	 * The start() method loads the configuration for the QosD daemon and registers for events
	 */
@Override
protected void onStart() {
    String jnp_host;
    //Get a reference to the QosD logger instance assigned by OpenNMS
    LOG.info("Qosd.start(): Preparing to load configuration");
    // set application context for AlarmListConnectionManager
    try {
        LOG.debug("Qosd.start():setting application context for alarmListConnectionManager: m.context.toString:{}", m_context.toString());
        alarmListConnectionManager.setApplicationContext(m_context);
    } catch (Exception ex) {
        throw new IllegalArgumentException("Qosd.start(): Error setting spring application context: " + ex);
    }
    //all the UEIs that will be sent as alarms if useUeiList = true.
    try {
        config = QoSDConfigFactory.getConfig();
        LOG.info("QoSD QoSD-configuration.xml - Configuration Loaded Successfully");
        // loading list of UEI's which trigger this daemon
        triggerUeiList = new Hashtable<String, String>();
        String[] temp = config.getEventlist().getUei();
        for (int i = 0; i < temp.length; i++) triggerUeiList.put(temp[i], "1");
    } catch (MarshalException mrshl_ex) {
        //write an error message to the log file
        LOG.error("Qosd.start(): Marshal Exception thrown whilst getting QoSD configuration\n\t\t\t\tEnsure tags have correct names", mrshl_ex);
        throw new UndeclaredThrowableException(mrshl_ex);
    } catch (ValidationException vldtn_ex) {
        LOG.error("Qosd.start(): Validation Exception thrown whilst getting QoSD configuration\n\t\t\t\tMake sure all the tags are formatted correctly within QoSD-configuration.xml", vldtn_ex);
        throw new UndeclaredThrowableException(vldtn_ex);
    } catch (IOException io_ex) {
        //Get the OpenNMS home directory
        String configFile = System.getProperty("opennms.home");
        // if there is '/' at the end...
        if (configFile.endsWith(java.io.File.separator)) {
            // ... remove it so that we can compose a valid filename
            configFile = configFile.substring(0, configFile.length() - 1);
        }
        configFile += java.io.File.separator + "etc" + java.io.File.separator + "QoSD-configuration.xml";
        LOG.error("Qosd.start(): Failed to load configuration file: {}\n\t\t\t\tMake sure that it exists", configFile, io_ex);
        throw new UndeclaredThrowableException(io_ex);
    }
    if (useUeiList)
        LOG.info("Qosd.start(): useUeiList = true = using QoSD QoSD-configuration.xml UEI list selects which alarms are sent");
    try {
        //Load the properties file containing the JNDI connection address etc.
        props = PropertiesLoader.getInstance();
    } catch (FileNotFoundException fnf_ex) {
        //record in log that the properties file could not be found
        String propertiesFilename = System.getProperty("propertiesFile");
        LOG.error("Qosd.start(): Could not find properties file: {}", propertiesFilename, fnf_ex);
        throw new UndeclaredThrowableException(fnf_ex);
    } catch (IOException io_ex) {
        //record in log that the properties file could not be read
        String propertiesFilename = System.getProperty("propertiesFile");
        LOG.error("Qosd.start(): Could not read from properties file: {}\n\t\t\t\tPlease check the file permissions", propertiesFilename, io_ex);
        throw new UndeclaredThrowableException(io_ex);
    }
    LOG.info("Qosd.start(): QosD Properties File Loaded");
    if (System.getSecurityManager() == null)
        System.setSecurityManager(new RMISecurityManager());
    /*The following if-statement checks if the naming provider property exists in
		 * the properties file. If it does then it stores it in the jnp_host string. If
		 * it doesn't then it uses a default naming provider string "jbossjmsserver1:1099" and
		 * assigns it to jnp_host, stating this in the log file.
		 */
    if (props.getProperty("org.openoss.opennms.spring.qosd.naming.provider") != null) {
        jnp_host = (String) props.getProperty("org.openoss.opennms.spring.qosd.naming.provider");
        LOG.info("Using JNP: {}", jnp_host);
    } else {
        LOG.warn("Qosd.start(): Naming provider property not set, Using default: jnp://jbossjmsserver1:1099");
        jnp_host = "jnp://jbossjmsserver1:1099";
    }
    /* Fill a new properties object with the properties supplied in 
		 * the properties file.
		 */
    env = new Properties();
    env.setProperty("java.naming.provider.url", jnp_host);
    env.setProperty("java.naming.factory.initial", props.getProperty("org.openoss.opennms.spring.qosd.naming.contextfactory"));
    env.setProperty("java.naming.factory.url.pkgs", props.getProperty("org.openoss.opennms.spring.qosd.naming.pkg"));
    // start a new connection manager thread
    try {
        alarmListConnectionManager.init(props, env);
        alarmListConnectionManager.start();
        //wait until the AlarmListConnectionManager has connected to bean		
        LOG.info("Qosd.start(): Waiting Connection Manager Thread to get JMS connection");
        while (alarmListConnectionManager.getStatus() != AlarmListConnectionManager.CONNECTED) ;
        LOG.info("Qosd.start(): Connection Manager Thread JMS connection successfully registered");
        LOG.info("Qosd.start(): openNMS just restarted - sending alarm list rebuilt event");
        //send alarm list rebuilt event to EJB via the connection manager thread.
        // send an alarm list rebuilt event
        alarmListConnectionManager.reset_list("openNMS just restarted - alarm list rebuilt. Time:" + new Date());
    } catch (Throwable iae) {
        LOG.error("Qosd.start(): Exception caught starting alarmListConnectionManager", iae);
        throw new UndeclaredThrowableException(iae);
    }
    // setting up ossDao to access the OpenNMS database
    try {
        LOG.debug("Qosd.start(): Using ossDao instance: {}", (ossDao == null ? "IS NULL" : ossDao.toString()));
        LOG.info("Qosd.start(): Initialising the Node and alarm Caches");
        ossDao.init();
        //	TODO REMOVE
        //			ossDao.updateNodeCaches();
        LOG.info("Qosd.start(): Set up ossDao call back interface to QoSD for forwarding changes to alarm list");
        ossDao.setQoSD(this);
    } catch (Throwable ex) {
        LOG.error("Qosd.start(): Exception caught setting callback interface from ossDao", ex);
        throw new UndeclaredThrowableException(ex);
    }
    // set up thread to handle incoming OpenNMS events
    LOG.info("Qosd.start(): initialising OpenNMSEventHandlerThread");
    try {
        openNMSEventHandlerThread = new OpenNMSEventHandlerThread();
        openNMSEventHandlerThread.setOssDao(ossDao);
        openNMSEventHandlerThread.init();
        openNMSEventHandlerThread.start();
    } catch (Throwable ex) {
        LOG.error("Qosd.start(): Exception caught initialising OpenNMSEventHandlerThread", ex);
        throw new UndeclaredThrowableException(ex);
    }
    //send all the alarmList to EJB via the connection manager thread.
    LOG.info("Qosd.start(): openNMS just restarted - sending all alarms in rebuilt alarm list");
    try {
        //this.sendAlarms(); // interface has just started up. Send all alarms
        openNMSEventHandlerThread.sendAlarmList();
    } catch (Exception e) {
        LOG.error("Qosd.start(): problem sending initial alarm list Error:", e);
    }
    // register listener for OpenNMS events
    LOG.info("Qosd.start(): Starting OpenNMS event listener");
    try {
        registerListener();
    } catch (Exception e) {
        LOG.error("Qosd.start(): problem registering event listener Error:", e);
    }
    // TODO - replace ack handler code with QoSDrx receiver code
    LOG.info("QoSD Started");
}
Also used : MarshalException(org.exolab.castor.xml.MarshalException) ValidationException(org.exolab.castor.xml.ValidationException) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) RMISecurityManager(java.rmi.RMISecurityManager) Properties(java.util.Properties) ValidationException(org.exolab.castor.xml.ValidationException) MarshalException(org.exolab.castor.xml.MarshalException) IOException(java.io.IOException) UndeclaredThrowableException(java.lang.reflect.UndeclaredThrowableException) FileNotFoundException(java.io.FileNotFoundException) Date(java.util.Date) UndeclaredThrowableException(java.lang.reflect.UndeclaredThrowableException)

Aggregations

MarshalException (org.exolab.castor.xml.MarshalException)17 ValidationException (org.exolab.castor.xml.ValidationException)16 IOException (java.io.IOException)15 StringWriter (java.io.StringWriter)7 Marshaller (org.exolab.castor.xml.Marshaller)7 LaserObjectNotFoundException (cern.laser.business.LaserObjectNotFoundException)6 StringReader (java.io.StringReader)6 Unmarshaller (org.exolab.castor.xml.Unmarshaller)6 CDBRecordDoesNotExistEx (alma.cdbErrType.CDBRecordDoesNotExistEx)5 FileNotFoundException (java.io.FileNotFoundException)4 MalformedURLException (java.net.MalformedURLException)4 PatternSyntaxException (java.util.regex.PatternSyntaxException)4 OpenClinicaSystemException (org.akaza.openclinica.exception.OpenClinicaSystemException)3 Mapping (org.exolab.castor.mapping.Mapping)3 MappingException (org.exolab.castor.mapping.MappingException)3 XMLContext (org.exolab.castor.xml.XMLContext)3 FaultFamily (alma.acs.alarmsystem.generated.FaultFamily)2 UndeclaredThrowableException (java.lang.reflect.UndeclaredThrowableException)2 Vector (java.util.Vector)2 NodeType (org.talend.designer.core.model.utils.emf.talendfile.NodeType)2