Package org.openstreetmap.osmosis.core.domain.v0_6

Examples of org.openstreetmap.osmosis.core.domain.v0_6.Entity


   * {@inheritDoc}
   */
  @Override
  public List<ChangeContainer> next() {
    List<ChangeContainer> changeList;
    Entity peekEntity;
    long currentId;
    EntityType currentEntityType;
   
    // Get the next change from the underlying stream.
    peekEntity = sourceIterator.peekNext().getEntityContainer().getEntity();
    currentId = peekEntity.getId();
    currentEntityType = peekEntity.getType();
   
    // Loop until all history values for the current element are exhausted.
    changeList = new ArrayList<ChangeContainer>();
    while (sourceIterator.hasNext()) {
      ChangeContainer tmpChangeContainer = sourceIterator.peekNext();
View Full Code Here


 
  /**
   * {@inheritDoc}
   */
  public void process(EntityContainer entityContainer) {
    Entity entity;
   
    entity = entityContainer.getEntity();
   
    if (progressTracker.updateRequired()) {
      LOG.info(
          prefix
          + "Processing " + entity.getType() + " " + entity.getId() + ", "
          + progressTracker.getObjectsPerSecond() + " objects/second.");
    }
   
    sink.process(entityContainer);
  }
View Full Code Here

  /**
   * {@inheritDoc}
   */
  public void process(EntityContainer entityContainer) {
    EntityContainer writeableContainer;
    Entity entity;
    Collection<Tag> sortedTags;
   
    writeableContainer = entityContainer.getWriteableInstance();
   
    entity = writeableContainer.getEntity();
    sortedTags = sortTags(entity.getTags());
    entity.getTags().clear();
    entity.getTags().addAll(sortedTags);
   
    sink.process(writeableContainer);
  }
View Full Code Here

   *            The change to be analysed.
   * @return The sort weighting.
   */
  private int calculateSortWeight(ChangeContainer changeEntity) {
    ChangeAction action = changeEntity.getAction();
    Entity entity = changeEntity.getEntityContainer().getEntity();
   
    if (entity.getType().equals(EntityType.Bound)) {
      if (action.equals(ChangeAction.Create)) {
        return 1;
      }
      if (action.equals(ChangeAction.Modify)) {
        return 8;
      }
      if (action.equals(ChangeAction.Delete)) {
        return 12;
      }
    } else if (entity.getType().equals(EntityType.Node)) {
      if (action.equals(ChangeAction.Create)) {
        return 2;
      }
      if (action.equals(ChangeAction.Modify)) {
        return 7;
      }
      if (action.equals(ChangeAction.Delete)) {
        return 11;
      }
    } else if (entity.getType().equals(EntityType.Way)) {
      if (action.equals(ChangeAction.Create)) {
        return 3;
      }
      if (action.equals(ChangeAction.Modify)) {
        return 6;
      }
      if (action.equals(ChangeAction.Delete)) {
        return 10;
      }
    } else if (entity.getType().equals(EntityType.Relation)) {
      if (action.equals(ChangeAction.Create)) {
        return 4;
      }
      if (action.equals(ChangeAction.Modify)) {
        return 5;
      }
      if (action.equals(ChangeAction.Delete)) {
        return 9;
      }
    }
   
    throw new OsmosisRuntimeException(
      "The change entity with action " + action
      + " type " + entity.getType()
      + " and id " + entity.getId()
      + " was not recognised."
    );
  }
View Full Code Here

   * {@inheritDoc}
   */
  @Override
  public void process(EntityContainer entityContainer) {
    EntityContainer writeableContainer;
    Entity entity;
   
    writeableContainer = entityContainer.getWriteableInstance();
    entity = writeableContainer.getEntity();
   
    for (Iterator<Tag> i = entity.getTags().iterator(); i.hasNext();) {
      Tag tag;
     
      tag = i.next();
     
      if (keysToDrop.contains(tag.getKey())) {
View Full Code Here

 
  /**
   * {@inheritDoc}
   */
  public void process(ChangeContainer changeContainer) {
    Entity entity;
    ChangeAction action;
   
    entity = changeContainer.getEntityContainer().getEntity();
    action = changeContainer.getAction();
   
    if (progressTracker.updateRequired()) {
      LOG.info(
          prefix
          + "Processing " + entity.getType() + " " + entity.getId() + " with action " + action + ", "
          + progressTracker.getObjectsPerSecond() + " objects/second.");
    }
   
    changeSink.process(changeContainer);
  }
View Full Code Here

   */
  protected EntityContainer processEntityContainer(EntityContainer entityContainer) {
    // Entities may have been made read-only at some point in the pipeline.
    // We want a writeable instance so that we can update the tags.
    EntityContainer writeableEntityContainer = entityContainer.getWriteableInstance();
    Entity entity = entityContainer.getEntity();
    Collection<Tag> entityTags = entity.getTags();
    EntityType entityType = entity.getType();

    // Store the tags in a map keyed by tag key.
    Map<String, String> tagMap = new HashMap<String, String>();
    for (Tag tag : entity.getTags()) {
      tagMap.put(tag.getKey(), tag.getValue());
    }

    // Apply tag transformations.
    for (Translation translation : translations) {
      Collection<Match> matches = translation.match(tagMap, TTEntityType.fromEntityType06(entityType), entity
          .getUser().getName(), entity.getUser().getId());
      if (matches == null || matches.isEmpty()) {
        continue;
      }
      if (translation.isDropOnMatch()) {
        return null;
View Full Code Here

    Assert.assertEquals(3, changes.size());
    for (ChangeContainer changeContainer : changes) {
      Assert.assertEquals(ChangeAction.Delete, changeContainer.getAction());
    }
   
    Entity e;
    e = changes.get(0).getEntityContainer().getEntity();
    Assert.assertEquals(EntityType.Node, e.getType());
    Assert.assertEquals(10, e.getId());
    Assert.assertEquals(34, e.getVersion());
   
    e = changes.get(1).getEntityContainer().getEntity();
    Assert.assertEquals(EntityType.Way, e.getType());
    Assert.assertEquals(100, e.getId());
    Assert.assertEquals(56, e.getVersion());

    e = changes.get(2).getEntityContainer().getEntity();
    Assert.assertEquals(EntityType.Relation, e.getType());
    Assert.assertEquals(1000, e.getId());
    Assert.assertEquals(78, e.getVersion());
  }
View Full Code Here

    /**
     * {@inheritDoc}
     */
    public void process(EntityContainer entityContainer) {
      Entity entity;
     
        initialize();

        entity = entityContainer.getEntity();
        userManager.addOrUpdateUser(entityContainer.getEntity().getUser());
        changesetManager.addChangesetIfRequired(entity.getChangesetId(), entity.getUser());

        entityContainer.process(this);
    }
View Full Code Here

   * {@inheritDoc}
   */
  public void process(ChangeContainer changeContainer) {
    EntityContainer readOnlyContainer;
    EntityContainer writeableContainer;
    Entity entity;
    Collection<Tag> sortedTags;
   
    readOnlyContainer = changeContainer.getEntityContainer();
    writeableContainer = readOnlyContainer.getWriteableInstance();
   
    entity = writeableContainer.getEntity();
    sortedTags = sortTags(entity.getTags());
    entity.getTags().clear();
    entity.getTags().addAll(sortedTags);
   
    changeSink.process(new ChangeContainer(writeableContainer, changeContainer.getAction()));
  }
View Full Code Here

TOP

Related Classes of org.openstreetmap.osmosis.core.domain.v0_6.Entity

Copyright © 2018 www.massapicom. 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.