DefinitionsBean result = new DefinitionsBean(def.getId()); result.setTargetNamespace(def.getTargetNamespace()); result.setExpressionLanguage(def.getExpressionLanguage()); result.setTypeLanguage(def.getTypeLanguage()); adaptImports(result, def.getImports(), def); adaptItemDefinitions(result, def.getItemDefinitions()); adaptSignals(result, def.getSignals()); adaptErrors(result, def.getErrors()); adaptEscalations(result, def.getEscalations()); adaptEndPoints(result, def.getEndPoints()); adaptMessages(result, def.getMessages()); adaptInterfaces(result, def.getInterfaces()); adaptEventDefinitions(result, def.getEventDefinitions()); adaptProcesses(def.getProcesses(), result); adaptCollaborations(result,def.getCollaborations()); adaptChoreographies(result,def.getChoreographies());
@Override public QName getEndPointRef() { String value = this.getOtherAttribute(Constants.ENDPOINT_REF_ATTR_QNAME); if(value!=null) { Map<String, String> nsPrefixes = DefinitionsHelper.getParentDefinitions(this).findImportPrefixes(); for(String nsURI : nsPrefixes.keySet()) { String prefix = nsPrefixes.get(nsURI)+":"; if(value.startsWith(prefix)) { return QName.valueOf(value.replace(prefix, "{"+nsURI+"}")); } } return QName.valueOf(value); } return null; }
@Override public void visitRootEventDefinition(IEventDefinitionBean edb) { defs.addRootElement(buildEventDefinition(edb)); }
private QName adaptEventDefinitionRef(IEventDefinitionBean edb) { if(defs.getEventDefinitionById(edb.getId())==null) { defs.addRootElement(buildEventDefinition(edb)); } return new QName(edb.getId()); }
private static Process getProcess(FlowElement fe, Definitions defs) { for (Process p : defs.getProcesses()) { for (FlowElement elt : p.getFlowElement()) { if (fe.equals(elt)) { return p; } } } return null; }
if(defs.hasBPMNDiagram()) { IBPMNDiagram resDiagram = BPMNDiagramParser.parseBPMNDiagram(defs.getBPMNDiagram()[0], res); instance.setDefinitions(res); instance.setBpmndiagram(resDiagram);
private File getBPELZipFromBPMN(File projectInstanceFile, IProjectInstanceMetaData exportData, File directory) throws Exception{ FileHelper.cleanDirectory(directory); //first retrieve the bpmn defintions form the given project instance file if(ZipHelper.getInstance().isZipFile(projectInstanceFile)) { ZipHelper.getInstance().unzipFile(projectInstanceFile,directory); } else { FileHelper.copyFile(projectInstanceFile, directory); } File bpmnFile = BPMNFileHelper.getBPMNFileInFolder(directory); URL url = bpmnFile.toURI().toURL(); Definitions defs = new XmlContextFactory().newContext().createReader().readDocument(url, Definitions.class); //get or create a temp dir and generate bpel and wsdl files in it String bpelZipPath = directory.getAbsolutePath()+File.separator+"zip"; File bpelZipDir = new File(bpelZipPath); if(!bpelZipDir.exists()) { bpelZipDir.mkdir(); } FileHelper.cleanDirectory(bpelZipDir); new BPELGenerator().generate(defs, bpelZipPath); //make a zip out of this temporary directory return ZipHelper.getInstance().createZipFromFolder(bpelZipPath, directory.getAbsolutePath()+File.separator+"BPEL"+defs.getId()+".zip"); }
@Override public void visitImport(IImportBean importBean) { Import i = newInstance(Import.class); i.setImportType(importBean.getImportType()); i.setLocation(importBean.getLocation()); i.setNamespace(importBean.getNamespace()); defs.addImport(i); }
Element e = i.getBPMNDefinitions().findImportedElement(eltQName); if(e!=null){ return e;
for(Process process : bpmnDefs.getProcesses()) { if(process.getId().equals(processId)) { processNames.add(BPELGeneratorHelper.getBPELProcessName(process));
@Override public void visitEndPoint(IEndPointBean epb) { EndPoint ep = newInstance(EndPoint.class); ep.setId(epb.getId()); setDocumentationAndExtensions(ep, epb); defs.addRootElement(ep); }
if(imports!=null){ result = new ArrayList<ImportBean>(); Map<String,String> prefixes = defs.findImportPrefixes(); for(Import impt : imports){ String prefix = prefixes.get(impt.getNamespace());
@Override public void visitChoreography(IChoreographyBean chor){ Choreography c = newInstance(Choreography.class); setDocumentationAndExtensions(c, chor); c.setId(chor.getId()); c.setName(chor.getName()); c.setIsClosed(chor.isClosed()); defs.addRootElement(c); currentFlowElementContainer.push(c); currentArtifactContainer.push(c); currentCollaboration = c; }
@Override public void visitCollaboration(ICollaborationBean cBean) { Collaboration c = newInstance(Collaboration.class); c.setName(cBean.getName()); c.setId(cBean.getId()); c.setIsClosed(cBean.isClosed()); setDocumentationAndExtensions(c, cBean); defs.addRootElement(c); currentCollaboration = c; currentArtifactContainer.push(c); }
@Override public void visitPartnerRole(IPartnerRoleBean prBean) { PartnerRole pr = newInstance(PartnerRole.class); pr.setId(prBean.getId()); setDocumentationAndExtensions(pr, prBean); pr.setName(prBean.getName()); defs.addRootElement(pr); currentPartnerRole = pr; }
@Override public void visitMessage(IMessageBean messageBean) { Message m = newInstance(Message.class); setDocumentationAndExtensions(m, messageBean); m.setId(messageBean.getId()); m.setName(messageBean.getName()); if(messageBean.getItemDefinition()!=null){ m.setItemRef(getBaseElementRef(messageBean.getItemDefinition())); } defs.addRootElement(m); }
@Override public void visitSignal(ISignalBean sb) { Signal s = newInstance(Signal.class); s.setId(sb.getId()); s.setName(sb.getName()); setDocumentationAndExtensions(s, sb); if(sb.getStructureRef()!=null){ s.setStructureRef(getBaseElementRef(sb.getStructureRef())); } defs.addRootElement(s); }
@Override public void visitInterface(IInterfaceBean itfb) { Interface itf = newInstance(Interface.class); itf.setId(itfb.getId()); setDocumentationAndExtensions(itf, itfb); itf.setName(itfb.getName()); if(itfb.getWsdlImplementationRef()!=null){ itf.setImplementationRef(getQNameFromString(itfb.getWsdlImplementationRef())); } defs.addRootElement(itf); currentInterface = itf; }