Commit 713134ba authored by Claus Nagel's avatar Claus Nagel
Browse files

0.3.0pre: intermediate commit to make changes persistent

do not update to this revision.
parent 5315090d
This diff is collapsed.
This diff is collapsed.
......@@ -3,7 +3,7 @@ package org.citygml4j.ade_xjc;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.math.BigInteger;
import java.net.URL;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
......@@ -22,12 +22,9 @@ import com.sun.tools.xjc.api.XJC;
public class ADE_XJC {
private static final Logger LOG = Logger.getInstance();
// some dirs we will need
private File schema_dir = new File("schemas");
// some files we will need
private File baseProfileFile = new File(schema_dir.getAbsoluteFile() + "/CityGML/citygml4j_profile.xsd");
private File bindingFile = new File(schema_dir.getAbsoluteFile() + "/CityGML/binding.xjb");
private URL baseProfileFile = ADE_XJC.class.getResource("/schemas/CityGML/citygml4j_profile.xsd");
private URL bindingFile = ADE_XJC.class.getResource("/schemas/CityGML/binding.xjb");
private File adeSchemaFile = null;
// args
......@@ -42,10 +39,10 @@ public class ADE_XJC {
@Option(name="-output", usage="output folder (default: 'src-gen')", metaVar="<folderName>")
private File outputFolder = new File("src-gen");
@Option(name="-non-strict", usage="allow changes to contents of subfolder 'schemas'")
private boolean nonStrict = false;
@Option(name="-clean", usage="clean output folder")
private boolean clean;
......@@ -100,7 +97,7 @@ public class ADE_XJC {
try {
LOG.info("Setting up build environment");
checkBuildEnvironment();
//checkBuildEnvironment();
if (clean) {
LOG.info("Cleaning output folder");
......@@ -124,31 +121,20 @@ public class ADE_XJC {
SchemaCompiler sc = XJC.createSchemaCompiler();
sc.setDefaultPackageName(packageName);
sc.setEntityResolver(new XJCEntityResolver());
XJCErrorListener listener = new XJCErrorListener();
sc.setErrorListener(listener);
InputSource schema = new InputSource(baseProfileFile.getAbsolutePath());
schema.setSystemId(baseProfileFile.toURI().toString());
sc.parseSchema(schema);
InputSource binding = new InputSource(bindingFile.getAbsolutePath());
binding.setSystemId(bindingFile.toURI().toString());
sc.parseSchema(binding);
sc.parseSchema(new InputSource(baseProfileFile.toString()));
sc.parseSchema(new InputSource(bindingFile.toString()));
sc.parseSchema(new InputSource(adeSchemaFile.getAbsolutePath()));
InputSource adeSchema = new InputSource(adeSchemaFile.getAbsolutePath());
adeSchema.setSystemId(adeSchemaFile.toURI().toString());
sc.parseSchema(adeSchema);
if (adeBindingFile != null) {
InputSource adeBinding = new InputSource(adeBindingFile.getAbsolutePath());
adeBinding.setSystemId(adeBindingFile.toURI().toString());
sc.parseSchema(adeBinding);
}
if (adeBindingFile != null)
sc.parseSchema(new InputSource(adeBindingFile.getAbsolutePath()));
S2JJAXBModel model = sc.bind();
JCodeModel code = model.generateCode(null, listener);
code.build(outputFolder, (PrintStream)null);
File packageDir = new File(outputFolder.getAbsolutePath());
......@@ -186,7 +172,7 @@ public class ADE_XJC {
}
private void checkBuildEnvironment() throws Exception, FileNotFoundException, NoSuchAlgorithmException {
if (!schema_dir.exists())
/*if (!schema_dir.exists())
throw new FileNotFoundException("Could not open folder " + schema_dir.getAbsolutePath());
if (!nonStrict) {
......@@ -209,7 +195,7 @@ public class ADE_XJC {
if (adeBindingFile != null && (!adeBindingFile.exists() || !adeBindingFile.isFile() || !adeBindingFile.canRead()))
throw new Exception("Could not open ADE binding file " + adeBindingFile.getAbsolutePath());
*/
}
private void cleanBuildEnvironment() {
......
package org.citygml4j.ade_xjc;
import java.io.IOException;
import java.net.URL;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class XJCEntityResolver implements EntityResolver {
@Override
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
URL url = null;
//if (systemId.endsWith("CityGML.xsd"))
//url = XJCEntityResolver.class.getResource("/schemas/CityGML/0.4.0/CityGML.xsd");
/*
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/gml.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/dynamicFeature.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/feature.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/geometryBasic2d.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/geometryBasic0d1d.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/measures.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/units.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/dictionary.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/gmlBase.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/basicTypes.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/xlink/xlinks.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/temporal.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/direction.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/topology.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/geometryComplexes.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/geometryAggregates.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/geometryPrimitives.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/coverage.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/valueObjects.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/grids.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/coordinateReferenceSystems.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/coordinateSystems.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/referenceSystems.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/datums.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/coordinateOperations.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/dataQuality.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/observation.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/defaultStyle.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/smil/smil20.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/smil/smil20-language.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/smil/xml-mod.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/temporalReferenceSystems.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/GML/3.1.1/base/temporalTopology.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/xAL/2.0/xAL.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/appearance.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/cityGMLBase.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/generics.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/building.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/cityFurniture.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/cityObjectGroup.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/landUse.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/relief.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/transportation.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/vegetation.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/waterBody.xsd
FAILED: null file:/C:/java/ade-xjc/resources/xml/schemas/CityGML/1.0.0/texturedSurface.xsd
return null;*/
return (url != null) ? new InputSource(url.toString()) : null;
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment