details: http://code.openbravo.com/erp/devel/pi/rev/46d873465c65 changeset: 3844:46d873465c65 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Fri May 08 15:18:32 2009 +0200 summary: fixed bug 0008968: Cannot package industry template check for core dependency instead of for its inclusion when validating templates
details: http://code.openbravo.com/erp/devel/pi/rev/20d4702b0489 changeset: 3845:20d4702b0489 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Fri May 08 15:23:22 2009 +0200 summary: fixed bug 0008939: Null Pointer Exception at packaging a Industry template diffstat: src/org/openbravo/erpCommon/modules/ExtractModule.java | 37 ++++++++++-------- src/org/openbravo/service/system/ModuleValidator.java | 5 +- 2 files changed, 23 insertions(+), 19 deletions(-) diffs (69 lines): diff --git a/src/org/openbravo/erpCommon/modules/ExtractModule.java b/src/org/openbravo/erpCommon/modules/ExtractModule.java --- a/src/org/openbravo/erpCommon/modules/ExtractModule.java +++ b/src/org/openbravo/erpCommon/modules/ExtractModule.java @@ -174,23 +174,28 @@ private void extractPackage(String moduleID, ZipOutputStream obx) throws Exception { final ExtractModuleData modules[] = ExtractModuleData.selectContainedModules(pool, moduleID); for (int i = 0; i < modules.length; i++) { - obx.putNextEntry(new ZipEntry(modules[i].javapackage + "-" + modules[i].version + ".obx")); - final ByteArrayOutputStream ba = new ByteArrayOutputStream(); - final ZipOutputStream moduleObx = new ZipOutputStream(ba); - final String moduleDirectory = modulesBaseDir + "/modules/" + modules[i].javapackage; - relativeDir = modulesBaseDir + File.separator + "modules" + File.separator; - log4j.info("Extracting module: " + modules[i].javapackage); - extractModule(modules[i].adModuleId, moduleDirectory, moduleObx); - if (modules[i].type.equals("P") || modules[i].type.equals("T")) { - // If it is Package or Template it can contain other modules - log4j.info(modules[i].javapackage + " is a package/template looking for inner modules..."); - extractPackage(modules[i].adModuleId, moduleObx); + if (modules[i].adModuleId.equals("0")) { + log4j.warn("Core is included! It is not going to be packaged..."); + } else { + obx.putNextEntry(new ZipEntry(modules[i].javapackage + "-" + modules[i].version + ".obx")); + final ByteArrayOutputStream ba = new ByteArrayOutputStream(); + final ZipOutputStream moduleObx = new ZipOutputStream(ba); + final String moduleDirectory = modulesBaseDir + "/modules/" + modules[i].javapackage; + relativeDir = modulesBaseDir + File.separator + "modules" + File.separator; + log4j.info("Extracting module: " + modules[i].javapackage); + extractModule(modules[i].adModuleId, moduleDirectory, moduleObx); + if (modules[i].type.equals("P") || modules[i].type.equals("T")) { + // If it is Package or Template it can contain other modules + log4j + .info(modules[i].javapackage + " is a package/template looking for inner modules..."); + extractPackage(modules[i].adModuleId, moduleObx); + } + moduleObx.close(); + ba.flush(); + obx.write(ba.toByteArray()); + + obx.closeEntry(); } - moduleObx.close(); - ba.flush(); - obx.write(ba.toByteArray()); - - obx.closeEntry(); } } diff --git a/src/org/openbravo/service/system/ModuleValidator.java b/src/org/openbravo/service/system/ModuleValidator.java --- a/src/org/openbravo/service/system/ModuleValidator.java +++ b/src/org/openbravo/service/system/ModuleValidator.java @@ -103,15 +103,14 @@ if (module.getType().equals("T")) { boolean found = false; for (ModuleDependency md : module.getModuleDependencyList()) { - if (md.getDependentModule().getId().equals("0") && md.isIncluded()) { + if (md.getDependentModule().getId().equals("0") && !md.isIncluded()) { found = true; break; } } if (!found) { result.addError(SystemValidationType.MODULE_ERROR, "Module " + module.getName() - + " is an Industry Template must depend " + "on Core and the dependency relation " - + "must have isIncluded set to true"); + + " is an Industry Template must depend on Core"); } } } ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits