/** * Perform this function for each {@link WindupVertexFrame} returned by the "when" clause. */ public void perform(GraphRewrite event, EvaluationContext context, PAYLOADTYPE payload) { Document doc = payload.asDocument(); if(doc == null) { LOG.warning("Document is null."); return; } perform(event, context, payload, doc); }
if (model.asFile().length() == 0) final String msg = "Failed to parse, XML file is empty: " + model.getFilePath(); LOG.log(Level.WARNING, msg); model.setParseError(msg); throw new WindupException(msg); if (cacheResult.isParseFailure()) final String msg = "Not loading XML file '" + model.getFilePath() + "' due to previous parse failure: " + model.getParseError(); LOG.log(Level.FINE, msg); try (InputStream is = model.asInputStream()) final String message = "Failed to parse XML file: " + model.getFilePath() + ", due to: " + e.getMessage(); LOG.log(Level.WARNING, message); classificationService.attachClassification(event, context, model, UNPARSEABLE_XML_CLASSIFICATION, UNPARSEABLE_XML_DESCRIPTION); model.setParseError(message); throw new WindupException(message, e);
if (xml.getDoctype() != null) if (processDoctypeMatches(xml.getDoctype())) version = processDoctypeVersion(xml.getDoctype()); for (NamespaceMetaModel ns : xml.getNamespaces())
public void perform(GraphRewrite event, EvaluationContext context, NamespaceMetaModel payload) { for (XmlFileModel xml : payload.getXmlResources()) { if (!StringUtils.equals(xml.getRootTagName(), "persistence")) continue; try { Document doc = new XmlFileService(event.getGraphContext()).loadDocument(event, context, xml); extractMetadata(event.getGraphContext(), xml, doc); } catch (Exception ex) { xml.setParseError("Failed to parse JPA configuration: " + ex.getMessage()); } } }
try (InputStream is = model.asInputStream()) "Failed to parse xml entity: " + model.getFilePath() + ", due to: " + e.getMessage(), e); classificationService.attachClassification(model, XmlFileModel.UNPARSEABLE_XML_CLASSIFICATION, "Failed to parse xml entity: " + model.getFilePath() + ", due to: " + e.getMessage(), e); classificationService.attachClassification(model, XmlFileModel.UNPARSEABLE_XML_CLASSIFICATION, XmlFileModel.UNPARSEABLE_XML_DESCRIPTION);
Document parsedDocument = file.asDocument(); xmlResourceModel.setRootTagName(tagName); xmlResourceModel.setDoctype(meta); if (file.asFile().length() == 0) final String message = "Failed to parse XML entity: " + file.getFilePath() + ": the file is empty."; LOG.log(Level.FINE, message); file.setParseError(message); final String message = "Failed to parse XML entity: " + file.getFilePath() + ", due to: " + e.getMessage(); LOG.log(Level.INFO, message); LOG.log(Level.FINE, message, e); file.setParseError(message);
if($(payload.asDocument()).find("start-state").isEmpty()) { LOG.warning("Found process-definition, but no start-state."); return; Document doc = payload.asDocument(); LOG.info("Process name is null for process: "+payload.getFilePath()); String processImage = payload.getFilePath(); processImage = StringUtils.removeEnd(processImage, payload.getFileName()); processImage += "processimage.jpg";
xmlFileModel.setParseError("Could not parse POM XML: " + ex.getMessage()); LOG.warning("Could not parse POM XML for '" + xmlFileModel.getFilePath() + "':"+System.lineSeparator()+"\t" + ex.getMessage() + System.lineSeparator()+" \tSkipping Maven project discovery."); return null; File xmlFile = xmlFileModel.asFile(); LOG.info("Creating maven project for pom at: " + xmlFileModel.getFilePath() + " with gav: " + groupId + "," + artifactId + "," + version); mavenProjectModel = mavenProjectService.createMavenStub(groupId, artifactId, version); for (XmlFileModel foundPom : mavenProjectModel.getMavenPom()) File foundPomFile = foundPom.asFile(); if (foundPomFile.getAbsoluteFile().equals(xmlFile))
GraphService<XsltTransformationModel> transformationService = new GraphService<>( graphContext, XsltTransformationModel.class); String fileName = payload.getFileName(); Source xmlSource = new DOMSource(payload.asDocument()); Result xmlResult = new StreamResult(resultPath.toFile()); try linkModel.setDescription(description); linkModel.setLink(xsltTransformationService.getRelativeTransformedXSLTPath(payload).resolve(fileName).toString()); payload.addLinkToTransformedFile(linkModel);
LOG.warning("Expected enterprise-beans tag. Ignoring: " + payload.getFileName()); return; Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), payload.getProjectModel());
graphContext, XsltTransformationModel.class); String fileName = payload.getFileName(); Source xmlSource = new DOMSource(payload.asDocument()); Result xmlResult = new StreamResult(resultPath.toFile());
public MavenProjectModel extractMavenProjectModel(GraphRewrite event, XmlFileModel xmlResourceModel) File myFile = xmlResourceModel.asFile(); Document document = xmlResourceModel.asDocument(); for (XmlFileModel foundPom : mavenProjectModel.getMavenPom()) File foundPomFile = foundPom.asFile(); if (foundPomFile.getAbsoluteFile().equals(myFile))
if (payload.getProjectModel() != null) return; String defaultName = payload.getArchive() == null ? payload.asFile().getParentFile().getName() : payload.getArchive() .getFileName(); MavenProjectModel mavenProjectModel = extractMavenProjectModel(event, context, defaultName, payload); technologyTagService.addTagToFileModel(payload, "Maven XML", TechnologyTagLevel.INFORMATIONAL); ArchiveModel archiveModel = payload.getArchive(); if (archiveModel != null && !isAlreadyMavenProject(archiveModel)) File parentFile = payload.asFile().getParentFile(); FileModel parentFileModel = new FileService(event.getGraphContext()).findByPath(parentFile.getAbsolutePath()); if (parentFileModel != null && !isAlreadyMavenProject(parentFileModel))
LOG.log(Level.WARNING, "Found [beans] XML without namespace at: " + payload.getFilePath() + "."); return; .addTypeToModel(payload); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), payload.getProjectModel());
Pattern compiledPattern = fileNamePattern.getCompiledPattern(store); String pattern = compiledPattern.pattern(); String fileName = xml.getFileName(); if (!fileName.matches(pattern)) DoctypeMetaModel doctype = xml.getDoctype(); if (doctype == null || doctype.getPublicId() == null || !doctype.getPublicId().matches(publicId))
private boolean isExceptionRelatedToSource(XmlFileModel sourceFile, SAXParseException e) { if (e.getSystemId() == null) return true; // Just assume that it is related, in the absence of other information if (e.getSystemId().startsWith("http://") || e.getSystemId().startsWith("https://") || e.getSystemId().startsWith("ftp://")) return false; return e.getSystemId().endsWith(sourceFile.getFileName()); }
private void createDataSourceModel(GraphRewrite event, EvaluationContext context, XmlFileModel xmlFileModel) { GraphContext graphContext = event.getGraphContext(); DataSourceService dataSourceService = new DataSourceService(graphContext); // check the root XML node. Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject(event.getGraphContext(), xmlFileModel.getProjectModel()); Document doc = new XmlFileService(graphContext).loadDocumentQuiet(event, context, xmlFileModel); for (String tagName : Arrays.asList(SINGLE_DATASOURCE_TAG, SINGLE_DATASOURCE_XA_TAG)) { for (Element element : $(doc).find(tagName).get()) { DataSourceModel dataSourceModel = dataSourceService.create(); boolean isXa = tagName.equals(SINGLE_DATASOURCE_XA_TAG); dataSourceModel.setName(element.getAttribute("pool-name")); dataSourceModel.setJndiLocation(element.getAttribute("jndi-name")); dataSourceModel.setApplications(applications); dataSourceModel.setXa(isXa); } } } }
private static String getKey(XmlFileModel key) { return key.getFilePath(); }
if (StringUtils.isNotBlank(sourceFile.getParseError())) return; parser.parse(sourceFile.asFile(), handler);
private boolean isWebXml(XmlFileModel xml, Document doc) { // check it's doctype against the known doctype. return !(xml.getDoctype() != null && !processDoctypeMatches(xml.getDoctype())); }