package dk.statsbiblioteket.medieplatform.autonomous;
public class ConfigConstants {
//Doms
/** The username for the doms fedora instance */
public static final String DOMS_USERNAME = "doms.username";
/** The password for the doms fedora instance */
public static final String DOMS_PASSWORD = "doms.password";
/** The url to the doms fedora instance */
public static final String DOMS_URL = "doms.url";
/** The url to the pidgenerator webservice. Only needed for components that creates new doms objects */
public static final String DOMS_PIDGENERATOR_URL = "doms.pidgenerator.url";
/** The Doms collection object which all new objects will belong to */
public static final String DOMS_COLLECTION = "doms.collection.pid";
//MFPak
/** The mfpak postgres connect url, not including username and password */
public static final String MFPAK_URL = "mfpak.postgres.url";
/** The mfpak postgres username */
public static final String MFPAK_USER = "mfpak.postgres.user";
/** The mfpak postgres passworkd */
public static final String MFPAK_PASSWORD = "mfpak.postgres.password";
/**
* A boolean value representing if we are at ninestars (and thus do not have access to hadoop or doms or anything)
* or we are inhouse
*/
public static final String AT_NINESTARS = "ninestars";
/** The path to the jpylyzer executable */
public static final String JPYLYZER_PATH = "ninestars.jpylyzer.executable";
/** The path to the scape control policies RDF document */
public static final String SCAPE_CONTROL_POLICIES_PATH = "scape.control.policies.path";
//Batch iterator
/** Boolean value determining if we will iterate on the batch on the filesystem or in the doms. */
public static final String ITERATOR_USE_FILESYSTEM = "iterator.useFileSystem";
/**
* When iterating the batch on the filesystem, this is the root folder where the batch should be found
* i.e. the parent of the B4000..-RT1 folder
*/
public static final String ITERATOR_FILESYSTEM_BATCHES_FOLDER = "iterator.filesystem.batches.folder";
/**
* The pattern used to determine if the current file/folder represents a datafile.
* <p>
* A datafile will go in BitMagasinet (with a DOMS object to represent it). A non-datafile will go in DOMS directly.
*/
public static final String ITERATOR_DATAFILEPATTERN = "iterator.datafilePattern";
/** The character that separates the prefix and the postfix in a filename. Normally '.' */
public static final String ITERATOR_FILESYSTEM_GROUPINGCHAR = "iterator.filesystem.groupingChar";
/** The postfix to add to a file to get the checksum file */
public static final String ITERATOR_FILESYSTEM_CHECKSUMPOSTFIX = "iterator.filesystem.checksumPostfix";
/** Files to ignore in the file system, separated by comma */
public static final String ITERATOR_FILESYSTEM_IGNOREDFILES = "iterator.filesystem.ignoredFiles";
/** The names of datastreams that should be made into attributes in the iterator */
public static final String ITERATOR_DOMS_ATTRIBUTENAMES = "iterator.doms.attributenames";
/** The names of relations that denote a children in the iterator */
public static final String ITERATOR_DOMS_PREDICATENAMES = "iterator.doms.predicatenames";
//Autonomous component framework
/** The url for the lockserver for the autonomous system */
public static final String AUTONOMOUS_LOCKSERVER_URL = "autonomous.lockserver.url";
/** The url for the sboi summa instance */
public static final String AUTONOMOUS_SBOI_URL = "autonomous.sboi.url";
/** Events that a batch must have experienced successfully to qualify for this component to work on it */
public static final String AUTONOMOUS_PAST_SUCCESSFUL_EVENTS = "autonomous.pastSuccessfulEvents";
/**
* Events that an item must have experienced, but which came before the last update to the item
*/
public static final java.lang.String AUTONOMOUS_OLD_EVENTS = "autonomous.oldEvents";
/**
* Types of Items.
*/
public static final java.lang.String AUTONOMOUS_ITEM_TYPES = "autonomous.itemTypes";
/**
* The number of results to retrieve from SBOI for each search. Default 100
*/
public static final java.lang.String SBOI_PAGESIZE = "autonomous.sboi.pageSize";
/**
* * Events that a batch must NOT have experienced successfully or otherwise, to qualify for this component to work
* on it
*/
public static final String AUTONOMOUS_FUTURE_EVENTS = "autonomous.futureEvents";
/** The number of batches a component can work on concurrently */
public static final String AUTONOMOUS_MAXTHREADS = "autonomous.maxThreads";
/** The number of items a component should lock in it's work queue. Default 1*/
public static final java.lang.String AUTONOMOUS_QUEUELENGTH = "autonomous.workQueueSize";
/** The max time a component can work on a batch before being forcibly stopped */
public static final String AUTONOMOUS_MAX_RUNTIME = "autonomous.maxRuntimeForWorkers";
/**
* The folder where the batch structure is stored, when the system does not have access to DOMS (because we are at
* ninestars)
*/
public static final String AUTONOMOUS_BATCH_STRUCTURE_STORAGE_DIR = "autonomous.batch.structure.folder";
//-----------HADOOP OPTIONS ------------//
/** Used to set the batch ID to the hadoop job. Never to be used in a normal config file */
public static final String BATCH_ID = "batchID";
/**
* The folder (in hdfs) where the hadoop job can put its input and output files. It will create batch specific
* folder names below this path
*/
public static final String JOB_FOLDER = "job.folder";
/**
* Path to the (nfs) folder where the data files can be read. Must end with /. Used as a prefix before all the
* filenames
*/
public static final String PREFIX = "file.storage.path";
/** The username to use when communicating with the hadoop instance */
public static final String HADOOP_USER = "hadoop.user";
/**
* The number of data files to handle in each map task. You will want map tasks whose execution time is measured
* in minutes, not seconds, otherwise the ratio of overhead to work will be to great. Tweak this value to achieve
* this.
*/
public static final String FILES_PER_MAP_TASK = "hadoop.files.per.map.tasks";
/** This property specifies where the dissemination files should be written to. */
public static final String DISSEMINATION_FOLDER = "dissemination.files.folder";
/**
* The number of threads to concurrently start in components that support parallel execution.
*/
public static final String THREADS_PER_BATCH = "autonomous.component.threadsPerBatch";
/**
* The maximum number of results collected/reported by the component.
*/
public static final String MAX_RESULTS_COLLECTED = "autonomous.component.maxResults";
/**
* The number of times a component should retry operations on fedora, where supported.
*/
public static final String FEDORA_RETRIES = "autonomous.component.fedoraRetries";
/**
* The time in milliseconds between retry operations on fedora, where supported (with exponential backoff).
*/
public static final java.lang.String FEDORA_DELAY_BETWEEN_RETRIES = "autonomous.component.fedoraDelayBetweenRetries";
}