/** * sustituye el esquema de JUMP por un esquema automático de Geopista. Para una integración * rápida. SOLO PARA PRUEBAS * * @param feature */ public static GeopistaFeature vampiriceSchema(Feature feature) { FeatureSchema fSchema = feature.getSchema(); GeopistaSchema gSchema = new GeopistaSchema(); // crea el atributo Table defTable = new Table("DatosCapa", "Tabla de la BBDD para esta capa."); for (int i = 0; i < fSchema.getAttributeCount(); i++) { // define Dominio, Columna y añade al esquema Domain defDomain; if (fSchema.getAttributeType(i) == AttributeType.DOUBLE || fSchema.getAttributeType(i) == AttributeType.FLOAT) { defDomain = new NumberDomain("?[-INF:INF]", "Default Double Number."); } else if (fSchema.getAttributeType(i) == AttributeType.INTEGER || fSchema.getAttributeType(i) == AttributeType.LONG) { // Definir patron para excluir los decimales. defDomain = new NumberDomain("?[-INF:INF]", "Default Integer Number"); } else { defDomain = new StringDomain("?[.*]", "Dominio por defecto."); } Column col = new Column(fSchema.getAttributeName(i), "Columna automática.", defTable, defDomain); gSchema.addAttribute( fSchema.getAttributeName(i), fSchema.getAttributeType(i), col, READ_WRITE); } GeopistaFeature gFeature = new GeopistaFeature(gSchema); for (int i = 0; i < fSchema.getAttributeCount(); i++) { gFeature.setAttribute(fSchema.getAttributeName(i), feature.getAttribute(i)); } return gFeature; }
public static FeatureCollection createBlankFeatureCollection() { GeopistaSchema featureSchema = new GeopistaSchema(); Domain domainGeometry = new StringDomain("", ""); Table tableGeometry = new Table("Dummy", "Dummy"); Column columnGeometry = new Column("Dummy", "Dummy", tableGeometry, domainGeometry); featureSchema.addAttribute( "GEOMETRY", AttributeType.GEOMETRY, columnGeometry, GeopistaSchema.READ_WRITE); return new FeatureDataset(featureSchema); }
/* (non-Javadoc) * @see com.vividsolutions.jump.feature.FeatureSchema#addAttribute(java.lang.String, com.vividsolutions.jump.feature.AttributeType) */ public void addAttribute( String attributeName, AttributeType attributeType, Column column, boolean editable) { String accessType = new String(); if (editable) { accessType = READ_WRITE; } else { accessType = READ_ONLY; } addAttribute(attributeName, attributeType, column, accessType); }
public void addAttribute(Attribute attribute) { attribute.setSchema(this); // comprobación de clones de tablas GeopistaSchema schema = this; // busca si existe otra tabla con este nombre // java2xml desvincula las tablas y crea múltiples instancias for (int i = 0; i < schema.getAttributeCount(); i++) { if (schema .getColumnByAttribute(i) .getTable() .getName() .equals(attribute.getColumn().getTable().getName())) { // Es un clon de la ya existente -> uso la existente en lugar del parámetro. attribute.getColumn().setTable(schema.getColumnByAttribute(i).getTable()); } } /** * Busca si existe un dominio con el mismo nombre de tipo TreeDomain java2xml desvincula los * dominios y crea instancias separadas */ Domain newdomain = attribute.getColumn().getDomain(); if (newdomain instanceof TreeDomain) { TreeDomain newTreeDomain = (TreeDomain) newdomain; // busca por nombre de dominio for (int i = 0; i < schema.getAttributeCount(); i++) { if (schema.getAttributeDomain(i) != null && schema.getAttributeDomain(i).getName().equals(newTreeDomain.getName())) { // se ha encontrado el dominio ya definido: Usamos el actual Domain dom = schema.getAttributeDomain(i); newTreeDomain = (TreeDomain) dom; // overrides suplied domain } } attribute.getColumn().setDomain(newTreeDomain); // enlaza la columna actual al dominio existente int level = newTreeDomain.getLevelNames().indexOf(attribute.getColumn().getName()); if (level > -1) newTreeDomain.attachColumnToLevel(attribute.getColumn(), level); } addAttribute( attribute.getName(), AttributeType.toAttributeType(attribute.getType()), attribute.getColumn(), attribute.getAccessType()); }
public void addAttribute( String attributeName, AttributeType attributeType, Column column, String accessType) { addAttribute(attributeName, attributeType, accessType); this.setAttributeColumn(this.getAttributeIndex(attributeName), column); }
public void addAttribute(String attributeName, AttributeType attributeType, Column column) { addAttribute(attributeName, attributeType, column, READ_WRITE); }