package mil.nga.giat.geowave.analytic.mapreduce.kmeans; import java.io.IOException; import mil.nga.giat.geowave.analytic.AnalyticItemWrapper; import mil.nga.giat.geowave.analytic.AnalyticItemWrapperFactory; import org.apache.hadoop.mapreduce.JobContext; import org.slf4j.Logger; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; public class TestObjectItemWrapperFactory implements AnalyticItemWrapperFactory<TestObject> { @Override public AnalyticItemWrapper<TestObject> create( final TestObject item ) { return new TestObjectItemWrapper( item); } @Override public void initialize( final JobContext context, final Class<?> scope, final Logger logger ) throws IOException {} @Override public AnalyticItemWrapper<TestObject> createNextItem( final TestObject feature, final String groupID, final Coordinate coordinate, final String[] extraNames, final double[] extraValues ) { final TestObject obj = new TestObject(); obj.groupID = groupID; obj.geo = feature.geo.getFactory().createPoint( coordinate); obj.name = feature.name; return new TestObjectItemWrapper( obj); } static class TestObjectItemWrapper implements AnalyticItemWrapper<TestObject> { private final TestObject item; public TestObjectItemWrapper( final TestObject item ) { super(); this.item = item; } @Override public String getID() { return item.id; } @Override public String getGroupID() { return item.groupID; } @Override public TestObject getWrappedItem() { return item; } @Override public long getAssociationCount() { // TODO Auto-generated method stub return 0; } @Override public void resetAssociatonCount() { // TODO Auto-generated method stub } @Override public void incrementAssociationCount( final long increment ) { // TODO Auto-generated method stub } @Override public int getIterationID() { // TODO Auto-generated method stub return 0; } @Override public String getName() { return item.id; } @Override public String[] getExtraDimensions() { return new String[] {}; } @Override public double[] getDimensionValues() { return new double[0]; } @Override public Geometry getGeometry() { return item.geo; } @Override public double getCost() { return 0; } @Override public void setCost( final double cost ) { // TODO Auto-generated method stub } @Override public void setZoomLevel( final int level ) { item.setLevel(level); } @Override public int getZoomLevel() { return item.getLevel(); } @Override public void setBatchID( final String batchID ) { // TODO Auto-generated method stub } @Override public String getBatchID() { // TODO Auto-generated method stub return null; } @Override public void setGroupID( final String groupID ) { item.groupID = groupID; } } }