/* * Copyright (C) 2012 Jan Pokorsky * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package cz.cas.lib.proarc.webapp.shared.rest; /** * * @author Jan Pokorsky */ public final class DigitalObjectResourceApi { // resource /object public static final String PATH = "object"; public static final String DIGITALOBJECT_PID = "pid"; public static final String DIGITALOBJECT_MODEL = "model"; public static final String BATCHID_PARAM = "batchId"; public static final String TIMESTAMP_PARAM = "timestamp"; public static final String NEWOBJECT_XML_PARAM = "xml"; public static final String DELETE_HIERARCHY_PARAM = "hierarchy"; public static final String DELETE_PID_PARAM = DIGITALOBJECT_PID; public static final String DELETE_PURGE_PARAM = "purge"; public static final String SEARCH_PATH = "search"; public static final String SEARCH_OWNER_PARAM = "owner"; public static final String SEARCH_START_ROW_PARAM = "_startRow"; public static final String SEARCH_PHRASE_PARAM = "phrase"; public static final String SEARCH_PID_PARAM = "pid"; public static final String SEARCH_BATCHID_PARAM = "batchId"; public static final String SEARCH_QUERY_CREATOR_PARAM = "queryCreator"; public static final String SEARCH_QUERY_IDENTIFIER_PARAM = "queryIdentifier"; public static final String SEARCH_QUERY_LABEL_PARAM = "queryLabel"; public static final String SEARCH_QUERY_MODEL_PARAM = "queryModel"; public static final String SEARCH_QUERY_TITLE_PARAM = "queryTitle"; public static final String SEARCH_TYPE_PARAM = "type"; /** XXX workaround to fix GWT 2.5 compiler bug related to the use of enum's static * field in enum's constant declaration. */ private static final String SEARCH_TYPE_PARAM_DEFAULT = SearchType.DEFAULT; // resource /object/dc public static final String DC_PATH = "dc"; // DublinCoreRecord public static final String DUBLINCORERECORD_ELEMENT = "dcRecord"; public static final String DUBLINCORERECORD_NS = "http://proarc.lib.cas.cz/xml/dor/v1/"; public static final String DUBLINCORERECORD_NS_OAIDC = "http://www.openarchives.org/OAI/2.0/oai_dc/"; public static final String DUBLINCORERECORD_NS_DC = "http://purl.org/dc/elements/1.1/"; public static final String DUBLINCORERECORD_PID = "pid"; public static final String DUBLINCORERECORD_BATCHID = "batchId"; public static final String DUBLINCORERECORD_TIMESTAMP = "timestamp"; public static final String DUBLINCORERECORD_DC = "dc"; // resource /object/member public static final String MEMBERS_PATH = "member"; public static final String MEMBERS_ITEM_PID = "pid"; public static final String MEMBERS_ITEM_BATCHID = ImportResourceApi.BATCHITEM_BATCHID; public static final String MEMBERS_ITEM_MODEL = "model"; public static final String MEMBERS_ITEM_OWNER = "owner"; public static final String MEMBERS_ITEM_LABEL = "label"; public static final String MEMBERS_ITEM_STATE = "state"; public static final String MEMBERS_ITEM_CREATED = "created"; public static final String MEMBERS_ITEM_MODIFIED = "modified"; public static final String MEMBERS_ITEM_PARENT = "parent"; public static final String MEMBERS_ITEM_EXPORT = "export"; public static final String MEMBERS_ROOT_PARAM = "root"; // resource /object/member/move public static final String MEMBERS_MOVE_PATH = "move"; public static final String MEMBERS_MOVE_SRCPID = "srcPid"; public static final String MEMBERS_MOVE_DSTPID = "dstPid"; // resource /object/metamodel public static final String METAMODEL_PATH = "metamodel"; public static final String METAMODEL_PID_PARAM = "pid"; public static final String METAMODEL_ROOT_PARAM = "root"; public static final String METAMODEL_LEAF_PARAM = "leaf"; public static final String METAMODEL_DISPLAYNAME_PARAM = "displayName"; public static final String METAMODEL_MODSCUSTOMEDITORID_PARAM = "editorId"; public static final String METAMODEL_METADATAFORMAT_PARAM = "metadataFormat"; /** * @see DatastreamEditorType */ public static final String METAMODEL_DATASTREAMEDITOR_PARAM = "dataStreamEditor"; // resource /object/mods public static final String MODS_PATH = "mods"; // resource /object/mods/custom public static final String MODS_CUSTOM_PATH = "custom"; public static final String MODS_CUSTOM_EDITORID = "editorId"; public static final String MODS_CUSTOM_CUSTOMJSONDATA = "jsonData"; public static final String MODS_CUSTOM_CUSTOMXMLDATA = "xmlData"; public static final String MODS_CUSTOM_IGNOREVALIDATION = "ignoreValidation"; // CustomMods public static final String CUSTOMMODS_ELEMENT = "mods"; // resource /object/mods/plain public static final String MODS_PLAIN_PATH = "plain"; // StringRecord public static final String STRINGRECORD_ELEMENT = "record"; public static final String STRINGRECORD_CONTENT = "content"; /** Resource /object/streamprofile. */ public static final String STREAMPROFILE_PATH = "streamprofile"; public static final String STREAMPROFILE_ID = "dsid"; public static final String STREAMPROFILE_MIME = "mime"; /** Resource /object/dissemination */ public static final String DISSEMINATION_PATH = "dissemination"; public static final String DISSEMINATION_DATASTREAM = "datastream"; public static final String DISSEMINATION_FILE = "file"; public static final String DISSEMINATION_MIME = "mime"; public static final String DISSEMINATION_ERROR = "jsonErrors"; /** Resource /object/full */ public static final String FULL_PATH = "full"; /** Resource /object/ocr */ public static final String OCR_PATH = "ocr"; /** Resource /object/preview */ public static final String PREVIEW_PATH = "preview"; /** Resource /object/privatenote */ public static final String PRIVATENOTE_PATH = "privatenote"; /** Resource /object/raw */ public static final String RAW_PATH = "raw"; /** Resource /object/thumb */ public static final String THUMB_PATH = "thumb"; /** Resource /object/atm */ public static final String ATM_PATH = "atm"; public static final String ATM_ITEM_BATCHID = ImportResourceApi.BATCHITEM_BATCHID; public static final String ATM_ITEM_CREATED = MEMBERS_ITEM_CREATED; public static final String ATM_ITEM_DEVICE = "device"; public static final String ATM_ITEM_EXPORTRESULT = "exportResult"; public static final String ATM_ITEM_FILENAME = "filename"; public static final String ATM_ITEM_MODEL = DIGITALOBJECT_MODEL; public static final String ATM_ITEM_MODIFIED = MEMBERS_ITEM_MODIFIED; public static final String ATM_ITEM_OWNER = MEMBERS_ITEM_OWNER; public static final String ATM_ITEM_PID = DIGITALOBJECT_PID; public static final String ATM_ITEM_STATE = MEMBERS_ITEM_STATE; /** Resource /object/thumb */ public static final String URNNBN_PATH = "urnnbn"; public static final String URNNBN_HIERARCHY = "hierarchy"; public static final String URNNBN_RESOLVER = "resolverId"; public static final String URNNBN_ITEM_URNNBN = "urnnbn"; public static final String URNNBN_ITEM_MESSAGE = "message"; public static final String URNNBN_ITEM_STATUSTYPE = "statusType"; public static final String URNNBN_ITEM_WARNING = "warning"; public static final String URNNBN_ITEM_LOG = "log"; public enum SearchType { LAST_CREATED(SEARCH_TYPE_PARAM_DEFAULT), LAST_MODIFIED("lastModified"), /** Search object's parents. Accepted parameters: pid | batchId */ PARENT("parent"), PIDS("pids"), PHRASE("phrase"), QUERY("query"); public static final String DEFAULT = "lastCreated"; private String external; SearchType(String external) { this.external = external; } @Override public String toString() { return external; } public static SearchType fromString(String external) { for (SearchType type : values()) { if (type.external.equals(external)) { return type; } } return null; } } }