List of usage examples for java.rmi RemoteException getMessage
public String getMessage()
From source file:org.pepstock.jem.jbpm.tasks.JemWorkItemHandler.java
/** * Executes the work item, creating all JEM features and therefore reachable by JNDI. * //from ww w . ja va2s .c om * @param task current JBPM task * @param item sub workitem to execute * @param parms list of parameters, created by JBPM for this work item * @return return code of work item execution * @throws JemException if any error occurs */ private int execute(Task task, JemWorkItem item, Map<String, Object> parms) throws JemException { // this boolean is necessary to understand if I have an exception // before calling the main class boolean isExecutionStarted = false; JBpmBatchSecurityManager batchSM = (JBpmBatchSecurityManager) System.getSecurityManager(); // object serializer and deserializer into XML XStream xstream = new XStream(); List<DataDescriptionImpl> ddList = null; InitialContext ic = null; try { // gets all data description requested by this task ddList = ImplementationsContainer.getInstance().getDataDescriptionsByItem(task); // new intial context for JNDI ic = ContextUtils.getContext(); // LOADS DataPaths Container Reference referencePaths = new DataPathsReference(); // loads dataPaths on static name String xmlPaths = xstream.toXML(DataPathsContainer.getInstance()); // adds the String into a data stream reference referencePaths.add(new StringRefAddr(StringRefAddrKeys.DATAPATHS_KEY, xmlPaths)); // re-bind the object inside the JNDI context ic.rebind(JBpmKeys.JBPM_DATAPATHS_BIND_NAME, referencePaths); // scans all datasource passed for (DataSource source : task.getDataSources()) { // checks if datasource is well defined if (source.getResource() == null) { throw new MessageException(JBpmMessage.JEMM027E); } else if (source.getName() == null) { // if name is missing, it uses the same string // used to define the resource source.setName(source.getResource()); } // gets the RMi object to get resources CommonResourcer resourcer = InitiatorManager.getCommonResourcer(); // lookups by RMI for the database Resource res = resourcer.lookup(JobId.VALUE, source.getResource()); if (!batchSM.checkResource(res)) { throw new MessageException(JBpmMessage.JEMM028E, res.toString()); } // all properties create all StringRefAddrs necessary Map<String, ResourceProperty> properties = res.getProperties(); // scans all properteis set by JCL for (Property property : source.getProperties()) { if (property.isCustom()) { if (res.getCustomProperties() == null) { res.setCustomProperties(new HashMap<String, String>()); } if (!res.getCustomProperties().containsKey(property.getName())) { res.getCustomProperties().put(property.getName(), property.getText().toString()); } else { throw new MessageException(JBpmMessage.JEMM028E, property.getName(), res); } } else { // if a key is defined FINAL, throw an exception for (ResourceProperty resProperty : properties.values()) { if (resProperty.getName().equalsIgnoreCase(property.getName()) && !resProperty.isOverride()) { throw new MessageException(JBpmMessage.JEMM028E, property.getName(), res); } } ResourcePropertiesUtil.addProperty(res, property.getName(), property.getText().toString()); } } // creates a JNDI reference Reference ref = getReference(resourcer, res, source, ddList); // loads all properties into RefAddr for (ResourceProperty property : properties.values()) { ref.add(new StringRefAddr(property.getName(), replaceProperties(property.getValue(), JobsProperties.getInstance().getProperties()))); } // loads custom properties in a string format if (res.getCustomProperties() != null && !res.getCustomProperties().isEmpty()) { // loads all entries and substitute variables for (Entry<String, String> entry : res.getCustomProperties().entrySet()) { String value = replaceProperties(entry.getValue(), JobsProperties.getInstance().getProperties()); entry.setValue(value); } // adds to reference ref.add(new StringRefAddr(CommonKeys.RESOURCE_CUSTOM_PROPERTIES, res.getCustomPropertiesString())); } // binds the object with format [type]/[name] LogAppl.getInstance().emit(JBpmMessage.JEMM035I, res); ic.rebind(source.getName(), ref); } // if list of data description is empty, go to execute java main // class if (!ddList.isEmpty()) { // after locking, checks for GDG // is sure here the root (is a properties file) of GDG is locked // (doesn't matter if in READ or WRITE) // so can read a consistent data from root and gets the right // generation // starting from relative position for (DataDescriptionImpl ddImpl : ddList) { // creates a reference, accessible by name. Is data stream // reference because // contains a stream of data which represents a object Reference reference = new DataStreamReference(); // loads GDG generation!! it meeans the real file name of // generation GDGManager.load(ddImpl); LogAppl.getInstance().emit(JBpmMessage.JEMM034I, ddImpl); // serialize data descriptor object into xml string // in this way is easier pass to object across different // classloader, by JNDI. // This xml, by reference, will be used by DataStreamFactory // when // java main class requests a resource by a JNDI call String xml = xstream.toXML(ddImpl); // adds the String into a data stream reference reference.add(new StringRefAddr(StringRefAddrKeys.DATASTREAMS_KEY, xml)); // re-bind the object inside the JNDI context ic.rebind(ddImpl.getName(), reference); } } batchSM.setInternalAction(false); // executes the java main class defined in JCL // setting the boolean to TRUE isExecutionStarted = true; return item.execute(parms); } catch (RemoteException e) { throw new JemException(e); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new JemException(e); } finally { batchSM.setInternalAction(true); // checks datasets list if (ddList != null && !ddList.isEmpty()) { StringBuilder exceptions = new StringBuilder(); // scans data descriptions for (DataDescriptionImpl ddImpl : ddList) { try { // consolidates the GDG situation // changing the root (is a properties file) // only if execution started if (isExecutionStarted) { GDGManager.store(ddImpl); } } catch (IOException e) { // ignore LogAppl.getInstance().ignore(e.getMessage(), e); LogAppl.getInstance().emit(JBpmMessage.JEMM036E, e.getMessage()); if (exceptions.length() == 0) { exceptions.append(JBpmMessage.JEMM036E.toMessage().getFormattedMessage(e.getMessage())); } else { exceptions.append(JBpmMessage.JEMM036E.toMessage().getFormattedMessage(e.getMessage())) .append("\n"); } } // unbinds all data sources try { ic.unbind(ddImpl.getName()); } catch (NamingException e) { // ignore LogAppl.getInstance().ignore(e.getMessage(), e); LogAppl.getInstance().emit(JBpmMessage.JEMM037E, e.getMessage()); } } // checks if has exception using the stringbuffer // used to collect exception string. // Stringbuffer is not empty, throws an exception if (exceptions.length() > 0) { LogAppl.getInstance().emit(JBpmMessage.JEMM055E, exceptions.toString()); } } for (DataSource source : task.getDataSources()) { if (source.getName() != null) { // unbinds all resources try { ic.unbind(source.getName()); } catch (NamingException e) { // ignore LogAppl.getInstance().ignore(e.getMessage(), e); LogAppl.getInstance().emit(JBpmMessage.JEMM037E, e.getMessage()); } } } batchSM.setInternalAction(false); } }
From source file:org.pepstock.jem.springbatch.tasks.DataSource.java
/** * Implements the connection to database, using the JNDI reference * @return a SQL connection/* w w w . j a v a 2 s .c o m*/ * @throws SQLException if any error occurs */ private Connection getConnectionImpl() throws SQLException { try { SpringBatchSecurityManager batchSM = (SpringBatchSecurityManager) System.getSecurityManager(); // checks if datasource is well defined if (getResource() == null) { throw new SQLException(SpringBatchMessage.JEMS016E.toMessage().getFormattedMessage()); } else if (getName() == null) { // if name is missing, it uses the same string // used to define the resource setName(getResource()); } // gets the RMi object to get resources CommonResourcer resourcer = InitiatorManager.getCommonResourcer(); // lookups by RMI for the database Resource res = resourcer.lookup(JobId.VALUE, getResource()); if (!batchSM.checkResource(res)) { throw new SQLException(SpringBatchMessage.JEMS017E.toMessage().getFormattedMessage(res.toString())); } // all properties create all StringRefAddrs necessary Map<String, ResourceProperty> props = res.getProperties(); // scans all properteis set by JCL for (Property property : getProperties()) { if (property.isCustom()) { if (res.getCustomProperties() == null) { res.setCustomProperties(new HashMap<String, String>()); } if (!res.getCustomProperties().containsKey(property.getName())) { res.getCustomProperties().put(property.getName(), property.getValue()); } else { throw new SQLException(SpringBatchMessage.JEMS018E.toMessage() .getFormattedMessage(property.getName(), res)); } } else { // if a key is defined FINAL, throw an exception for (ResourceProperty resProperty : props.values()) { if (resProperty.getName().equalsIgnoreCase(property.getName()) && !resProperty.isOverride()) { throw new SQLException(SpringBatchMessage.JEMS018E.toMessage() .getFormattedMessage(property.getName(), res)); } } ResourcePropertiesUtil.addProperty(res, property.getName(), property.getValue()); } } // creates a JNDI reference Reference ref = getReference(resourcer, res); // loads all properties into RefAddr for (ResourceProperty property : props.values()) { ref.add(new StringRefAddr(property.getName(), replaceProperties(property.getValue()))); } // loads custom properties in a string format if (res.getCustomProperties() != null && !res.getCustomProperties().isEmpty()) { // loads all entries and substitute variables for (Entry<String, String> entry : res.getCustomProperties().entrySet()) { String value = replaceProperties(entry.getValue()); entry.setValue(value); } // adds to reference ref.add(new StringRefAddr(CommonKeys.RESOURCE_CUSTOM_PROPERTIES, res.getCustomPropertiesString())); } // binds the object with format {type]/[name] LogAppl.getInstance().emit(SpringBatchMessage.JEMS024I, res); JdbcFactory factory = new JdbcFactory(); javax.sql.DataSource ds = (javax.sql.DataSource) factory.getObjectInstance(ref, null, null, null); return ds.getConnection(); } catch (RemoteException e) { throw new SQLException(e.getMessage(), e); } catch (UnknownHostException e) { throw new SQLException(e.getMessage(), e); } catch (Exception e) { throw new SQLException(e.getMessage(), e); } }
From source file:org.seadva.data.lifecycle.service.ResearchObjectService.java
@GET @Path("/agentGraph/{agentId}") @Produces("application/json") public Response getAgentGraph(@PathParam("agentId") String agentId, @QueryParam("callback") String callback) { try {/*from www . j a va 2s . c om*/ GetAgentGraphRequestDocument agentGraphRequest = GetAgentGraphRequestDocument.Factory.newInstance(); GetAgentGraphRequestType agentRequestType = GetAgentGraphRequestType.Factory.newInstance(); agentRequestType.setAgentID(agentId); agentRequestType.setInformationDetailLevel(DetailEnumType.FINE); agentGraphRequest.setGetAgentGraphRequest(agentRequestType); KomaduServiceStub serviceStub = new KomaduServiceStub(komaduServiceUrl); GetAgentGraphResponseDocument agentResponse = serviceStub.getAgentGraph(agentGraphRequest); JSONObject xmlJSONObj = XML .toJSONObject(agentResponse.getGetAgentGraphResponse().getDocument().toString()); String jsonPrettyPrintString = xmlJSONObj.toString(4); return Response.ok( //"__gwt_jsonp__.P0.onSuccess" + callback + "(" + jsonPrettyPrintString + ")").header("Content-Type", "application/javascript") .build(); } catch (RemoteException e) { return Response.serverError().entity(e.getMessage()).build(); } catch (JSONException e) { return Response.serverError().entity(e.getMessage()).build(); } }
From source file:org.seadva.data.lifecycle.service.ResearchObjectService.java
@GET @Path("/entityGraph/{entityId}") @Produces("application/json") public Response getEntityGraph(@PathParam("entityId") String entityId, @QueryParam("callback") String callback) { try {/*from ww w . j av a2 s .c o m*/ GetEntityGraphRequestDocument entityGraphRequest = GetEntityGraphRequestDocument.Factory.newInstance(); GetEntityGraphRequestType entityRequestType = GetEntityGraphRequestType.Factory.newInstance(); entityRequestType.setInformationDetailLevel(DetailEnumType.FINE); entityRequestType.setEntityURI(entityId); entityRequestType.setEntityType(EntityEnumType.COLLECTION); entityGraphRequest.setGetEntityGraphRequest(entityRequestType); KomaduServiceStub serviceStub = new KomaduServiceStub(komaduServiceUrl); GetEntityGraphResponseDocument entityResponse = serviceStub.getEntityGraph(entityGraphRequest); JSONObject xmlJSONObj = XML .toJSONObject(entityResponse.getGetEntityGraphResponse().getDocument().toString()); String jsonPrettyPrintString = xmlJSONObj.toString(4); if (callback == null) callback = ""; return Response.ok(callback + "(" + jsonPrettyPrintString + ")") .header("Content-Type", "application/javascript").build(); } catch (RemoteException e) { return Response.serverError().entity(e.getMessage()).build(); } catch (JSONException e) { return Response.serverError().entity(e.getMessage()).build(); } }
From source file:org.sonar.plugins.testtrack.reviews.LinkFunction.java
@Override public void doExecute(MutableReview review, Review initialReview, WorkflowContext context, Map<String, String> parameters) { RemoteIssue issue;/* w w w. j a v a 2 s .c o m*/ try { issue = jiraIssueCreator.createIssue(initialReview, context.getProjectSettings(), parameters.get("text")); } catch (RemoteException e) { throw new IllegalStateException( "Impossible to create an issue on JIRA. A problem occured with the remote server: " + e.getMessage(), e); } createComment(issue, review, context, parameters); // and add the property review.setProperty(TestTrackConstants.REVIEW_DATA_PROPERTY_KEY, issue.getKey()); }
From source file:org.viafirma.cliente.ViafirmaClient.java
/** * Enva el fichero que deseamos firmar y devuelve un identificador temporal * ( No es el identificador final de la firma ). * /*from w w w . j a v a 2 s. c om*/ * @param tituloFile * ( Titulo del fichero ) * @param tipoFichero * ( Extension del fichero ) * @param Formato de la firma a realizar * @param bytesToSign * ( Byte array de los datos del fichero ) * @return Identificador asignado al proceso de firma(este indentificador * tendra validez de 10 mins). * @throws InternalException */ public String prepareFirmaWithTypeFileAndFormatSign(String tituloFile, TypeFile typoFichero, TypeFormatSign formatoFirma, byte[] bytesToSign) throws InternalException { // sube los datos por rmi al conector de firma1 try { if (tituloFile == null || typoFichero == null || bytesToSign == null) { if (tituloFile == null) { throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Titulo del archivo "); } else if (typoFichero == null) { throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Tipo de archivo "); } throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Contenido archivo "); } else { log.info("Iniciando el proceso de firma del fichero:" + tituloFile); return getRemoteObject().prepareFirmaWithTypeFileAndFormatSign(tituloFile, typoFichero, formatoFirma, bytesToSign); } } catch (RemoteException e) { // excepcin remota log.error("No se puede preparar la firma " + e.getMessage(), e); throw new InternalException(CodigoError.ERROR_PROTOCOLO_FIRMA, e.getMessage(), e); } }
From source file:org.viafirma.cliente.ViafirmaClient.java
/** * Enva el fichero que deseamos firmar y devuelve un identificador temporal * ( No es el identificador final de la firma ). * //from www. ja v a 2 s .co m * @param tituloFile * ( Titulo del fichero ) * @param typoFichero * ( Extension del fichero ) * @param bytesToSign * ( Byte array de los datos del fichero ) * @return Identificador asignado al proceso de firma(este indentificador * tendra validez de 10 mins). * @throws InternalException */ public String prepareFirma(String tituloFile, TypeFile typoFichero, byte[] bytesToSign) throws InternalException { // sube los datos por rmi al conector de firma1 try { if (tituloFile == null || typoFichero == null || bytesToSign == null) { if (tituloFile == null) { throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Titulo del archivo "); } else if (typoFichero == null) { throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Tipo de archivo "); } throw new InternalException(CodigoError.ERROR_CAMPOS_NULL, " Contenido archivo "); } else { log.info("Iniciando el proceso de firma del fichero:" + tituloFile); return getRemoteObject().prepareFirma(tituloFile, typoFichero, bytesToSign); } } catch (RemoteException e) { // excepcin remota log.error("No se puede preparar la firma " + e.getMessage(), e); throw new InternalException(CodigoError.ERROR_PROTOCOLO_FIRMA, e.getMessage(), e); } }
From source file:org.viafirma.cliente.ViafirmaClient.java
/** * Firma los datos utilizando un certificado almacenado en el servidor. Para * la utilizacion de este metodo es necesario tener un certificado de * usuario dentro del Cacert de Java. Nota: Este mtodo no requiere * intervencion del usuario.//from w w w . ja v a2s .c o m * * @param datosToSign * datos a firmar * @param alias * Nombre del alias utilizado para realizar la firma. * @return El cdigo de firma asignado a este documento firmado. * @throws InternalException * Problemas al realizar la firma o al conectar con el servidor. */ public String signByServer(byte[] datosToSign, String alias, String password) throws InternalException { // sube los datos por rmi al conector de firma1 try { if (datosToSign.length < this.tamanyoMaximoDocumento) { return getRemoteObject().signByServer(datosToSign, alias, password); } else { // excepcin remota log.error( "No se puede preparar la firma. El archivo supera el tamao maximo permitido por el servidor"); throw new InternalException(CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO, CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO.getMensaje()); } } catch (RemoteException e) { // excepcin remota log.error("No se puede preparar la firma " + e.getMessage(), e); throw new InternalException(CodigoError.ERROR_PROTOCOLO_FIRMA, e.getMessage(), e); } }
From source file:org.viafirma.cliente.ViafirmaClient.java
/** * Firma los datos utilizando un certificado almacenado en el servidor. Para * la utilizacion de este metodo es necesario tener un certificado de * usuario dentro del Cacert de Java. Nota: Este mtodo no requiere * intervencion del usuario.//from w w w. ja v a 2 s . co m * * @param datosToSign * datos a firmar * @param alias * Nombre del alias utilizado para realizar la firma. * @param type * Tipo de firma realizada en servidor * @return El cdigo de firma asignado a este documento firmado. * @throws InternalException * Problemas al realizar la firma o al conectar con el servidor. */ @Deprecated public String signByServerWithType(byte[] datosToSign, String alias, String password, TypeFormatSign type) throws InternalException { // sube los datos por rmi al conector de firma1 try { if (datosToSign.length < this.tamanyoMaximoDocumento) { return getRemoteObject().signByServerWithType(datosToSign, alias, password, type); } else { // excepcin remota log.error( "No se puede preparar la firma. El archivo supera el tamao maximo permitido por el servidor"); throw new InternalException(CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO, CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO.getMensaje()); } } catch (RemoteException e) { // excepcin remota log.error("No se puede preparar la firma " + e.getMessage(), e); throw new InternalException(CodigoError.ERROR_PROTOCOLO_FIRMA, e.getMessage(), e); } }
From source file:org.viafirma.cliente.ViafirmaClient.java
/** * Firma los datos utilizando un certificado almacenado en el servidor. Para * la utilizacion de este metodo es necesario tener un certificado de * usuario dentro del Cacert de Java. Nota: Este mtodo no requiere * intervencion del usuario.//from w ww.jav a 2 s . co m * * @param nombredocumento nombre del documento original * @param datosToSign datos a firmar * @param alias Nombre del alias utilizado para realizar la firma. * @param password clave del certificado utilizado. * @param tipofirma Tipo de firma realizada en servidor * @param tipoFichero Tipo de formato del fichero firmado. * @return El cdigo de firma asignado a este documento firmado. * @throws InternalException * Problemas al realizar la firma o al conectar con el servidor. */ public String signByServerWithTypeFileAndFormatSign(String nombredocumento, byte[] datosToSign, String alias, String password, TypeFile tipoFichero, TypeFormatSign tipofirma) throws InternalException { // sube los datos por rmi al conector de firma1 try { if (datosToSign.length < this.tamanyoMaximoDocumento) { return getRemoteObject().signByServerWithTypeFileAndFormatSign(nombredocumento, datosToSign, alias, password, tipoFichero, tipofirma); } else { // excepcin remota log.error( "No se puede preparar la firma. El archivo supera el tamao maximo permitido por el servidor"); throw new InternalException(CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO, CodigoError.ERROR_EXCEDIDO_TAMANYO_MAXIMO_POR_ARCHIVO.getMensaje()); } } catch (RemoteException e) { // excepcin remota log.error("No se puede preparar la firma " + e.getMessage(), e); throw new InternalException(CodigoError.ERROR_PROTOCOLO_FIRMA, e.getMessage(), e); } }