OSDN Git Service

copy from subversion repository r.23
[ginkgo/master.git] / org.ginkgo.gcov / src / org / ginkgo / gcov / builder / MarkerBuilder.java
diff --git a/org.ginkgo.gcov/src/org/ginkgo/gcov/builder/MarkerBuilder.java b/org.ginkgo.gcov/src/org/ginkgo/gcov/builder/MarkerBuilder.java
new file mode 100644 (file)
index 0000000..05ae8d3
--- /dev/null
@@ -0,0 +1,45 @@
+package org.ginkgo.gcov.builder;
+
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public class MarkerBuilder extends Builder {
+
+       public static final String BUILDER_ID = "org.ginkgo.gcov.markerBuilder";
+
+       private CoverageParser gcovParser;
+
+       public void checkXML(IResource resource) {
+               if (resource instanceof IFile && resource.getName().endsWith(".gcov")) {
+                       IFile file = (IFile) resource;
+                       CoverageParser.deleteMarkers(file);
+//                     XMLErrorHandler reporter = new XMLErrorHandler(file);
+                       try {
+                               getParser().parse(file);
+                       } catch (Exception e1) {
+                       }
+               }
+       }
+       CoverageParser getParser() throws ParserConfigurationException,
+       SAXException {
+       if (gcovParser == null){
+               gcovParser = new CoverageParser(); 
+       }
+       return gcovParser;
+       }
+}