// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6; import java.util.Date; import org.openstreetmap.osmosis.core.database.DatabaseLoginCredentials; import org.openstreetmap.osmosis.core.database.DatabasePreferences; import org.openstreetmap.osmosis.core.database.DatabaseTaskManagerFactory; import org.openstreetmap.osmosis.core.pipeline.common.TaskConfiguration; import org.openstreetmap.osmosis.core.pipeline.common.TaskManager; import org.openstreetmap.osmosis.core.pipeline.v0_6.RunnableSourceManager; /** * The task manager factory for a database reader. * * @author Brett Henderson */ public class ApidbReaderFactory extends DatabaseTaskManagerFactory { private static final String ARG_SNAPSHOT_INSTANT = "snapshotInstant"; /** * {@inheritDoc} */ @Override protected TaskManager createTaskManagerImpl(TaskConfiguration taskConfig) { DatabaseLoginCredentials loginCredentials; DatabasePreferences preferences; Date snapshotInstant; // Get the task arguments. loginCredentials = getDatabaseLoginCredentials(taskConfig); preferences = getDatabasePreferences(taskConfig); snapshotInstant = getDateArgument(taskConfig, ARG_SNAPSHOT_INSTANT, new Date()); return new RunnableSourceManager( taskConfig.getId(), new ApidbReader(loginCredentials, preferences, snapshotInstant), taskConfig.getPipeArgs() ); } }