@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); }