Package org.openstreetmap.osmosis.core

Source Code of org.openstreetmap.osmosis.core.CorePluginLoader

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

import java.util.HashMap;
import java.util.Map;

import org.openstreetmap.osmosis.core.bound.v0_6.BoundComputerFactory;
import org.openstreetmap.osmosis.core.bound.v0_6.BoundSetterFactory;
import org.openstreetmap.osmosis.core.buffer.v0_6.ChangeBufferFactory;
import org.openstreetmap.osmosis.core.buffer.v0_6.EntityBufferFactory;
import org.openstreetmap.osmosis.core.misc.v0_6.EmptyChangeReaderFactory;
import org.openstreetmap.osmosis.core.misc.v0_6.EmptyReaderFactory;
import org.openstreetmap.osmosis.core.misc.v0_6.NullChangeWriterFactory;
import org.openstreetmap.osmosis.core.misc.v0_6.NullWriterFactory;
import org.openstreetmap.osmosis.core.pipeline.common.TaskManagerFactory;
import org.openstreetmap.osmosis.core.plugin.PluginLoader;
import org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLoggerFactory;
import org.openstreetmap.osmosis.core.progress.v0_6.EntityProgressLoggerFactory;
import org.openstreetmap.osmosis.core.report.v0_6.EntityReporterFactory;
import org.openstreetmap.osmosis.core.report.v0_6.IntegrityReporterFactory;
import org.openstreetmap.osmosis.core.sort.v0_6.ChangeForSeekableApplierComparator;
import org.openstreetmap.osmosis.core.sort.v0_6.ChangeForStreamableApplierComparator;
import org.openstreetmap.osmosis.core.sort.v0_6.ChangeSorterFactory;
import org.openstreetmap.osmosis.core.sort.v0_6.ChangeTagSorterFactory;
import org.openstreetmap.osmosis.core.sort.v0_6.EntityByTypeThenIdComparator;
import org.openstreetmap.osmosis.core.sort.v0_6.EntityContainerComparator;
import org.openstreetmap.osmosis.core.sort.v0_6.EntitySorterFactory;
import org.openstreetmap.osmosis.core.sort.v0_6.TagSorterFactory;
import org.openstreetmap.osmosis.core.tee.v0_6.ChangeTeeFactory;
import org.openstreetmap.osmosis.core.tee.v0_6.EntityTeeFactory;


/**
* The plugin loader for the core tasks.
*
* @author Brett Henderson
*/
public class CorePluginLoader implements PluginLoader {

  /**
   * {@inheritDoc}
   */
  @Override
  public Map<String, TaskManagerFactory> loadTaskFactories() {
    Map<String, TaskManagerFactory> factoryMap;
    EntitySorterFactory entitySorterFactory06;
    ChangeSorterFactory changeSorterFactory06;

    factoryMap = new HashMap<String, TaskManagerFactory>();

    // Configure factories that require additional information.
    entitySorterFactory06 = new EntitySorterFactory();
    entitySorterFactory06.registerComparator("TypeThenId", new EntityContainerComparator(
        new EntityByTypeThenIdComparator()), true);
    changeSorterFactory06 = new ChangeSorterFactory();
    changeSorterFactory06.registerComparator("streamable", new ChangeForStreamableApplierComparator(), true);
    changeSorterFactory06.registerComparator("seekable", new ChangeForSeekableApplierComparator(), false);

    // Register factories.
    factoryMap.put("sort", entitySorterFactory06);
    factoryMap.put("s", entitySorterFactory06);
    factoryMap.put("sort-change", changeSorterFactory06);
    factoryMap.put("sc", changeSorterFactory06);
    factoryMap.put("write-null", new NullWriterFactory());
    factoryMap.put("wn", new NullWriterFactory());
    factoryMap.put("write-null-change", new NullChangeWriterFactory());
    factoryMap.put("wnc", new NullChangeWriterFactory());
    factoryMap.put("buffer", new EntityBufferFactory());
    factoryMap.put("b", new EntityBufferFactory());
    factoryMap.put("buffer-change", new ChangeBufferFactory());
    factoryMap.put("bc", new ChangeBufferFactory());
    factoryMap.put("report-entity", new EntityReporterFactory());
    factoryMap.put("re", new EntityReporterFactory());
    factoryMap.put("report-integrity", new IntegrityReporterFactory());
    factoryMap.put("ri", new IntegrityReporterFactory());
    factoryMap.put("log-progress", new EntityProgressLoggerFactory());
    factoryMap.put("lp", new EntityProgressLoggerFactory());
    factoryMap.put("log-progress-change", new ChangeProgressLoggerFactory());
    factoryMap.put("lpc", new ChangeProgressLoggerFactory());
    factoryMap.put("tee", new EntityTeeFactory());
    factoryMap.put("t", new EntityTeeFactory());
    factoryMap.put("tee-change", new ChangeTeeFactory());
    factoryMap.put("tc", new ChangeTeeFactory());
    factoryMap.put("read-empty", new EmptyReaderFactory());
    factoryMap.put("rem", new EmptyReaderFactory());
    factoryMap.put("read-empty-change", new EmptyChangeReaderFactory());
    factoryMap.put("remc", new EmptyChangeReaderFactory());

    factoryMap.put("compute-bounding-box", new BoundComputerFactory());
    factoryMap.put("cbb", new BoundComputerFactory());
    factoryMap.put("set-bounding-box", new BoundSetterFactory());
    factoryMap.put("sbb", new BoundSetterFactory());

    factoryMap.put("sort-0.6", entitySorterFactory06);
    factoryMap.put("sort-change-0.6", changeSorterFactory06);
    factoryMap.put("write-null-0.6", new NullWriterFactory());
    factoryMap.put("write-null-change-0.6", new NullChangeWriterFactory());
    factoryMap.put("buffer-0.6", new EntityBufferFactory());
    factoryMap.put("buffer-change-0.6", new ChangeBufferFactory());
    factoryMap.put("report-entity-0.6", new EntityReporterFactory());
    factoryMap.put("report-integrity-0.6", new IntegrityReporterFactory());
    factoryMap.put("log-progress-0.6", new EntityProgressLoggerFactory());
    factoryMap.put("log-progress-change-0.6", new ChangeProgressLoggerFactory());
    factoryMap.put("tee-0.6", new EntityTeeFactory());
    factoryMap.put("tee-change-0.6", new ChangeTeeFactory());
    factoryMap.put("read-empty-0.6", new EmptyReaderFactory());
    factoryMap.put("read-empty-change-0.6", new EmptyChangeReaderFactory());
    factoryMap.put("tag-sort-0.6", new TagSorterFactory());
    factoryMap.put("tag-sort-change-0.6", new ChangeTagSorterFactory());

    factoryMap.put("compute-bounding-box-0.6", new BoundComputerFactory());
    factoryMap.put("set-bounding-box-0.6", new BoundSetterFactory());
   
    return factoryMap;
  }
}
TOP

Related Classes of org.openstreetmap.osmosis.core.CorePluginLoader

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.