Package org.openstreetmap.osmosis.replication.v0_6.impl

Source Code of org.openstreetmap.osmosis.replication.v0_6.impl.IntervalDownloaderConfiguration

// This software is released into the Public Domain.  See copying.txt for details.
package org.openstreetmap.osmosis.replication.v0_6.impl;

import java.io.File;
import java.util.Properties;

import org.openstreetmap.osmosis.core.util.PropertiesPersister;


/**
* Loads and exposes the extraction configuration properties.
*
* @author Brett Henderson
*/
public class IntervalDownloaderConfiguration {
  private static final String KEY_BASE_URL = "baseUrl";
  private static final String KEY_CHANGE_FILE_BEGIN_FORMAT = "changeFileBeginFormat";
  private static final String KEY_CHANGE_FILE_END_FORMAT = "changeFileEndFormat";
  private static final String KEY_INTERVAL_LENGTH = "intervalLength";
  private static final String KEY_MAX_DOWNLOAD_COUNT = "maxDownloadCount";
 
 
  private Properties properties;
 
 
  /**
   * Creates a new instance.
   *
   * @param configFile
   *            The configuration file to read from.
   */
  public IntervalDownloaderConfiguration(File configFile) {
    properties = new PropertiesPersister(configFile).load();
  }
 
 
  /**
   * Returns the URL that change files should be downloaded from.
   *
   * @return The download URL.
   */
  public String getBaseUrl() {
    String baseUrl;
   
    baseUrl = properties.getProperty(KEY_BASE_URL);
   
    if (!baseUrl.substring(baseUrl.length() - 1).equals("/")) {
      baseUrl += "/";
    }
   
    return baseUrl;
  }
 
 
  /**
   * Returns the begin time portion of the changeset filename.
   *
   * @return The format.
   */
  public String getChangeFileBeginFormat() {
    return properties.getProperty(KEY_CHANGE_FILE_BEGIN_FORMAT);
  }
 
 
  /**
   * Returns the end time portion of the changeset filename.
   *
   * @return The format.
   */
  public String getChangeFileEndFormat() {
    return properties.getProperty(KEY_CHANGE_FILE_END_FORMAT);
  }
 
 
  /**
   * Returns the duration of each changeset interval.
   *
   * @return The interval length in milliseconds.
   */
  public int getIntervalLength() {
    return Integer.parseInt(properties.getProperty(KEY_INTERVAL_LENGTH)) * 1000;
  }
 
 
  /**
   * Returns the maximum number of files to download in a single invocation.
   *
   * @return The maximum download count.
   */
  public int getMaxDownloadCount() {
    return Integer.parseInt(properties.getProperty(KEY_MAX_DOWNLOAD_COUNT));
  }
}
TOP

Related Classes of org.openstreetmap.osmosis.replication.v0_6.impl.IntervalDownloaderConfiguration

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.