private File getBPELZipFromBPMN(File projectInstanceFile, IProjectInstanceMetaData exportData, File directory) throws Exception{
FileHelper.cleanDirectory(directory);
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);
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);
return ZipHelper.getInstance().createZipFromFolder(bpelZipPath, directory.getAbsolutePath()+File.separator+"BPEL"+defs.getId()+".zip");
}