Commit f1e1a749 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

- removed old xstream configuration handling, #37

parent b03a99f4
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ Bundle-Name: T3Tools Configuration
Bundle-SymbolicName: de.ugoe.cs.swe.TTCN3Configuration
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.apache.commons.cli,
 de.ugoe.cs.swe.TTCN3.external,
 org.eclipse.emf.common,
 jakarta.xml.bind-api,
 com.sun.xml.bind.jaxb-core,
+0 −60
Original line number Diff line number Diff line
@@ -2,15 +2,9 @@ package de.ugoe.cs.swe.common;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.ConversionException;

import de.ugoe.cs.swe.TTCN3Configuration.NamingConventionsConfig;
import de.ugoe.cs.swe.TTCN3Configuration.QualityCheckProfile;
import de.ugoe.cs.swe.TTCN3Configuration.T3QConfig;
@@ -109,39 +103,6 @@ public class ConfigTools {
		return config;
	}

	private ToolConfiguration readConfigXstream(String filename) throws TerminationException {
		System.out.println("  Reading XML configuration from: " + filename);
		String str = MiscTools.readFile(filename);
		XStream xstream = new XStream();
		initXstreamAliases(xstream);
		ToolConfiguration config = null;
		try {
			config = (ToolConfiguration) xstream.fromXML(str);
		} catch (ConversionException ce) {
			String line = "";
			line = ce.getMessage().split("line\\snumber[\\t\\s]+?:\\s")[1];
			line = line.substring(0, line.indexOf("\n"));
			System.out.println("  Problem Occured while loading configuration: line: " + line);
			// TODO: add further debugging details?
		}
		return config;
	}

	private void initXstreamAliases(XStream xstream) throws TerminationException {
//		XStream.setupDefaultSecurity(xstream); // to be removed after 1.5
		xstream.allowTypesByWildcard(new String[] {
		    "de.ugoe.cs.swe.TTCN3Configuration.**"
		});
		
		try {
			xstream.alias(Class.forName(configurationClassName).getSimpleName(), Class.forName(configurationClassName));
			xstream.alias(Class.forName(configurationProfileClassName).getSimpleName(), Class.forName(configurationProfileClassName));
		} catch (ClassNotFoundException e) {
			System.out.println("  Problem occurred while initiating XStream. Class not found: " + e.getMessage());
			throw new TerminationException("Class not found: " + e.getMessage());
		}
	}

	private void writeConfig(ToolConfiguration config, String filename) throws TerminationException {
		System.out.println("  Writing XML configuration to: " + filename);
		try {
@@ -155,27 +116,6 @@ public class ConfigTools {
		}
	}

	private void writeConfigXstream(ToolConfiguration config, String filename) throws TerminationException {
		System.out.println("  Writing XML configuration to: " + filename);
		XStream xstream = new XStream();
		initXstreamAliases(xstream);
		String xml = xstream.toXML(config);
		OutputStreamWriter oos;
		// write out an empty file
		MiscTools.writeFile(filename, "");
		try {
			oos = new OutputStreamWriter(new FileOutputStream(filename));
			oos.write(xml);
			oos.close();
		} catch (FileNotFoundException e) {
			System.out.println("  ERROR: File could not be found! (\"" + filename + "\")");
			throw new TerminationException(e.getMessage());
		} catch (IOException e) {
			System.out.println("  IO ERROR: Could not write to file! (\"" + filename + "\")");
			throw new TerminationException(e.getMessage());
		}
	}

	public ConfigurationProfile selectProfile(String specifiedProfileName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
		// add all default implicit profile
		ConfigurationProfile selectedProfile = null;