Example #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);
  }
Example #3
0
  /* (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);
  }
Example #4
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());
  }
Example #5
0
  public void addAttribute(
      String attributeName, AttributeType attributeType, Column column, String accessType) {
    addAttribute(attributeName, attributeType, accessType);

    this.setAttributeColumn(this.getAttributeIndex(attributeName), column);
  }
Example #6
0
 public void addAttribute(String attributeName, AttributeType attributeType, Column column) {
   addAttribute(attributeName, attributeType, column, READ_WRITE);
 }