View Javadoc

1   package net.sourceforge.xmlfit.reader;
2   
3   import java.util.HashMap;
4   
5   import net.sourceforge.xmlfit.configuration.Configuration;
6   
7   import org.eclipse.emf.ecore.EObject;
8   import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
9   import org.openarchitectureware.workflow.WorkflowComponent;
10  import org.openarchitectureware.workflow.WorkflowContext;
11  import org.openarchitectureware.workflow.ast.parser.Location;
12  import org.openarchitectureware.workflow.container.CompositeComponent;
13  import org.openarchitectureware.workflow.issues.Issues;
14  import org.openarchitectureware.workflow.monitor.ProgressMonitor;
15  import org.openarchitectureware.xsd.XMLReaderImpl;
16  import org.openarchitectureware.xsd.XSDMetaModel;
17  
18  public class DynamicXMLReader implements WorkflowComponent
19  {
20  
21  	private String name;
22  	
23  	private CompositeComponent container;
24  	
25  	private Location location;
26  	
27  	private static XSDMetaModel metaModel;
28  	
29  	private static Configuration configuration = Configuration.INSTANCE;
30  	
31  	public XSDMetaModel getMetaModel() {
32  		return metaModel;
33  	}
34  
35  	public void setMetaModel(XSDMetaModel metaModel) {
36  		DynamicXMLReader.metaModel = metaModel;
37  	}
38  
39  	public static EObject loadModelFromXmlFile(String fileName)
40  	{
41  		XMLReaderImpl reader = new XMLReaderImpl(new ResourceSetImpl(), metaModel);
42  		reader.setUri(configuration.getInputDirectory() + fileName);
43  		reader.setUseDocumentRoot(false);
44  		reader.getOptions().putAll(new HashMap<String, Object>());
45  		EObject model = reader.readXML();
46  		
47  		return model;
48  	}
49  
50  	public void checkConfiguration(Issues issues) {
51  	}
52  
53  	public String getComponentName() {
54  		return name;
55  	}
56  
57  	public CompositeComponent getContainer() {
58  		return container;
59  	}
60  
61  	public Location getLocation() {
62  		return location;
63  	}
64  
65  	public void invoke(WorkflowContext ctx, ProgressMonitor monitor,
66  			Issues issues) {
67  	}
68  
69  	public void setContainer(CompositeComponent container) {
70  		this.container = container;
71  	}
72  
73  	public void setLocation(Location location) {
74  		this.location = location;
75  	}
76  	
77  }