package org.fcrepo.client.mtom; import java.math.BigInteger; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.fcrepo.client.SwingWorker; import org.fcrepo.server.types.gen.DatastreamDef; import org.fcrepo.server.types.gen.FieldSearchResult; import org.fcrepo.server.types.gen.ObjectMethodsDef; import org.fcrepo.server.types.gen.ObjectProfile; import org.fcrepo.server.types.gen.RepositoryInfo; import org.fcrepo.server.types.mtom.gen.MIMETypedStream; public class APIAStubWrapper implements org.fcrepo.server.access.FedoraAPIAMTOM { /** The wrapped instance */ private final org.fcrepo.server.access.FedoraAPIAMTOM m_instance; public APIAStubWrapper(org.fcrepo.server.access.FedoraAPIAMTOM instance) { m_instance = instance; } @Override public RepositoryInfo describeRepository() { String buf = "Describe repository"; Map<String,?> PARMS = Collections.emptyMap(); // Run the method in a SwingWorker thread SwingWorker<RepositoryInfo> worker = new SwingWorker<RepositoryInfo>(PARMS) { @Override public RepositoryInfo construct() { // call wrapped method return m_instance.describeRepository(); } }; return SwingWorker.waitForResult(worker, buf); } @Override public ObjectProfile getObjectProfile(java.lang.String pid, java.lang.String asOfDateTime) { String buf = "Get object profile"; Map<String, String> PARMS = new HashMap<String, String>(2); PARMS.put("pid", pid); PARMS.put("asOfDateTime", asOfDateTime); // Run the method in a SwingWorker thread SwingWorker<ObjectProfile> worker = new SwingWorker<ObjectProfile>(PARMS) { @Override public ObjectProfile construct() { // call wrapped method return m_instance.getObjectProfile((java.lang.String) parms .get("pid"), (java.lang.String) parms .get("asOfDateTime")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public List<ObjectMethodsDef> listMethods(java.lang.String pid, java.lang.String asOfDateTime) { String buf = "List methods"; Map<String, String> PARMS = new HashMap<String, String>(2); PARMS.put("pid", pid); PARMS.put("asOfDateTime", asOfDateTime); // Run the method in a SwingWorker thread SwingWorker<List<ObjectMethodsDef>> worker = new SwingWorker<List<ObjectMethodsDef>>(PARMS) { @Override public List<ObjectMethodsDef> construct() { // call wrapped method return m_instance.listMethods((java.lang.String) parms .get("pid"), (java.lang.String) parms .get("asOfDateTime")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public List<DatastreamDef> listDatastreams(java.lang.String pid, java.lang.String asOfDateTime) { String buf = "List datastreams"; Map<String, String> PARMS = new HashMap<String, String>(2); PARMS.put("pid", pid); PARMS.put("asOfDateTime", asOfDateTime); // Run the method in a SwingWorker thread SwingWorker<List<DatastreamDef>> worker = new SwingWorker<List<DatastreamDef>>(PARMS) { @Override public List<DatastreamDef> construct() { // call wrapped method return m_instance.listDatastreams((java.lang.String) parms .get("pid"), (java.lang.String) parms .get("asOfDateTime")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public MIMETypedStream getDatastreamDissemination(java.lang.String pid, java.lang.String dsID, java.lang.String asOfDateTime) { String buf = "Get datastream dissemination"; HashMap<String, String> PARMS = new HashMap<String, String>(3); PARMS.put("pid", pid); PARMS.put("dsID", dsID); PARMS.put("asOfDateTime", asOfDateTime); // Run the method in a SwingWorker thread SwingWorker<MIMETypedStream> worker = new SwingWorker<MIMETypedStream>(PARMS) { @Override public MIMETypedStream construct() { // call wrapped method return m_instance .getDatastreamDissemination((java.lang.String) parms .get("pid"), (java.lang.String) parms .get("dsID"), (java.lang.String) parms .get("asOfDateTime")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public MIMETypedStream getDissemination(java.lang.String pid, java.lang.String serviceDefinitionPid, java.lang.String methodName, org.fcrepo.server.types.mtom.gen.GetDissemination.Parameters parameters, java.lang.String asOfDateTime) { String buf = "Get dissemination"; HashMap<String, Object> PARMS = new HashMap<String, Object>(); PARMS.put("pid", pid); PARMS.put("serviceDefinitionPid", serviceDefinitionPid); PARMS.put("methodName", methodName); PARMS.put("parameters", parameters); PARMS.put("asOfDateTime", asOfDateTime); // Run the method in a SwingWorker thread SwingWorker<MIMETypedStream> worker = new SwingWorker<MIMETypedStream>(PARMS) { @Override public MIMETypedStream construct() { // call wrapped method return m_instance .getDissemination((java.lang.String) parms.get("pid"), (java.lang.String) parms .get("serviceDefinitionPid"), (java.lang.String) parms .get("methodName"), (org.fcrepo.server.types.mtom.gen.GetDissemination.Parameters) parms .get("parameters"), (java.lang.String) parms .get("asOfDateTime")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public FieldSearchResult findObjects(org.fcrepo.server.types.gen.ArrayOfString resultFields, BigInteger maxResults, org.fcrepo.server.types.gen.FieldSearchQuery query) { String buf = "Find objects"; HashMap<String, Object> PARMS = new HashMap<String, Object>(); PARMS.put("resultFields", resultFields); PARMS.put("maxResults", maxResults); PARMS.put("query", query); // Run the method in a SwingWorker thread SwingWorker<FieldSearchResult> worker = new SwingWorker<FieldSearchResult>(PARMS) { @Override public FieldSearchResult construct() { // call wrapped method return m_instance .findObjects((org.fcrepo.server.types.gen.ArrayOfString) parms .get("resultFields"), (BigInteger) parms.get("maxResults"), (org.fcrepo.server.types.gen.FieldSearchQuery) parms .get("query")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public FieldSearchResult resumeFindObjects(java.lang.String sessionToken) { String buf = "Resume find objects"; Map<String, String> PARMS = Collections.singletonMap("sessionToken", sessionToken); // Run the method in a SwingWorker thread SwingWorker<FieldSearchResult> worker = new SwingWorker<FieldSearchResult>(PARMS) { @Override public FieldSearchResult construct() { // call wrapped method return m_instance.resumeFindObjects((java.lang.String) parms .get("sessionToken")); } }; return SwingWorker.waitForResult(worker, buf); } @Override public List<java.lang.String> getObjectHistory(java.lang.String pid) { String buf = "Get object history"; Map<String,String> PARMS = Collections.singletonMap("pid", pid); // Run the method in a SwingWorker thread SwingWorker<List<java.lang.String>> worker = new SwingWorker<List<java.lang.String>>(PARMS) { @Override public List<java.lang.String> construct() { // call wrapped method return m_instance.getObjectHistory((java.lang.String) parms .get("pid")); } }; return SwingWorker.waitForResult(worker, buf); } }