From 3ca75f77ca7cb539573ca559b6cfc9a0bec6b1c0 Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Sun, 19 Mar 2017 09:19:26 +0000 Subject: [PATCH] Fehlerseite 'nicht erlaubt' --- src/java/de/uhilger/filecms/api/CompileService.java | 62 +++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 20 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/CompileService.java b/src/java/de/uhilger/filecms/api/CompileService.java index 1b5d18b..21f3464 100644 --- a/src/java/de/uhilger/filecms/api/CompileService.java +++ b/src/java/de/uhilger/filecms/api/CompileService.java @@ -21,6 +21,7 @@ import static de.uhilger.filecms.api.FileMgr.HOME_DIR_PATH; import static de.uhilger.filecms.api.FileMgr.PUB_DIR_NAME; import static de.uhilger.filecms.api.FileMgr.PUB_DIR_PATH; +import de.uhilger.filecms.data.CompilerIssue; import de.uhilger.filecms.data.FileRef; import de.uhilger.filecms.web.Initialiser; import de.uhilger.transit.web.RequestKontext; @@ -42,7 +43,6 @@ import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; -import org.apache.commons.io.FileUtils; /** * @@ -54,7 +54,15 @@ private ServletContext ctx; private HttpServletRequest request; - public String compile(String relPath, List fileNames) throws IOException { + /** + * + * @param relPath + * @param fileNames + * @param mode 0 = test, 1 = build + * @return + * @throws IOException + */ + public List<CompilerIssue> compile(String relPath, List fileNames, String mode) throws IOException { //Files[] files1 = ... ; // input for first compilation task //Files[] files2 = ... ; // input for second compilation task @@ -79,13 +87,19 @@ Iterable<? extends JavaFileObject> compilationUnits1 = fileManager.getJavaFileObjectsFromFiles(files); - final Iterable<String> options = - Arrays.asList(new String[]{"-Xlint", + + + if( mode.equals("1")) { + final Iterable<String> options = Arrays.asList(new String[]{"-Xlint", /*"-cp", project.getClassPath(),*/ "-d", targetDir.getAbsolutePath() }); + compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits1).call(); + } else { + compiler.getTask(null, null, diagnostics, null, null, compilationUnits1).call(); + } - compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits1).call(); + //compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits1).call(); /* Iterable<? extends JavaFileObject> compilationUnits2 @@ -95,23 +109,25 @@ */ fileManager.close(); - StringBuilder msg = new StringBuilder(); - msg.append("Result of compile to Java bytecode (empty means no error):"); - for (Diagnostic<? extends JavaFileObject> err : diagnostics.getDiagnostics()) { - msg.append('\n'); - msg.append(err.getKind()); - msg.append(": "); - if (err.getSource() != null) { - msg.append(err.getSource().getName()); + List compileResults = diagnostics.getDiagnostics(); + List<CompilerIssue> compilerIssues = new ArrayList(); + Iterator i = compileResults.iterator(); + while(i.hasNext()) { + Object o = i.next(); + Diagnostic<? extends JavaFileObject> err; + if(o instanceof Diagnostic) { + err = (Diagnostic) o; + CompilerIssue issue = new CompilerIssue(); + issue.setKind(err.getKind().name()); + issue.setLineNumber(err.getLineNumber()); + issue.setMessage(err.getMessage(Locale.GERMANY)); + issue.setSoureName(err.getSource().getName()); + compilerIssues.add(issue); } - msg.append(':'); - msg.append(err.getLineNumber()); - msg.append(": "); - msg.append(err.getMessage(Locale.GERMANY)); - } - - return msg.toString(); + } + return compilerIssues; } + private File getTargetDir(String relPath) { logger.fine(relPath); String targetPath = null; @@ -185,4 +201,10 @@ Runnable runner = (Runnable) aClass.newInstance(); runner.run(); +*/ + +/* + CodeMirror Breakpoint bzw. Gutter Marker + + https://codemirror.net/demo/marker.html */ \ No newline at end of file -- Gitblit v1.9.3