package org.jboss.test.capedwarf.cluster.test; import java.util.List; import java.util.Random; import com.google.appengine.api.datastore.Entity; import com.google.appengine.api.datastore.Text; import com.google.appengine.tools.mapreduce.DatastoreMutationPool; import com.google.appengine.tools.mapreduce.Mapper; /** * @author Matej Lazar */ public class MyEntityCreator extends Mapper<Long, Void, Void> { private static final long serialVersionUID = 1L; private final String kind; private final List<String> payloads; private final Random random = new Random(); private transient DatastoreMutationPool pool; public MyEntityCreator(String kind, List<String> payloads) { if (kind == null) throw new IllegalArgumentException("Null kind"); this.kind = kind; this.payloads = payloads; } @Override public void beginSlice() { pool = DatastoreMutationPool.create(); } @Override public void endSlice() { pool.flush(); } @Override public void map(Long index) { System.out.println("Executing M/R task."); String name = String.valueOf(random.nextLong() & Long.MAX_VALUE); Entity e = new Entity(kind, name); e.setProperty("payload", new Text(payloads.get((int)(index % payloads.size())))); pool.put(e); } }