/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.broadcast.batch.plugin; import net.codjo.broadcast.common.message.BroadcastRequest; import net.codjo.plugin.batch.BatchCore; import net.codjo.plugin.common.CommandLineArguments; import net.codjo.workflow.common.batch.AbstractWorkflowBatchPlugin; import net.codjo.workflow.common.message.JobRequestWrapper; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public final class BroadcastBatchPlugin extends AbstractWorkflowBatchPlugin { private static final Set<String> REQUIRED_PARAMS = new HashSet<String>(); static { Collections.addAll(REQUIRED_PARAMS, BatchCore.BATCH_DATE, BatchCore.BATCH_ARGUMENT); } @Override public String getType() { return "broadcast"; } @Override protected JobRequestWrapper createRequest(CommandLineArguments arguments) { BroadcastRequest request = new BroadcastRequest(); request.setBroadcastDate(arguments.getDateArgument(BatchCore.BATCH_DATE)); request.setDestinationFile(arguments.getFileArgument(BatchCore.BATCH_ARGUMENT)); Iterator<String> it = arguments.getAllArguments(); while (it.hasNext()) { String argName = it.next(); if (!REQUIRED_PARAMS.contains(argName)) { request.getArguments().put(argName, arguments.getArgument(argName)); } } return request; } }