package org.ohmage.db.test; import org.ohmage.db.DbContract.Campaigns; import org.ohmage.db.Models.Campaign; public class CampaignCursor extends MockArrayCursor<Campaign> { private static final int COLUMN_CAMPAIGN_URN = 0; private static final int COLUMN_CAMPAIGN_NAME = 1; private static final int COLUMN_CAMPAIGN_STATUS = 2; private static final int COLUMN_CAMPAIGN_PRIVACY = 3; private static final int COLUMN_CAMPAIGN_CREATED = 4; public static final String DEFAULT_CAMPAIGN_URN = "urn:fake:campaign"; public static final String DEFAULT_CAMPAIGN_NAME = "Fake Campaign"; public CampaignCursor(String[] projection, Campaign... campaigns) { super(projection, campaigns); } @Override protected int getLocalColumnIndex(String columnName) { if (Campaigns.CAMPAIGN_URN.equals(columnName)) return COLUMN_CAMPAIGN_URN; else if (Campaigns.CAMPAIGN_NAME.equals(columnName)) return COLUMN_CAMPAIGN_NAME; else if (Campaigns.CAMPAIGN_STATUS.equals(columnName)) return COLUMN_CAMPAIGN_STATUS; else if (Campaigns.CAMPAIGN_PRIVACY.equals(columnName)) return COLUMN_CAMPAIGN_PRIVACY; else if (Campaigns.CAMPAIGN_CREATED.equals(columnName)) return COLUMN_CAMPAIGN_CREATED; return COLUMN_IGNORE; } @Override protected String getStringValid(int columnIndex) { switch (columnIndex) { case COLUMN_CAMPAIGN_URN: return getObject().mUrn; case COLUMN_CAMPAIGN_NAME: return getObject().mName; case COLUMN_CAMPAIGN_PRIVACY: return getObject().mPrivacy; case COLUMN_CAMPAIGN_CREATED: return getObject().mCreationTimestamp; default: return ""; } } @Override protected String getStringDefault(int columnIndex) { switch (columnIndex) { case COLUMN_CAMPAIGN_URN: return DEFAULT_CAMPAIGN_URN; case COLUMN_CAMPAIGN_NAME: return DEFAULT_CAMPAIGN_NAME; default: return ""; } } @Override protected long getLongValid(int columnIndex) { // TODO Auto-generated method stub return 0; } @Override protected double getDoubleValid(int columnIndex) { // TODO Auto-generated method stub return 0; } @Override protected float getFloatValid(int columnIndex) { // TODO Auto-generated method stub return 0; } @Override protected int getIntValid(int columnIndex) { switch (columnIndex) { case COLUMN_CAMPAIGN_STATUS: return getObject().mStatus; default: return 0; } } public static Campaign cloneCampaign(Campaign c) { Campaign c2 = new Campaign(); c2.mUrn = c.mUrn; c2.mName = c.mName; c2.mCreationTimestamp = c.mCreationTimestamp; c2.mStatus = c.mStatus; return c2; } }