Skip to content

Commit

Permalink
New Stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
ChelloX committed Jul 6, 2020
1 parent 736289d commit fa17785
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 5 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,11 @@
<version>1.2.17</version>
</dependency>

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>

</dependencies>
</project>
13 changes: 10 additions & 3 deletions src/main/java/woped_dependency_visualizer/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,25 @@
import woped_dependency_visualizer.analyzer.WopedStaticAnalyzer;
import woped_dependency_visualizer.analyzer.WopedProjectAnalyzer;
import woped_dependency_visualizer.data.WopedProjectFolder;
import woped_dependency_visualizer.maven.MavenCreator;
import woped_dependency_visualizer.visualizer.WopedVisualizer;

public class App {
private static Logger LOGGER = Logger.getLogger(App.class);
public static void main(String args[]) {
public static void main(String args[]) throws Exception {
LOGGER.debug("Start App");
WopedProjectAnalyzer a = new WopedProjectAnalyzer();
ArrayList<WopedProjectFolder> projects = a.analyze(""); //Woped Project-Folder

WopedVisualizer v = new WopedVisualizer();
v.visualize(projects);
//Create Maven Projects from projects
// MavenCreator mc = new MavenCreator();
// mc.create(projects, "");

//Visualize Projects with WoPeD-Starter as point of reference
WopedVisualizer v = new WopedVisualizer();
v.visualize(projects, "WoPeD-Starter");

//Analyze Imports -> Dependency-Count
WopedStaticAnalyzer s = new WopedStaticAnalyzer();
s.addDependencyCountToDependencies(projects);
}
Expand Down
107 changes: 107 additions & 0 deletions src/main/java/woped_dependency_visualizer/maven/MavenCreator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
package woped_dependency_visualizer.maven;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.apache.commons.io.FileUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import woped_dependency_visualizer.data.WopedProjectFolder;
import woped_dependency_visualizer.data.WopedProjectFolderDependency;

public class MavenCreator {

public void create(ArrayList<WopedProjectFolder> projects, String path) throws Exception {
for (WopedProjectFolder wpf : projects) {
createMavenProject(wpf, path);
}
}

private void createMavenProject(WopedProjectFolder wpf, String path) throws Exception {
wpf.getName();
File pomVorlage = new File(
"F:\\Daniel\\DHBW\\6.Semester\\Integrationsseminar\\001DEV\\001temp\\pomVorlage.xml");

File f1 = new File(path + "\\" + wpf.getName());
File f2 = new File(f1 + "\\src");
File f3 = new File(f2 + "\\main");
File f4 = new File(f3 + "\\java");
File f5 = new File(f4 + "\\org");
File f6 = new File(f5 + "\\woped");
File f7 = new File(f6 + "\\" + wpf.getName());

File f8 = new File(f2 + "\\test");
File f9 = new File(f8 + "\\java");
File f10 = new File(f9 + "\\org");
File f11 = new File(f10 + "\\woped");
File f12 = new File(f11 + "\\" + wpf.getName());

f1.mkdir();
f2.mkdir();
f3.mkdir();
f4.mkdir();
f5.mkdir();
f6.mkdir();
f7.mkdir();
f8.mkdir();
f9.mkdir();
f10.mkdir();
f11.mkdir();
f12.mkdir();

File pom = new File(f1 + "\\pom.xml");

FileUtils.copyFile(pomVorlage, pom);
editPom(wpf, pom);
}

private void editPom(WopedProjectFolder wpf, File pom) throws Exception {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(pom);

Node artifactId = doc.getElementsByTagName("artifactId").item(0);
artifactId.setTextContent(wpf.getName());

Node name = doc.getElementsByTagName("name").item(0);
name.setTextContent(wpf.getName());

Node dependencies =doc.getElementsByTagName("dependencies").item(0);


for(WopedProjectFolderDependency dep : wpf.getDependenciesIntern()) {
WopedProjectFolder wpfDep = dep.getDependency();
Element dependencyElement = doc.createElement("dependency");
Element groupdIdElement = doc.createElement("groupId");
groupdIdElement.setTextContent("org.woped");
Element artifactIdElement = doc.createElement("artifactId");
artifactIdElement.setTextContent(wpfDep.getName());
Element versionElement = doc.createElement("version");
versionElement.setTextContent("0.0.1-SNAPSHOT");

dependencyElement.appendChild(groupdIdElement);
dependencyElement.appendChild(artifactIdElement);
dependencyElement.appendChild(versionElement);

dependencies.appendChild(dependencyElement);
}

TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult sr = new StreamResult(pom);
transformer.transform(source, sr);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
public class WopedVisualizer {
private ArrayList<WopedProjectFolder> wopedProjects;

public void visualize(ArrayList<WopedProjectFolder> projects) {
public void visualize(ArrayList<WopedProjectFolder> projects, String centralPgk) {
this.wopedProjects = projects;
ListenableGraph<String, MyEdge> graph = WopedGraphUtil
.buildGraph(getWopedProjectFolderForName("WoPeD-Starter"));
.buildGraph(getWopedProjectFolderForName(centralPgk));

exportGraph(graph);

Expand Down

0 comments on commit fa17785

Please sign in to comment.