jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [jBPM] - Re: Cómo puede consigo un itemDefinition relac

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [jBPM] - Re: Cómo puede consigo un itemDefinition relacionado a una variable de proceso?
From: Francesco Pietrobelli <do-not-reply@xxxxxxxxx>
Date: Thu, 08 Sep 2011 11:55:52 -0400
Auto-submitted: yes
Delivery-date: Thu, 08 Sep 2011 11:56:44 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <2-620413-3-83189-1312990853548.jivesbs.jivemailuser@http://community.jboss.org>
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
References: <2-620413-3-83189-1312990853548.jivesbs.jivemailuser@http://community.jboss.org>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
Francesco *Pietrobelli [*http://comunidad.*jboss.*org/Personas/*francesco.*pietrobelli] Creó la discusión

"*Re: Cómo puede consigo un *itemDefinition relacionado a una variable de proceso?"

Para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/625564#625564

--------------------------------------------------------------
La solución única *i encontró es *parsing el *bpmn archivo en el cual el proceso es definido en *follwiong manera: 

*org.*jbpm.*workflow.Caso.*WorkflowProcessInstance *currentProcess=(*org.*jbpm.*workflow.Caso.*WorkflowProcessInstance)*ksession.*getProcess(*processInstanceId);
*DocumentBuilderFactory *documentBuilderFactory = *DocumentBuilderFactory.*newInstance();
*documentBuilderFactory.*setNamespaceAware(Cierto);
*DocumentBuilder *documentBuilder = *documentBuilderFactory.*newDocumentBuilder();
Documento *doc = *documentBuilder.*parse(((*org.*jbpm.Proceso.Núcleo.Proceso) *currentProcess.*getProcess()).*getResource().*getInputStream());
 
 
*XPathFactory *xFactory = *XPathFactory.*newInstance();
*XPath *xPath = *xFactory.*newXPath();
*xPath.*setNamespaceContext(Nuevo *BPMN2*Namespaces());
 
Cadena<de Mapa, Cadena> *outMap = *currentNode.*getHumanTaskNode().*getOutMappings();
Puesto que (Cadena *outParameter : *outMap.*keySet())
     #unknown{^*XPathExpression *xExpr1 = *xPath.*compile("//*bpmn2:definiciones/*bpmn2:proceso/*bpmn2:propiedad[@*id='"
                                + *outMap.Consigue(*outParameter)
                                + "']/@*itemSubjectRef");
     Cadena *itemSubjectRef = *xExpr1.Evalúa(*doc);
     *XPathExpression *xExpr2 = *xPath.*compile("//*bpmn2:definiciones/*bpmn2:*itemDefinition[@*id='"
                                + *itemSubjectRef + "']/@*structureRef");
     Cadena *structureRef = *xExpr2.Evalúa(*doc);
 
     Sistema.Fuera.*println("Tipo de fuera del parámetro nombrado '"+*outParameter+"': "+*structureRef);
}


Pero si mismo uno sabe una manera de hacer aquello sin *parsing *bpmn el archivo es muy apreciado....
Consideraciones,
Francesco
--------------------------------------------------------------

Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/625564#625564]

Empieza una discusión nueva en *jBPM en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2034]

Francesco Pietrobelli [http://community.jboss.org/people/francesco.pietrobelli] created the discussion

"Re: How can I get a itemDefinition related to a process variable?"

To view the discussion, visit: http://community.jboss.org/message/625564#625564

--------------------------------------------------------------
The only solution i found is parsing the bpmn file in which the process is defined in follwiong way: 

org.jbpm.workflow.instance.WorkflowProcessInstance currentProcess=(org.jbpm.workflow.instance.WorkflowProcessInstance)ksession.getProcess(processInstanceId);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
documentBuilderFactory.setNamespaceAware(true);
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document doc = documentBuilder.parse(((org.jbpm.process.core.Process) currentProcess.getProcess()).getResource().getInputStream());
 
 
XPathFactory xFactory = XPathFactory.newInstance();
XPath xPath = xFactory.newXPath();
xPath.setNamespaceContext(new BPMN2Namespaces());
 
Map<String, String> outMap = currentNode.getHumanTaskNode().getOutMappings();
for (String outParameter : outMap.keySet()) {
     XPathExpression xExpr1 = xPath.compile("//bpmn2:definitions/bpmn2:process/bpmn2:property[@id='"
                                + outMap.get(outParameter)
                                + "']/@itemSubjectRef");
     String itemSubjectRef = xExpr1.evaluate(doc);
     XPathExpression xExpr2 = xPath.compile("//bpmn2:definitions/bpmn2:itemDefinition[@id='"
                                + itemSubjectRef + "']/@structureRef");
     String structureRef = xExpr2.evaluate(doc);
 
     System.out.println("Type of out parameter named '"+outParameter+"': "+structureRef);
}


But if same one know a way to do that without parsing bpmn file is very appreciated....
Regards,
Francesco
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/625564#625564]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>
  • [jboss-Usuario] [jBPM] - Re: Cómo puede consigo un itemDefinition relacionado a una variable de proceso?, Francesco Pietrobelli <=