/* (non-Javadoc) * @see de.udo.one.extensions.cdmi.datatypes.CDMICRUDInterface#read(java.lang.Object[]) */ @Override // @Params ( String:containerName, String:dataObjectName, Hashtable:headers, String[]:filter = // null ) public CDMIResponse read(Object... params) throws Exception { if (params == null || params.length <= 2) { throw new CDMIOperationException( String.format("Missing mandatory parameters '%s'", Arrays.toString(params))); } String containerName = ""; String dataObjectName = ""; String filter = null; Hashtable<String, String> headers = null; if (params.length == 3) { containerName = params[0].toString(); dataObjectName = params[1].toString(); headers = (Hashtable<String, String>) params[2]; } else if (params.length == 4) { containerName = params[0].toString(); dataObjectName = params[1].toString(); headers = (Hashtable<String, String>) params[2]; filter = (String) params[3]; } if (!containerName.endsWith("/")) containerName += "/"; validate(CDMIOperation.READ, headers, null); String URL = cdmiEPR + containerName + dataObjectName; if (filter != null) URL += "?" + filter; return RestfulUtils.get(URL, headers); }
@Override public CDMIResponse update(Object... params) throws Exception { if (params == null || params.length <= 3) { throw new CDMIOperationException( String.format("Missing mandatory parameters '%s'", Arrays.toString(params))); } String containerName = ""; String dataObjectName = ""; String mimetype = null; Hashtable<String, String> headers = null; Hashtable<String, String> body = null; if (params.length == 4) { containerName = params[0].toString(); Object obj = params[1]; if (obj instanceof String[]) { String[] array = (String[]) obj; mimetype = array[0]; dataObjectName = array[1]; } else { dataObjectName = obj.toString(); } headers = (Hashtable<String, String>) params[2]; body = (Hashtable<String, String>) params[3]; if (mimetype != null) body.put("mimetype", mimetype); } validate(CDMIOperation.UPDATE, headers, body); String URL = cdmiEPR + containerName + "/" + dataObjectName; return RestfulUtils.put(URL, headers, body); }
@Override public CDMIResponse delete(Object... params) throws Exception { if (params == null || params.length <= 2) { throw new CDMIOperationException( String.format("Missing mandatory parameters '%s'", Arrays.toString(params))); } String containerName = ""; String objectDataName = ""; Hashtable<String, String> headers = null; if (params.length == 3) { containerName = params[0].toString(); objectDataName = params[1].toString(); headers = (Hashtable<String, String>) params[2]; } String URL = cdmiEPR + containerName + "/" + objectDataName; return RestfulUtils.delete(URL, headers); }