/** * 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); }
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 initialize(FeatureDialogHome fd) { GeopistaSchema esquema = (GeopistaSchema) fd.getFeature().getSchema(); AppContext.getApplicationContext().getBlackboard().put("featureDialog", fd); Object obj = fd.getFeature().getAttribute(esquema.getAttributeByColumn("id")); if (obj != null && !obj.equals("") && ((esquema.getGeopistalayer() != null && !esquema.getGeopistalayer().isExtracted() && !esquema.getGeopistalayer().isLocal()) || (esquema.getGeopistalayer() == null) && fd.getFeature() instanceof GeopistaFeature && !((GeopistaFeature) fd.getFeature()).getLayer().isExtracted())) { String codprov = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codprov")) != null) { codprov = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codprov"))).toString(); } String codmunic = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codmunic")) != null) { codmunic = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codmunic"))).toString(); } String entidad = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codentidad")) != null) { entidad = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codentidad"))).toString(); } String nucleo = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codpoblamiento")) != null) { nucleo = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codpoblamiento"))) .toString(); } AppContext app = (AppContext) AppContext.getApplicationContext(); Blackboard Identificadores = app.getBlackboard(); EdicionOperations operations = new EdicionOperations(); Identificadores.put( "propiedadesnucleosencuestados1_panel", operations.getPanelNucleosEncuestados1EIEL(codprov, codmunic, entidad, nucleo)); Encuestados1Panel encuestados1Panel = new Encuestados1Panel(); encuestados1Panel.loadDataIdentificacion(codprov, codmunic, entidad, nucleo); encuestados1Panel.loadData(); this.encuestados1Panel = encuestados1Panel; fd.addPanel(encuestados1Panel); } }
/** * Añade todos los atributos de las capas seleccionadas * * @param extractLayers * @return */ private NamedVector[] getRootLayerNodes(ArrayList<GeopistaLayer> extractLayers) { NamedVector[] returnVector = null; if (extractLayers != null) { GeopistaLayer geopistaLayer = null; String layerSystemId; EIELFilesUtils eielFilesUtils; String layerName; returnVector = new NamedVector[extractLayers.size()]; // capas for (int i = 0; i < extractLayers.size(); i++) { geopistaLayer = extractLayers.get(i); layerSystemId = geopistaLayer.getSystemId(); eielFilesUtils = new EIELFilesUtils(layerSystemId); layerName = geopistaLayer.getName(); // buscamos el identificador de cada capa GeopistaSchema featureGeoSchema = (GeopistaSchema) geopistaLayer.getFeatureCollectionWrapper().getFeatureSchema(); // atributos NamedVector namedVector = new NamedVector(layerName); Column columnByAttribute = null; String colName = null; for (int j = 0; j < featureGeoSchema.getAttributeCount(); j++) { columnByAttribute = featureGeoSchema.getColumnByAttribute(j); colName = columnByAttribute.getName(); if (colName.toLowerCase().equals(GEOMETRY_ATR)) { // no lo mostramos continue; } // CAMBIAR: COMPROBAR SI SE DEBE SELECCIONAR id SI ES TIPO EIEL else if (colName.toLowerCase().equals(Constants.FIELD_ID)) { // lo ponemos al principio namedVector.add(0, new CheckBoxNode(featureGeoSchema.getAttributeName(j), true, false)); } else if (colName.toLowerCase().equals(Constants.FIELD_ID_MUNICIPIO)) { namedVector.add(1, new CheckBoxNode(featureGeoSchema.getAttributeName(j), true, false)); } // caso especial para licencias // la referencia castastral será el atributo clave para localizar la licencia else if (colName.toLowerCase().contains(Constants.CLAVE_METAINFO) && Utils.isInArray(Constants.TIPOS_LICENCIAS, layerSystemId)) { namedVector.add(new CheckBoxNode(featureGeoSchema.getAttributeName(j), true, false)); } // caso especial para inventario de patrimonio else if (colName.toLowerCase().equals(Constants.NUM_BIENES_ID) && Utils.isInArray(Constants.TIPOS_INVENTARIO, layerSystemId)) { namedVector.add(new CheckBoxNode(featureGeoSchema.getAttributeName(j), true, false)); } // caso especial para EIEL else if (Utils.isInArray(Constants.TIPOS_EIEL, layerSystemId)) { if (isPkFieldEIEL(eielFilesUtils, layerSystemId, colName)) namedVector.add(new CheckBoxNode(featureGeoSchema.getAttributeName(j), true, false)); else namedVector.add(new CheckBoxNode(featureGeoSchema.getAttributeName(j), false, true)); } else { // simplemente lo añadimos // if(!(licUtils.isInArray(Constants.TIPOS_LICENCIAS, layerSystemId) || // licUtils.isInArray(Constants.TIPOS_INVENTARIO, layerSystemId))){ if (!Utils.isInArray(Constants.TIPOS_LICENCIAS, layerSystemId)) { namedVector.add(new CheckBoxNode(featureGeoSchema.getAttributeName(j), false, true)); } } } returnVector[i] = namedVector; } } return returnVector; }
public void initialize(FeatureDialogHome fd) { GeopistaSchema esquema = (GeopistaSchema) fd.getFeature().getSchema(); Object obj = fd.getFeature().getAttribute(esquema.getAttributeByColumn("id")); if (obj != null && !obj.equals("") && ((esquema.getGeopistalayer() != null && !esquema.getGeopistalayer().isExtracted() && !esquema.getGeopistalayer().isLocal()) || (esquema.getGeopistalayer() == null) && fd.getFeature() instanceof GeopistaFeature && !((GeopistaFeature) fd.getFeature()).getLayer().isExtracted())) { String clave = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("clave")) != null) { clave = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("clave"))).toString(); } String codprov = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codprov")) != null) { codprov = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codprov"))).toString(); } String codmunic = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codmunic")) != null) { codmunic = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("codmunic"))).toString(); } String orden_ca = null; if (fd.getFeature().getAttribute(esquema.getAttributeByColumn("orden_ca")) != null) { orden_ca = (fd.getFeature().getAttribute(esquema.getAttributeByColumn("orden_ca"))).toString(); } int ID = Integer.parseInt( fd.getFeature().getAttribute(esquema.getAttributeByColumn("id")).toString()); AppContext app = (AppContext) AppContext.getApplicationContext(); Blackboard Identificadores = app.getBlackboard(); Identificadores.put("ID_Captacion", ID); EdicionOperations operations = new EdicionOperations(); Identificadores.put("captacion", operations.getCaptacionEIEL(ID)); CaptacionesPanel captaciones = new CaptacionesPanel(); captaciones.loadDataIdentificacion(clave, codprov, codmunic, orden_ca); captaciones.loadData(); this.captacionesPanel = captaciones; fd.addPanel(captaciones); } }