private KieBuilder createKieBuilder(final KieFileSystem kieFileSystem) { PomModel pomModel; final KieBuilderImpl kieBuilder = (KieBuilderImpl) kieServices.newKieBuilder(kieFileSystem); if ((pomModel = pomModelCache.getEntry(project)) != null) { kieBuilder.setPomModel(pomModel); } return kieBuilder; }
private static String generatePomPropertiesFromPom(String rootPath) { // recurse until we reach root or find a pom.xml File file = null; for (File folder = new File(rootPath); folder.getParent() != null; folder = new File(folder.getParent())) { file = new File(folder, "pom.xml"); if (file.exists()) { break; } file = null; } if (file != null) { FileInputStream fis = null; try { fis = new FileInputStream(file); PomModel pomModel = PomModel.Parser.parse(rootPath + "/pom.xml", fis); KieBuilderImpl.validatePomModel(pomModel); // throws an exception if invalid ReleaseIdImpl gav = (ReleaseIdImpl) pomModel.getReleaseId(); String str = KieBuilderImpl.generatePomProperties(gav); log.info("Recursed up folders, found and used pom.xml " + file); return str; } catch (Exception e) { log.error( "As folder project tried to fall back to pom.xml " + file + "\nbut failed with exception:\n" + e.getMessage()); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { log.error("Error when closing InputStream to " + file + "\n" + e.getMessage()); } } } } else { log.warn( "As folder project tried to fall back to pom.xml, but could not find one for " + file); } return null; }
private static String getPomPropertiesFromFileSystem(String rootPath) { Reader reader = null; try { File file = KieBuilderImpl.findPomProperties(new File(rootPath)); if (file == null) { log.warn("Unable to find pom.properties in " + rootPath); return null; } reader = new InputStreamReader(new FileInputStream(file), IoUtils.UTF8_CHARSET); log.debug("Found and used pom.properties " + file); return StringUtils.toString(reader); } catch (Exception e) { log.warn( "Unable to load pom.properties tried recursing down from " + rootPath + "\n" + e.getMessage()); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { log.error("Error when closing InputStream to " + rootPath + "\n" + e.getMessage()); } } } return null; }
private void addKieModuleToRepo(KieModuleModel kieProject) { KieBuilderImpl.setDefaultsforEmptyKieModule(kieProject); InternalKieModule kJar = createKieModule(kieProject); if (kJar != null) { KieServices ks = KieServices.Factory.get(); log.info("adding KieModule from " + configFileURL.toExternalForm() + " to repository."); ks.getRepository().addKieModule(kJar); KieSpringUtils.setReleaseIdForContext(releaseId, context); } }
private static String getPomPropertiesFromZipFile(String rootPath) { File actualZipFile = new File(rootPath); if (!actualZipFile.exists()) { log.error( "Unable to load pom.properties from" + rootPath + " as jarPath cannot be found\n" + rootPath); return null; } ZipFile zipFile = null; try { zipFile = new ZipFile(actualZipFile); String file = KieBuilderImpl.findPomProperties(zipFile); if (file == null) { log.warn("Unable to find pom.properties in " + rootPath); return null; } ZipEntry zipEntry = zipFile.getEntry(file); String pomProps = StringUtils.readFileAsString( new InputStreamReader(zipFile.getInputStream(zipEntry), IoUtils.UTF8_CHARSET)); log.debug("Found and used pom.properties " + file); return pomProps; } catch (Exception e) { log.error("Unable to load pom.properties from " + rootPath + "\n" + e.getMessage()); } finally { try { zipFile.close(); } catch (IOException e) { log.error("Error when closing InputStream to " + rootPath + "\n" + e.getMessage()); } } return null; }