package org.commcare.utils;
import org.commcare.resources.model.InstallerFactory;
import org.commcare.resources.model.Resource;
import org.commcare.resources.model.ResourceInstaller;
import org.commcare.resources.model.ResourceLocation;
import org.commcare.resources.model.ResourceTable;
import org.commcare.resources.model.UnresolvedResourceException;
import org.commcare.util.CommCarePlatform;
import org.javarosa.core.reference.Reference;
import org.javarosa.core.util.externalizable.DeserializationException;
import org.javarosa.core.util.externalizable.PrototypeFactory;
import org.javarosa.xml.util.UnfullfilledRequirementsException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Vector;
/**
* @author ctsims
*/
public class DummyResourceTable extends ResourceTable {
@Override
public boolean isEmpty() {
return false;
}
@Override
public InstallerFactory getInstallers() {
return new InstallerFactory() {
@Override
public ResourceInstaller getProfileInstaller(boolean forceInstall) {
return getDummyInstaller();
}
@Override
public ResourceInstaller getXFormInstaller() {
return getDummyInstaller();
}
@Override
public ResourceInstaller getSuiteInstaller() {
return getDummyInstaller();
}
@Override
public ResourceInstaller getLocaleFileInstaller(String locale) {
return getDummyInstaller();
}
@Override
public ResourceInstaller getLoginImageInstaller() {
return getDummyInstaller();
}
@Override
public ResourceInstaller getMediaInstaller(String path) {
return getDummyInstaller();
}
private ResourceInstaller getDummyInstaller() {
return new ResourceInstaller() {
@Override
public void readExternal(DataInputStream in,
PrototypeFactory pf) throws IOException,
DeserializationException {
}
@Override
public void writeExternal(DataOutputStream out)
throws IOException {
}
@Override
public boolean requiresRuntimeInitialization() {
return false;
}
@Override
public boolean initialize(CommCarePlatform instance, boolean isUpgrade) {
return true;
}
@Override
public boolean install(Resource r,
ResourceLocation location, Reference ref,
ResourceTable table, CommCarePlatform instance,
boolean upgrade)
throws UnresolvedResourceException,
UnfullfilledRequirementsException {
return true;
}
@Override
public int rollback(Resource r) {
throw new RuntimeException("Basic Installer resources can't rolled back");
}
@Override
public boolean uninstall(Resource r)
throws UnresolvedResourceException {
return true;
}
@Override
public boolean unstage(Resource r, int newStatus) {
return true;
}
@Override
public boolean revert(Resource r, ResourceTable table) {
return true;
}
@Override
public boolean upgrade(Resource r)
throws UnresolvedResourceException {
return true;
}
@Override
public void cleanup() {
}
@Override
public boolean verifyInstallation(Resource r, Vector problems) {
return false;
}
};
}
};
}
@Override
public void addResource(Resource resource, ResourceInstaller initializer, String parentId, int status) {
}
@Override
public void addResource(Resource resource, ResourceInstaller initializer,
String parentId) {
}
@Override
public void addResource(Resource resource, int status) {
}
@Override
public Vector<Resource> getResourcesForParent(String parent) {
return new Vector<>();
}
@Override
public Resource getResourceWithId(String id) {
return null;
}
@Override
public Resource getResourceWithGuid(String guid) {
return null;
}
@Override
public boolean isReady() {
return true;
}
@Override
public void commitCompoundResource(Resource r, int status, int version) throws UnresolvedResourceException {
}
@Override
public void commit(Resource r, int status) {
}
@Override
public void commit(Resource r) {
}
@Override
public void prepareResources(ResourceTable master, CommCarePlatform instance)
throws UnresolvedResourceException,
UnfullfilledRequirementsException {
}
@Override
public void upgradeTable(ResourceTable incoming)
throws UnresolvedResourceException {
}
@Override
public String toString() {
return "Dummy Table";
}
@Override
public void destroy() {
}
@Override
public void clear() {
}
@Override
public void initializeResources(CommCarePlatform instance, boolean isUpgrade) {
}
}