package com.ximple.eofms.util; import org.geotools.feature.AttributeTypeFactory; import org.geotools.feature.FeatureTypeBuilder; import com.vividsolutions.jts.geom.Geometry; public final class FeatureTypeBuilderUtil { public static FeatureTypeBuilder createNormalPointFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("FONT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("JUST", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("HEIGHT", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("WIDTH", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("ANGLE", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CONTEXT", String.class, false, 254)); return typeBuilder; } public static FeatureTypeBuilder createNormalLineFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; } public static FeatureTypeBuilder createNormalArcFeatureTypeBuilder(String featureName) { return createNormalLineFeatureTypeBuilder(featureName); /* FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; */ } public static FeatureTypeBuilder createNormalEllipseFeatureTypeBuilder(String featureName) { return createNormalLineFeatureTypeBuilder(featureName); /* FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; */ } public static FeatureTypeBuilder createNormalIndexFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("X1", Double.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("Y1", Double.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("X2", Double.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("Y2", Double.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TPCID", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; } public static FeatureTypeBuilder createNormalIndexTextFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("JUST", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("HEIGHT", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("WIDTH", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("ANGLE", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TPCID", String.class, false, 12)); return typeBuilder; } public static FeatureTypeBuilder createPointFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("JUST", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("HEIGHT", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("WIDTH", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("ANGLE", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CONTEXT", String.class, false, 254)); return typeBuilder; } public static FeatureTypeBuilder createSymbolFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("JUST", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("HEIGHT", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("WIDTH", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("ANGLE", Float.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMBOL", String.class, false, 20)); return typeBuilder; } public static FeatureTypeBuilder createPolygonFeatureTypeBuilder(String featureName) { return createLineStringFeatureTypeBuilder(featureName); /* FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; */ } public static FeatureTypeBuilder createLineStringFeatureTypeBuilder(String featureName) { FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; } public static FeatureTypeBuilder createEllipseFeatureTypeBuilder(String featureName) { return createLineStringFeatureTypeBuilder(featureName); /* FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; */ } public static FeatureTypeBuilder createArcFeatureTypeBuilder(String featureName) { return createLineStringFeatureTypeBuilder(featureName); /* FeatureTypeBuilder typeBuilder = FeatureTypeBuilder.newInstance(featureName); typeBuilder.addType(AttributeTypeFactory.newAttributeType("GEOM", Geometry.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("TID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("OID", Long.class)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("CID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LID", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("LEVEL", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMCOLOR", String.class, false, 12)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMWEIGHT", Short.class, false)); typeBuilder.addType(AttributeTypeFactory.newAttributeType("SYMSTYLE", Short.class, false)); return typeBuilder; */ } }