blob: dbfcf6c246433e87feb9ae8e3052f2f0e64b5a74 [file] [log] [blame]
/*********************************************************************************************************************
* Copyright (c) 2008, 2013 Empolis Information Management GmbH and brox IT Solutions GmbH. All rights reserved.
* This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
*********************************************************************************************************************/
package org.eclipse.smila.importing.crawler.feed;
import org.eclipse.smila.datamodel.Any;
import org.eclipse.smila.datamodel.AnyMap;
import org.eclipse.smila.importing.util.CrawlingContext;
import org.eclipse.smila.taskworker.TaskContext;
public class FeedCrawlingContext extends CrawlingContext {
private final long _maxRecordsPerBulk;
private final Any _feedUrls;
private final Any _deltaProperties;
/** creates a crawling context from the taskContext. */
public FeedCrawlingContext(final TaskContext taskContext) {
super(taskContext, false);
final AnyMap taskParameters = taskContext.getTaskParameters();
_maxRecordsPerBulk =
getNonNegativeParameter(taskParameters, FeedCrawlerWorker.TASK_PARAM_MAX_RECORDS_PER_BULK,
FeedCrawlerWorker.MAX_RECORDS_PER_BULK_DEFAULT);
if (_maxRecordsPerBulk == 0) {
throw new IllegalArgumentException("Task parameter " + FeedCrawlerWorker.TASK_PARAM_MAX_RECORDS_PER_BULK
+ " must be greater than 0");
}
_feedUrls = taskParameters.get(FeedCrawlerWorker.TASK_PARAM_FEED_URL);
if (_feedUrls == null || _feedUrls.isEmpty()) {
throw new IllegalArgumentException("Parameter '" + FeedCrawlerWorker.TASK_PARAM_FEED_URL + "' of task "
+ taskContext.getTask().getTaskId() + " is null or empty");
}
_deltaProperties = taskParameters.get(FeedCrawlerWorker.TASK_PARAM_DELTA_PROPERTIES);
}
public long getMaxRecordsPerBulk() {
return _maxRecordsPerBulk;
}
public Any getFeedUrls() {
return _feedUrls;
}
public Any getDeltaProperties() {
return _deltaProperties;
}
}