blob: c70676f2a57325e906a6d8a0ad774e0fbf01f3b0 [file] [log] [blame]
/*
* Copyright 2012 International Business Machines Corp.
*
* See the NOTICE file distributed with this work for additional information
* regarding copyright ownership. Licensed under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.batchee.container.impl.controller.chunk;
import org.apache.batchee.jaxb.Chunk;
public class ChunkHelper {
private ChunkHelper() {
// utility class private ct
}
public static int getItemCount(Chunk chunk) {
String chunkSizeStr = chunk.getItemCount();
int size = 10;
if (chunkSizeStr != null && !chunkSizeStr.isEmpty()) {
size = Integer.valueOf(chunk.getItemCount());
}
chunk.setItemCount(Integer.toString(size));
return size;
}
public static int getTimeLimit(Chunk chunk) {
String chunkTimeLimitStr = chunk.getTimeLimit();
int timeLimit = 0; //default time limit = 0 seconds ie no timelimit
if (chunkTimeLimitStr != null && !chunkTimeLimitStr.isEmpty()) {
timeLimit = Integer.valueOf(chunk.getTimeLimit());
}
chunk.setTimeLimit(Integer.toString(timeLimit));
return timeLimit;
}
public static boolean isCustomCheckpointPolicy(Chunk chunk) {
String checkpointPolicy = chunk.getCheckpointPolicy();
if (checkpointPolicy != null && !checkpointPolicy.isEmpty()) {
if (checkpointPolicy.equals("item")) {
return false;
} else if (checkpointPolicy.equals("custom")) {
return true;
} else {
throw new IllegalArgumentException("The only supported attributed values for 'checkpoint-policy' are 'item' and 'custom'.");
}
} else {
return false;
}
}
public static int getSkipLimit(Chunk chunk) {
return Integer.valueOf(chunk.getSkipLimit());
}
public static int getRetryLimit(Chunk chunk) {
return Integer.valueOf(chunk.getRetryLimit());
}
}