blob: 646594b41fe09398a93ee09a74876697e431d6e6 [file] [log] [blame]
/*******************************************************************************
* 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.test.manager.models;
import java.io.File;
import java.io.FileInputStream;
import java.util.logging.Level;
import org.eclipse.osee.framework.jdk.core.util.io.xml.AbstractSaxHandler;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.ote.ui.test.manager.internal.TestManagerPlugin;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
/**
* Base Class for all TestManagers
*/
public class OutputModel extends FileModel {
private static final String OUTPUT_EXTENSION = "tmo";
private int failedTestPoints = 0;
private int passedTestPoints = 0;
private boolean aborted = false;
private boolean exists = false;
public OutputModel(String rawFilename) {
super(rawFilename);
}
public boolean doesOutfileExist() {
return exists;
}
public void updateTestPointsFromOutfile() {
try {
File outfile = getFile();
exists = outfile.exists();
if (outfile.exists() && outfile.length() > 0) {
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.setContentHandler(new ParseTestPoints());
xmlReader.parse(new InputSource(new FileInputStream(outfile)));
}
} catch (Exception ex) {
OseeLog.log(TestManagerPlugin.class, Level.SEVERE, ex);
}
}
public int getFailedTestPoints() {
return failedTestPoints;
}
public int getPassedTestPoints() {
return passedTestPoints;
}
public void setFailedTestPoints(int failedTestPoints) {
this.failedTestPoints = failedTestPoints;
}
public void setPassedTestPoints(int passedTestPoints) {
this.passedTestPoints = passedTestPoints;
}
private class ParseTestPoints extends AbstractSaxHandler {
@Override
public void endElementFound(String uri, String localName, String name) throws SAXException {
}
@Override
public void startElementFound(String uri, String localName, String name, Attributes attributes) throws SAXException {
if ("TestPointResults".equals(name)) {
String fail = attributes.getValue("fail");
String pass = attributes.getValue("pass");
String aborted = attributes.getValue("aborted");
try {
failedTestPoints = Integer.parseInt(fail);
passedTestPoints = Integer.parseInt(pass);
if (aborted != null && aborted.length() > 0) {
OutputModel.this.aborted = Boolean.parseBoolean(aborted);
}
} catch (NumberFormatException ex) {
}
}
}
}
public String getFileExtension() {
return OUTPUT_EXTENSION;
}
public boolean isAborted() {
return aborted;
}
public void setAborted(boolean b) {
aborted = b;
}
}