Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.ote.ui.markers/src/org/eclipse/osee/ote/ui/markers/ProcessOutfileSax.java')
-rw-r--r--plugins/org.eclipse.osee.ote.ui.markers/src/org/eclipse/osee/ote/ui/markers/ProcessOutfileSax.java277
1 files changed, 0 insertions, 277 deletions
diff --git a/plugins/org.eclipse.osee.ote.ui.markers/src/org/eclipse/osee/ote/ui/markers/ProcessOutfileSax.java b/plugins/org.eclipse.osee.ote.ui.markers/src/org/eclipse/osee/ote/ui/markers/ProcessOutfileSax.java
deleted file mode 100644
index bc1af2809cc..00000000000
--- a/plugins/org.eclipse.osee.ote.ui.markers/src/org/eclipse/osee/ote/ui/markers/ProcessOutfileSax.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ote.ui.markers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Stack;
-import java.util.logging.Level;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.plugin.core.util.IExceptionableRunnable;
-import org.eclipse.osee.framework.ui.ws.AWorkspace;
-import org.eclipse.osee.ote.core.framework.saxparse.IBaseSaxElementListener;
-import org.eclipse.osee.ote.core.framework.saxparse.OteSaxHandler;
-import org.eclipse.osee.ote.core.framework.saxparse.elements.StacktraceData;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * @author Andrew M. Finkbeiner
- */
-public class ProcessOutfileSax implements IExceptionableRunnable {
-
- private final IFile file;
-
- private static final int _1_MB = 1048576;
- private static final int _20_MB = _1_MB * 20;
-
- private final List<TestPointData> testPointDatas = new ArrayList<>();
- private TestPointData currentData = null;
- private CheckPointData currentCheckPoint = null;
- protected StackTraceCollection currentStackTrace;
-
- public ProcessOutfileSax(IFile file) {
- this.file = file;
- }
-
- @Override
- public IStatus run(IProgressMonitor monitor) throws Exception {
- File outfile = AWorkspace.iFileToFile(file);
- if (outfile.length() > _20_MB) {
- OseeLog.logf(MarkerPlugin.class, Level.WARNING,
- "%s has a length of [%d], the max size processed is [%d].", file.getName(), outfile.length(), _20_MB);
- return Status.OK_STATUS;
- }
- if (!file.isSynchronized(0)) {
- OseeLog.logf(MarkerPlugin.class, Level.WARNING, "%s is not synchronized.", file.getName());
- file.refreshLocal(0, monitor);
- }
-
- monitor.setTaskName(String.format("Computing overview information for [%s].", file.getName()));
-
-// InputStream contents = file.getContents();
-
- boolean hadParseException = false;
- int numberOfTries = 0;
- do{
- // Using this because IFile was acting very flaky for this.
- FileInputStream contents = new FileInputStream(outfile);
-
- try {
- hadParseException = false;
- parseContents(contents);
- } catch (Exception ex) {
- hadParseException = true;
- System.out.println("Had EXCEPTION HERE FROM parseContents()!!! numberOfTries = " + numberOfTries);
- }
- finally {
- numberOfTries++;
- Thread.sleep(1000);
- }
- } while(hadParseException && (numberOfTries < 5));
- if (numberOfTries > 1){
- FileInputStream contents = new FileInputStream(outfile);
- parseContents(contents);
- }
-
-
- OteMarkerHelper helper = new OteMarkerHelper(this.testPointDatas);
- MarkerPlugin.updateMarkerInfo(file, helper.getMarkers());
-
- return Status.OK_STATUS;
- }
-
- private void parseContents(InputStream contents) throws SAXException, Exception, SAXNotRecognizedException, SAXNotSupportedException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
- OteSaxHandler handler = new OteSaxHandler();
- xmlReader.setContentHandler(handler);
- xmlReader.setProperty("http://xml.org/sax/properties/lexical-handler", handler); // This is the important part
-
- final Stack<String> elementStack = new Stack<>();
- handler.getHandler("*").addListener(new IBaseSaxElementListener() {
-
- @Override
- public void onStartElement(Object obj) {
- elementStack.push((String) obj);
- }
-
- @Override
- public void onEndElement(Object obj) {
- elementStack.pop();
- }
- });
-
- handler.getHandler("TestPoint").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentData != null && currentData.isFailed()) {
- testPointDatas.add(currentData);
- }
- currentData = null;
- }
-
- @Override
- public void onStartElement(Object obj) {
- currentData = new TestPointData();
- }
- });
- handler.getHandler("CheckPoint").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentCheckPoint.isFailed()) {
- currentData.add(currentCheckPoint);
- }
- currentCheckPoint = null;
- }
-
- @Override
- public void onStartElement(Object obj) {
- if (currentData != null) {
- currentCheckPoint = new CheckPointData();
- }
- }
- });
-
- handler.getHandler("Result").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- boolean failed = false;
- if ("FAILED".equals(obj)) {
- failed = true;
- }
-
- if (currentCheckPoint != null) {
- currentCheckPoint.setFailed(failed);
- } else if (currentData != null && elementStack.peek().equals("TestPoint")) {
- currentData.setFailed(failed);
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- }
- });
-
- handler.getHandler("TestPointName").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentCheckPoint != null) {
- currentCheckPoint.setName(obj.toString());
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- }
- });
- handler.getHandler("Expected").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentCheckPoint != null) {
- currentCheckPoint.setExpected(spaceProcessing(obj.toString()));
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- }
- });
- handler.getHandler("Actual").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentCheckPoint != null) {
- currentCheckPoint.setActual(spaceProcessing(obj.toString()));
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- }
- });
- handler.getHandler("Number").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentData != null) {
- currentData.setNumber(obj.toString());
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- }
- });
- handler.getHandler("Location").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- if (currentStackTrace != null) {
- currentData.setStackTrace(currentStackTrace);
- currentStackTrace = null;
- }
- }
-
- @Override
- public void onStartElement(Object obj) {
- if (currentData != null) {
- currentStackTrace = new StackTraceCollection();
- }
- }
- });
- handler.getHandler("Stacktrace").addListener(new IBaseSaxElementListener() {
- @Override
- public void onEndElement(Object obj) {
- }
-
- @Override
- public void onStartElement(Object obj) {
- if (currentStackTrace != null) {
- currentStackTrace.addTrace((StacktraceData) obj);
- }
- }
- });
-
- xmlReader.parse(new InputSource(contents));
- }
-
- private String spaceProcessing(String expected) {
- int index = 0, preCount = 0, postCount = 0;
- while (index < expected.length() && expected.charAt(index) == ' ') {
- index++;
- preCount++;
- }
- index = expected.length() - 1;
- while (index >= 0 && expected.charAt(index) == ' ') {
- index--;
- postCount++;
- }
-
- expected = expected.trim();
- if (preCount > 0) {
- expected = String.format("#sp%d#%s", preCount, expected);
- }
- if (postCount > 0) {
- expected = String.format("%s#sp%d#", expected, postCount);
- }
-
- return expected;
- }
-}

Back to the top