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

* JAXB testing resources

parent a98f6210
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -3,6 +3,11 @@ Bundle-ManifestVersion: 2
Bundle-Name: T3Tools Developer Extras
Bundle-SymbolicName: de.ugoe.cs.swe.TTCN3.dev
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.apache.commons.cli
Require-Bundle: org.apache.commons.cli,
 jakarta.xml.bind-api,
 com.sun.xml.bind.jaxb-core,
 com.sun.xml.bind.jaxb-impl,
 jakarta.activation-api,
 de.ugoe.cs.swe.TTCN3Configuration
Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-Vendor: Software Engineering for Distributed Systems, University of Goettingen
+79 −0
Original line number Diff line number Diff line
package de.ugoe.cs.swe.dev;

import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.Marshaller;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;

import de.ugoe.cs.swe.TTCN3Configuration.NamingConventionsConfig;
import de.ugoe.cs.swe.TTCN3Configuration.QualityCheckProfile;
import de.ugoe.cs.swe.TTCN3Configuration.T3QConfig;
import de.ugoe.cs.swe.common.ConfigurationProfile;
import de.ugoe.cs.swe.common.ToolConfiguration;
import de.ugoe.cs.swe.common.exceptions.TerminationException;
public class JAXBAlternative {
	private ToolConfiguration config = null;
	private String configurationClassName;
	private String configurationProfileClassName;
	private String toolVersion;
	private ConfigurationProfile selectedProfile = null;

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		LogEntry entry = new LogEntry();
		entry.category = "Cat";
		entry.key = "Key";
		entry.message = "Message";
		JAXBContext context = JAXBContext.newInstance(LogEntry.class);
	    Marshaller mar= context.createMarshaller();
	    mar.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
	    mar.marshal(entry, new File("tmp/entry.xml"));
	
	    
	    LogEntry entryUM = (LogEntry) context.createUnmarshaller()
	      .unmarshal(new FileReader("tmp/entry.xml"));
	    System.out.println(entryUM);
	    
	    JAXBAlternative a = new JAXBAlternative();
	    a.initializeNewDefaultConfig("tmp/config.xml");
	    		
	}

	
	public ToolConfiguration initializeNewDefaultConfig(String configurationFilename) throws Exception {
		configurationClassName = T3QConfig.class.getName();
		configurationProfileClassName = QualityCheckProfile.class.getName();
		System.out.println("  Generating new default configuration in: \"" + configurationFilename + "\" ...");
		ToolConfiguration config = null;
		ConfigurationProfile configurationProfile = null;
		//TODO: simplify
		config = (ToolConfiguration) Class.forName(configurationClassName).newInstance();
		configurationProfile = (ConfigurationProfile) Class.forName(configurationProfileClassName).newInstance();
		configurationProfile.setProfileName("defaultProfile");
		configurationProfile.setProfileVersion("--latest");
		config.setDefaultConfigurationProfile("all");
		if (config.getConfigurationProfiles() == null) {
			ArrayList<ConfigurationProfile> configurationProfiles = new ArrayList<ConfigurationProfile>();
			config.setConfigurationProfiles(configurationProfiles);
		}
		config.getConfigurationProfiles().add(configurationProfile);
		JAXBContext context = JAXBContext.newInstance(T3QConfig.class, QualityCheckProfile.class, ConfigurationProfile.class, ToolConfiguration.class, NamingConventionsConfig.class);
	    Marshaller mar = context.createMarshaller();
	    mar.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
	    mar.marshal(config, new File(configurationFilename));
	    
	    ToolConfiguration configUM = (ToolConfiguration) context.createUnmarshaller()
	  	      .unmarshal(new FileReader(configurationFilename));
	    mar.marshal(configUM, new File(configurationFilename+".re.xml"));
	    
	    String sample = "/Users/philip-iii/Dev/git/t3tools/t3q-clean/de.ugoe.cs.swe.T3Q/config/t3q-tf160-latest-next-new-features.xml";
	    configUM = (ToolConfiguration) context.createUnmarshaller()
		  	      .unmarshal(new FileReader(sample));
		    mar.marshal(configUM, new File(configurationFilename+"sample.re.xml"));
	    
	    
		return config;
	}

}
+3 −0
Original line number Diff line number Diff line
package de.ugoe.cs.swe.dev;

import jakarta.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class LogEntry {
	public String filename;
	public String line;