package jpaoletti.jpm.ui; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import jpaoletti.jpm.core.DataAccess; import jpaoletti.jpm.core.Entity; import jpaoletti.jpm.core.EntityFilter; import jpaoletti.jpm.core.EntityInstanceWrapper; import jpaoletti.jpm.core.InstanceId; import jpaoletti.jpm.core.ListFilter; import jpaoletti.jpm.core.ListSort; import jpaoletti.jpm.core.PMContext; import jpaoletti.jpm.core.PMException; import jpaoletti.jpm.model.JPMTest; /** * Test Data Access * * @author jpaoletti * @since 21/09/2011 * @version 1.0 * */ public class TestDataAccess implements DataAccess { private static final List<JPMTest> contents = new ArrayList<JPMTest>(); private Entity entity; static { try { contents.add(new JPMTest(1L, "One", 1, new SimpleDateFormat("yyyy-MM-dd").parse("2011-01-20"), true)); } catch (ParseException ex) { } contents.add(new JPMTest(2L, "Two", 2, new Date(), false)); contents.add(new JPMTest(3L, "Three", 3, new Date(), false)); } @Override public void setEntity(Entity entity) { this.entity = entity; } @Override public Entity getEntity() { return entity; } @Override public Object getItem(PMContext ctx, String property, String value) throws PMException { return null; } @Override public List<?> list(PMContext ctx, EntityFilter filter, ListFilter lfilter, ListSort sort, Integer from, Integer count) throws PMException { return contents; } @Override public Long count(PMContext ctx) throws PMException { return new Long(contents.size()); } @Override public void delete(PMContext ctx, Object object) throws PMException { contents.remove((JPMTest) object); } @Override public void update(PMContext ctx, Object instance) throws PMException { } @Override public void add(PMContext ctx, Object instance) throws PMException { contents.add((JPMTest) instance); } @Override public Object refresh(PMContext ctx, Object o) throws PMException { return o; } @Override public EntityFilter createFilter(PMContext ctx) throws PMException { return null; } @Override public InstanceId getInstanceId(PMContext ctx, EntityInstanceWrapper instanceWrapper) { if (getEntity().isIdentified()) { return new InstanceId(((JPMTest) instanceWrapper.getInstance()).getId()); } else { return new InstanceId(contents.indexOf(instanceWrapper.getInstance())); } } @Override public Object getItem(PMContext ctx, InstanceId instanceId) throws PMException { if (getEntity().isIdentified()) { for (JPMTest test : contents) { if (test.getId() == instanceId.getId()) { return test; } } } else { return contents.get(instanceId.getIndex()); } return null; } }