public static String encode(String unencoded) throws LowlevelStorageException { try { int i = unencoded.indexOf("+"); if (i != -1) { return Server.getPID(unencoded.substring(0, i)).toFilename() + unencoded.substring(i); } else { return Server.getPID(unencoded).toFilename(); } } catch (MalformedPidException e) { throw new LowlevelStorageException(true, e.getMessage(), e); } }
public static String encode(String unencoded) throws LowlevelStorageException { try { int i = unencoded.indexOf("+"); if (i != -1) { return Server.getPID(unencoded.substring(0, i)).toFilename() + unencoded.substring(i); } else { return Server.getPID(unencoded).toFilename(); } } catch (MalformedPidException e) { throw new LowlevelStorageException(true, e.getMessage(), e); } }
@Override public ObjectMethodsDef[] listMethods(Context context, String PID, Date asOfDateTime) throws ServerException { long startTime = logger.isDebugEnabled() ? System.currentTimeMillis() : 0; PID = Server.getPID(PID).toString(); m_authorizationModule.enforceListMethods(context, PID, asOfDateTime); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); ObjectMethodsDef[] methodDefs = reader.listMethods(asOfDateTime); if (logger.isDebugEnabled()) { long stopTime = System.currentTimeMillis(); long interval = stopTime - startTime; logger.debug("Roundtrip listMethods: {} milliseconds.", interval); } // DYNAMIC!! Grab any dynamic method definitions and merge them with // the statically bound method definitions ObjectMethodsDef[] dynamicMethodDefs = m_dynamicAccess.listMethods(context, PID, asOfDateTime); ObjectMethodsDef[] result = new ObjectMethodsDef[methodDefs.length + dynamicMethodDefs.length]; System.arraycopy(methodDefs, 0, result, 0, methodDefs.length); System.arraycopy(dynamicMethodDefs, 0, result, methodDefs.length, dynamicMethodDefs.length); return result; }
@Override public DatastreamDef[] listDatastreams(Context context, String PID, Date asOfDateTime) throws ServerException { long startTime = logger.isDebugEnabled() ? new Date().getTime() : 0; PID = Server.getPID(PID).toString(); m_authorizationModule .enforceListDatastreams(context, PID, asOfDateTime); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); Datastream[] datastreams = reader.GetDatastreams(asOfDateTime, null); DatastreamDef[] dsDefs = new DatastreamDef[datastreams.length]; for (int i = 0; i < datastreams.length; i++) { dsDefs[i] = new DatastreamDef(datastreams[i].DatastreamID, datastreams[i].DSLabel, datastreams[i].DSMIME); } if (logger.isDebugEnabled()) { long stopTime = new Date().getTime(); long interval = stopTime - startTime; logger.debug("Roundtrip listDatastreams: {} milliseconds.", interval); } return dsDefs; }
@Override public DatastreamDef[] listDatastreams(Context context, String PID, Date asOfDateTime) throws ServerException { long startTime = logger.isDebugEnabled() ? new Date().getTime() : 0; PID = Server.getPID(PID).toString(); m_authorizationModule .enforceListDatastreams(context, PID, asOfDateTime); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); Datastream[] datastreams = reader.GetDatastreams(asOfDateTime, null); DatastreamDef[] dsDefs = new DatastreamDef[datastreams.length]; for (int i = 0; i < datastreams.length; i++) { dsDefs[i] = new DatastreamDef(datastreams[i].DatastreamID, datastreams[i].DSLabel, datastreams[i].DSMIME); } if (logger.isDebugEnabled()) { long stopTime = new Date().getTime(); long interval = stopTime - startTime; logger.debug("Roundtrip listDatastreams: {} milliseconds.", interval); } return dsDefs; }
@Override public ObjectMethodsDef[] listMethods(Context context, String PID, Date asOfDateTime) throws ServerException { long startTime = logger.isDebugEnabled() ? System.currentTimeMillis() : 0; PID = Server.getPID(PID).toString(); m_authorizationModule.enforceListMethods(context, PID, asOfDateTime); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); ObjectMethodsDef[] methodDefs = reader.listMethods(asOfDateTime); if (logger.isDebugEnabled()) { long stopTime = System.currentTimeMillis(); long interval = stopTime - startTime; logger.debug("Roundtrip listMethods: {} milliseconds.", interval); } // DYNAMIC!! Grab any dynamic method definitions and merge them with // the statically bound method definitions ObjectMethodsDef[] dynamicMethodDefs = m_dynamicAccess.listMethods(context, PID, asOfDateTime); ObjectMethodsDef[] result = new ObjectMethodsDef[methodDefs.length + dynamicMethodDefs.length]; System.arraycopy(methodDefs, 0, result, 0, methodDefs.length); System.arraycopy(dynamicMethodDefs, 0, result, methodDefs.length, dynamicMethodDefs.length); return result; }
PID = Server.getPID(URIArray[5]).toString(); // normalize PID } catch (Throwable th) { logger.error("Bad pid syntax in request", th);
PID = Server.getPID(URIArray[5]).toString(); // normalize PID } catch (Throwable th) { logger.error("Bad pid syntax in request", th);
PID = Server.getPID(URIArray[5]).toString(); // normalize PID } catch (Throwable th) { logger.error("Bad pid syntax in request", th);
PID = Server.getPID(URIArray[5]).toString(); // normalize PID } catch (Throwable th) { logger.error("Bad pid syntax in request", th);
/** * <p> * Gets the change history of an object by returning a list of timestamps * that correspond to modification dates of components. This currently * includes changes to datastreams and disseminators. * </p> * * @param context * The context of this request. * @param PID * The persistent identifier of the digitla object. * @return An Array containing the list of timestamps indicating when * changes were made to the object. * @throws ServerException * If any type of error occurred fulfilling the request. */ @Override public String[] getObjectHistory(Context context, String PID) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetObjectHistory(context, PID); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); return reader.getObjectHistory(PID); }
/** * <p> * Gets the change history of an object by returning a list of timestamps * that correspond to modification dates of components. This currently * includes changes to datastreams and disseminators. * </p> * * @param context * The context of this request. * @param PID * The persistent identifier of the digitla object. * @return An Array containing the list of timestamps indicating when * changes were made to the object. * @throws ServerException * If any type of error occurred fulfilling the request. */ @Override public String[] getObjectHistory(Context context, String PID) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetObjectHistory(context, PID); DOReader reader = m_manager.getReader(Server.USE_DEFINITIVE_STORE, context, PID); return reader.getObjectHistory(PID); }
@Before public void setUp() throws Exception { // Easiest to just short-circuit FEDORA_HOME in XMLDatastreamProcessor setStaticMember(XMLDatastreamProcessor.class, "initialized", true); setStaticMember(XMLDatastreamProcessor.class, "DC_DEFAULT_CONTROLGROUP", "X"); setStaticMember(XMLDatastreamProcessor.class, "RELS_DEFAULT_CONTROLGROUP", "X"); // Server.getPID must be overridden mockStatic(Server.class); when(Server.getPID(any(String.class))).thenReturn(DUMMY_PID_OBJECT); testObj = getInstance(); }
Date asOfDateTime) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetDatastreamDissemination(context, PID,
obj.setPid(Server.getPID(obj.getPid()).toString());
Date asOfDateTime) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetDatastreamDissemination(context, PID,
Date asOfDateTime) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetObjectProfile(context, PID,
Date asOfDateTime) throws ServerException { PID = Server.getPID(PID).toString(); m_authorizationModule.enforceGetObjectProfile(context, PID,