package eu.europeana.cloud.client.uis.rest.console.commands;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.naming.directory.InvalidAttributesException;
import org.apache.commons.io.FileUtils;
import eu.europeana.cloud.client.uis.rest.CloudException;
import eu.europeana.cloud.client.uis.rest.UISClient;
import eu.europeana.cloud.common.model.CloudId;
import eu.europeana.cloud.common.model.DataProviderProperties;
/**
* Generate Batch Identifiers according to a file
*
* @author Yorgos.Mamakis@ kb.nl
* @since Dec 17, 2013
*/
public class CreateCloudIdBatchCommand extends Command {
@Override
public void execute(UISClient client, int threadNo, String... input) throws InvalidAttributesException {
try {
List<String> ids = FileUtils.readLines(new File(input[0]));
List<String> created = new ArrayList<>();
client.createProvider(ids.get(0).split(" ")[0], new DataProviderProperties());
for (String id : ids){
String[] info = id.split(" ");
CloudId cId = client.createCloudId(info[0], info[1]);
created.add(String.format("%s %s %s", cId.getId(),info[0],info[1]));
}
FileUtils.writeLines(new File("batch_no_generation"), created);
} catch (IOException | CloudException e) {
getLogger().error(e.getMessage());
}
}
}