示例#1
0
  /**
   * 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);
  }
示例#3
0
  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);
    }
  }