Package org.openstreetmap.osmosis.core.lifecycle

Examples of org.openstreetmap.osmosis.core.lifecycle.ReleasableContainer


   *            The entity source.
   * @param featurePopulators
   *            Populators to add entity specific features to the generated entities.
   */
  public EntityReader(ReleasableIterator<T> entityIterator, List<FeaturePopulator<T>> featurePopulators) {
    releasableContainer = new ReleasableContainer();
   
    this.entityIterator = releasableContainer.add(entityIterator);
    for (FeaturePopulator<T> featurePopulator : featurePopulators) {
      releasableContainer.add(featurePopulator);
    }
View Full Code Here


    this.loginCredentials = loginCredentials;
    this.preferences = preferences;
   
    polygonBuilder = new PolygonBuilder();
   
    releasableContainer = new ReleasableContainer();
   
    initialized = false;
  }
View Full Code Here

   * @param predicates
   *            Contains the predicates defining the transactions to be queried.
   * @return An iterator pointing at the identified records.
   */
  public ReleasableIterator<ChangeContainer> getHistory(ReplicationQueryPredicates predicates) {
    ReleasableContainer releasableContainer;
   
    releasableContainer = new ReleasableContainer();
    try {
      List<ReleasableIterator<ChangeContainer>> sources;
      MultipleSourceIterator<ChangeContainer> resultIterator;
     
      sources = new ArrayList<ReleasableIterator<ChangeContainer>>();
      sources.add(releasableContainer.add(nodeDao.getHistory(predicates)));
      sources.add(releasableContainer.add(wayDao.getHistory(predicates)));
      sources.add(releasableContainer.add(relationDao.getHistory(predicates)));
     
      resultIterator = new MultipleSourceIterator<ChangeContainer>(sources);
     
      releasableContainer.clear();
     
      return resultIterator;
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

   * @param intervalEnd
   *            Marks the end (exclusive) of the time interval to be checked.
   * @return An iterator pointing at the identified records.
   */
  public ReleasableIterator<ChangeContainer> getHistory(Date intervalBegin, Date intervalEnd) {
    ReleasableContainer releasableContainer;
   
    releasableContainer = new ReleasableContainer();
    try {
      List<ReleasableIterator<ChangeContainer>> sources;
      MultipleSourceIterator<ChangeContainer> resultIterator;
     
      sources = new ArrayList<ReleasableIterator<ChangeContainer>>();
      sources.add(releasableContainer.add(nodeDao.getHistory(intervalBegin, intervalEnd)));
      sources.add(releasableContainer.add(wayDao.getHistory(intervalBegin, intervalEnd)));
      sources.add(releasableContainer.add(relationDao.getHistory(intervalBegin, intervalEnd)));
     
      resultIterator = new MultipleSourceIterator<ChangeContainer>(sources);
     
      releasableContainer.clear();
     
      return resultIterator;
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

   * Retrieves all changes in the database.
   *
   * @return An iterator pointing at the identified records.
   */
  public ReleasableIterator<ChangeContainer> getHistory() {
    ReleasableContainer releasableContainer;
   
    releasableContainer = new ReleasableContainer();
    try {
      List<ReleasableIterator<ChangeContainer>> sources;
      MultipleSourceIterator<ChangeContainer> resultIterator;
     
      sources = new ArrayList<ReleasableIterator<ChangeContainer>>();
      sources.add(releasableContainer.add(nodeDao.getHistory()));
      sources.add(releasableContainer.add(wayDao.getHistory()));
      sources.add(releasableContainer.add(relationDao.getHistory()));
     
      resultIterator = new MultipleSourceIterator<ChangeContainer>(sources);
     
      releasableContainer.clear();
     
      return resultIterator;
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

   * Retrieves all current data in the database.
   *
   * @return An iterator pointing at the current records.
   */
  public ReleasableIterator<EntityContainer> getCurrent() {
    ReleasableContainer releasableContainer;
   
    releasableContainer = new ReleasableContainer();
    try {
      List<ReleasableIterator<EntityContainer>> sources;
      MultipleSourceIterator<EntityContainer> resultIterator;
     
      sources = new ArrayList<ReleasableIterator<EntityContainer>>();
      sources.add(releasableContainer.add(nodeDao.getCurrent()));
      sources.add(releasableContainer.add(wayDao.getCurrent()));
      sources.add(releasableContainer.add(relationDao.getCurrent()));
     
      resultIterator = new MultipleSourceIterator<EntityContainer>(sources);
     
      releasableContainer.clear();
     
      return resultIterator;
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

  }
 
 
  private ReleasableIterator<EntityHistory<T>> getEntityHistory(
      String selectedEntityStatement, MapSqlParameterSource parameterSource) {
    ReleasableContainer releasableContainer;
   
    releasableContainer = new ReleasableContainer();
    try {
      ReleasableIterator<EntityHistory<T>> entityIterator;
      ReleasableIterator<DbFeatureHistory<DbFeature<Tag>>> tagIterator;
      List<FeatureHistoryPopulator<T, ?, ?>> featurePopulators;
      EntityHistoryReader<T> entityHistoryReader;
     
      entityIterator = releasableContainer.add(
          getFeaturelessEntityHistory(selectedEntityStatement, parameterSource));
      tagIterator = releasableContainer.add(
          getTagHistory(selectedEntityStatement, parameterSource));
     
      featurePopulators = getFeatureHistoryPopulators(selectedEntityStatement, parameterSource);
      for (FeatureHistoryPopulator<T, ?, ?> featurePopulator : featurePopulators) {
        releasableContainer.add(featurePopulator);
      }
     
      entityHistoryReader = new EntityHistoryReader<T>(entityIterator, tagIterator, featurePopulators);
     
      // The sources are now all attached to the history reader so we don't want to release
      // them in the finally block.
      releasableContainer.clear();
     
      return entityHistoryReader;
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

     * @param dbCtx The database context to use for all database access.
     */
    public ChangesetManager(DatabaseContext dbCtx) {
        this.dbCtx = dbCtx;

        releasableContainer = new ReleasableContainer();
        statementContainer = new ReleasableStatementContainer();

        releasableContainer.add(statementContainer);
       
        knownChangesetIds = new LinkedHashSet<Long>(32768);
View Full Code Here

   * be released prior to this index.
   *
   * @return An index reader.
   */
  public WayTileAreaIndexReader createReader() {
    ReleasableContainer releasableContainer = new ReleasableContainer();
   
    try {
      List<IndexStoreReader<Integer, IntegerLongIndexElement>> indexReaders;
     
      indexReaders = new ArrayList<IndexStoreReader<Integer, IntegerLongIndexElement>>(MASKS.length);
      for (IndexStore<Integer, IntegerLongIndexElement> index : indexes) {
        indexReaders.add(releasableContainer.add(index.createReader()));
      }
     
      releasableContainer.clear();
     
      return new WayTileAreaIndexReader(MASKS, indexReaders);
     
    } finally {
      releasableContainer.release();
    }
  }
View Full Code Here

   */
  public RelationStorageContainer(RandomAccessObjectStoreReader<Relation> relationObjectReader,
      IndexStoreReader<Long, LongLongIndexElement> relationObjectOffsetIndexReader,
      IndexStoreReader<Long, LongLongIndexElement> relationRelationIndexReader) {
   
    releasableContainer = new ReleasableContainer();
   
    this.relationObjectReader = releasableContainer.add(relationObjectReader);
    this.relationObjectOffsetIndexReader = releasableContainer.add(relationObjectOffsetIndexReader);
    this.relationRelationIndexReader = releasableContainer.add(relationRelationIndexReader);
  }
View Full Code Here

TOP

Related Classes of org.openstreetmap.osmosis.core.lifecycle.ReleasableContainer

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.