Examples of VectorLayer


Examples of org.geomajas.layer.VectorLayer

      return result;
    }
  }

  private Filter createBBoxFilter(String layerId, Envelope... bbox) throws RestException {
    VectorLayer layer = configurationService.getVectorLayer(layerId);
    for (Envelope envelope : bbox) {
      if (envelope != null) {
        try {
          return filterService.createBboxFilter(layer.getLayerInfo().getCrs(), envelope, layer
              .getFeatureModel().getGeometryAttributeName());
        } catch (LayerException e) {
          throw new RestException(e, RestException.PROBLEM_READING_LAYERSERVICE, layerId);
        }
      }
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

    if (l instanceof VectorLayer) {
      if (null == styleName || null == featureStyleId || "".equals(styleName) || "".equals(featureStyleId)) {
        throw new AdvancedviewsException(AdvancedviewsException.REQUIRED_PARAMETER_MISSING);
      }

      VectorLayer vl = (VectorLayer) l;
      NamedStyleInfo nsi = vl.getLayerInfo().getNamedStyleInfo(styleName);
      if (null == nsi) {
        throw new AdvancedviewsException(AdvancedviewsException.NO_SUCH_NAMEDSTYLE, styleName);
      }

      FeatureStyleInfo fsi = null;
      for (FeatureStyleInfo tmp : nsi.getFeatureStyles()) {
        if (featureStyleId.equals(tmp.getStyleId())) {
          fsi = tmp;
          break;
        }
      }

      if (null == fsi) {
        throw new AdvancedviewsException(AdvancedviewsException.NO_SUCH_FEATURESTYLE, featureStyleId);
      }

      return createIcon(vl.getLayerInfo().getLayerType(), fsi, iconSize, null);
    } else {
      String url = null;
      if (null != styleName && !"".equals(styleName)) {
        url = styleName;
      }
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

        // delete ?
        InternalFeature oldFeature = context.getOptional(PipelineCode.OLD_FEATURE_KEY, InternalFeature.class);
        if (null != oldFeature) {
          String layerId = context.get(PipelineCode.LAYER_ID_KEY, String.class);
          if (securityContext.isFeatureDeleteAuthorized(layerId, oldFeature)) {
            VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);
            Object featureObj = layer.read(oldFeature.getId());
            if (null != featureObj) {
              // @todo no security checks before invalidating, the delete may still fail at this moment,
              // in which case the invalidation should not have been done. Still better to invalidate too
              // much then too little.
              //Filter securityFilter = getSecurityFilter(layer,
              //   securityContext.getDeleteAuthorizedArea(layerId));
              //if (securityFilter.evaluate(featureObj)) {
              //  layer.delete(oldFeature.getId());
              //} else {
              //  throw new GeomajasSecurityException(ExceptionCode.FEATURE_DELETE_PROHIBITED,
              //      oldFeature.getId(), securityContext.getUserId());
              //}
              Geometry geometry = layer.getFeatureModel().getGeometry(featureObj);
              if (null != geometry) {
                recorder.record("layer", "Invalidate geometry for deleted feature");
                cacheManager.invalidate(layer, geometry.getEnvelopeInternal());
              }
            }
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  public <CONTAINER extends CacheContainer> CONTAINER getContainer(String keyKey, String contextKey,
      String[] keys, CacheCategory category, PipelineContext pipelineContext,
      CachingSupportServiceContextAdder contextAdder, Class<CONTAINER> containerClass) {
    CONTAINER cc = null;
    try {
      VectorLayer layer = pipelineContext.getOptional(PipelineCode.LAYER_KEY, VectorLayer.class);
      String cacheKey = null;
      if (keyKey != null) {
        cacheKey = pipelineContext.getOptional(keyKey, String.class);
      }
      if (cacheKey != null) {
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  /** {@inheritDoc} */
  public void putContainer(PipelineContext pipelineContext, CachingSupportServiceContextAdder contextAdder,
      CacheCategory category, String[] keys, String keyKey, String contextKey, CacheContainer cacheContainer,
      Envelope envelope) {
    try {
      VectorLayer layer = pipelineContext.getOptional(PipelineCode.LAYER_KEY, VectorLayer.class);
      CacheContext cacheContext = pipelineContext.getOptional(contextKey, CacheContext.class);
      if (null == cacheContext) {
        cacheContext = cacheKeyService.getCacheContext(pipelineContext, keys);
        if (null != contextAdder) {
          contextAdder.addMoreContext(cacheContext); // add more data...
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  }

  public void execute(PipelineContext context, Object response) throws GeomajasException {
    Object feature = context.get(PipelineCode.FEATURE_DATA_OBJECT_KEY);
    InternalFeature newFeature = context.get(PipelineCode.FEATURE_KEY, InternalFeature.class);
    VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);

//    // Not needed for existing features, but no problem to re-set feature id
//    String id = featureModel.getId(feature);
//    newFeature.setId(id);
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  public void setId(String id) {
    this.id = id;
  }

  public void execute(PipelineContext context, GetTileContainer response) throws GeomajasException {
    VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);
    TileMetadata metadata = context.get(PipelineCode.TILE_METADATA_KEY, TileMetadata.class);
    Filter filter = context.get(PipelineCode.FILTER_KEY, Filter.class);

    // Get the features:
    List<InternalFeature> features = layerService
        .getFeatures(metadata.getLayerId(), layer.getCrs(), filter, metadata.getStyleInfo(),
            VectorLayerService.FEATURE_INCLUDE_ALL);
    // Put them all in the tile to make them available to the next step
    response.getTile().setFeatures(features);
  }
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

    List<InternalFeature> features = response.getFeatures();
    log.debug("Get features, was {}", features);
    if (null == features) {
      features = new ArrayList<InternalFeature>();
      response.setFeatures(features);
      VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);
      Filter filter = context.get(PipelineCode.FILTER_KEY, Filter.class);
      int offset = context.get(PipelineCode.OFFSET_KEY, Integer.class);
      int maxResultSize = context.get(PipelineCode.MAX_RESULT_SIZE_KEY, Integer.class);
      int featureIncludes = context.get(PipelineCode.FEATURE_INCLUDES_KEY, Integer.class);
      NamedStyleInfo style = context.get(PipelineCode.STYLE_KEY, NamedStyleInfo.class);
      CrsTransform transformation = context.getOptional(PipelineCode.CRS_TRANSFORM_KEY, CrsTransform.class);
      List<StyleFilter> styleFilters = context.getOptional(GetFeaturesStyleStep.STYLE_FILTERS_KEY, List.class);

      if (log.isDebugEnabled()) {
        log.debug("getElements " + filter + ", offset = " + offset + ", maxResultSize= " + maxResultSize);
      }
      Envelope bounds = null;
      Iterator<?> it = layer.getElements(filter, 0, 0); // do not limit result here, security needs to be applied

      int count = 0;
      while (it.hasNext()) {
        log.debug("process feature");
        Object featureObj = it.next();
        Geometry geometry = layer.getFeatureModel().getGeometry(featureObj);
        InternalFeature feature = convertFeature(featureObj, geometry, layer, transformation,
            styleFilters, style.getLabelStyle(), featureIncludes);
        if (null != feature) {
          count++;
          if (count > offset) {
            features.add(feature);

            if (null != geometry) {
              Envelope envelope = geometry.getEnvelopeInternal();
              if (null == bounds) {
                bounds = new Envelope();
              }
              bounds.expandToInclude(envelope);
            }

            if (features.size() == maxResultSize) {
              break;
            }
          }
        } else {
          if (log.isDebugEnabled()) {
            log.debug("feature not visible {}", layer.getFeatureModel().getId(featureObj));
          }
        }
      }
      response.setBounds(bounds);
    }
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  }

  public void execute(PipelineContext context, GetTileContainer response) throws GeomajasException {
    InternalTile tile = response.getTile();
    if (null == tile.getFeatureContent()) {
      VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);
      TileMetadata metadata = context.get(PipelineCode.TILE_METADATA_KEY, TileMetadata.class);

      tile.setContentType(VectorTile.VectorTileContentType.STRING_CONTENT);
      Coordinate panOrigin = new Coordinate(metadata.getPanOrigin().getX(), metadata.getPanOrigin().getY());
      TilePainter tilePainter = new StringContentTilePainter(layer, metadata.getStyleInfo(), metadata
View Full Code Here

Examples of org.geomajas.layer.VectorLayer

  public void setId(String id) {
    this.id = id;
  }

  public void execute(PipelineContext context, GetTileContainer tileContainer) throws GeomajasException {
    VectorLayer layer = context.get(PipelineCode.LAYER_KEY, VectorLayer.class);
    TileMetadata tileMetadata = context.get(PipelineCode.TILE_METADATA_KEY, TileMetadata.class);
    // put the image in a raster container
    RasterizingContainer rasterizingContainer = new RasterizingContainer();
    NamedStyleInfo style = tileMetadata.getStyleInfo();
    if (style == null) {
      // no style specified, take the first
      style = layer.getLayerInfo().getNamedStyleInfos().get(0);
    } else if (style.getFeatureStyles().isEmpty()) {
      // only name specified, find it
      style = layer.getLayerInfo().getNamedStyleInfo(style.getName());
    }
    ClientMapInfo mapInfo = new ClientMapInfo();
    MapRasterizingInfo mapRasterizingInfo = new MapRasterizingInfo();
    mapRasterizingInfo.setBounds(converterService.toDto(tileContainer.getTile().getBounds()));
    mapInfo.setCrs(tileMetadata.getCrs());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.