1 package org.collectionspace.services.client;
3 import javax.ws.rs.Consumes;
4 import javax.ws.rs.DELETE;
5 import javax.ws.rs.GET;
6 import javax.ws.rs.POST;
7 import javax.ws.rs.PUT;
8 import javax.ws.rs.Path;
9 import javax.ws.rs.PathParam;
10 import javax.ws.rs.Produces;
11 import javax.ws.rs.QueryParam;
12 import javax.ws.rs.core.Response;
14 import org.collectionspace.services.common.query.IQueryManager;
15 import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
16 import org.collectionspace.services.common.authorityref.AuthorityRefList;
17 import org.collectionspace.services.contact.ContactsCommonList;
18 import org.collectionspace.services.organization.OrgauthoritiesCommonList;
19 import org.collectionspace.services.organization.OrganizationsCommonList;
20 //import org.collectionspace.services.person.PersonsCommonList;
21 import org.jboss.resteasy.client.ClientResponse;
26 @Path(OrgAuthorityClient.SERVICE_PATH + "/")
27 @Produces({"application/xml"})
28 @Consumes({"application/xml"})
29 public interface OrgAuthorityProxy extends CollectionSpaceProxy { //FIXME: REM - Most of the methods in this class and PersonAuthorityProxy are the same and should be moved to a base class
31 // List OrgAuthorities
33 ClientResponse<OrgauthoritiesCommonList> readList();
37 ClientResponse<Response> create(byte[] xmlPayload);
42 ClientResponse<String> read(@PathParam("csid") String csid);
46 @Path("/urn:cspace:name({name})")
47 ClientResponse<String> readByName(@PathParam("name") String name);
52 ClientResponse<String> update(@PathParam("csid") String csid, byte[] xmlPayload);
57 ClientResponse<Response> delete(@PathParam("csid") String csid);
59 // List Items with options for matching a partial term or keywords.
61 @Produces("application/xml")
62 @Path("/{csid}/items/")
63 ClientResponse<OrganizationsCommonList>readItemList(
64 @PathParam("csid") String parentcsid,
65 @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
66 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
73 * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
76 @Path("{csid}/items/{itemcsid}/refObjs")
77 @Produces("application/xml")
78 ClientResponse<AuthorityRefDocList> getReferencingObjects(
79 @PathParam("csid") String parentcsid,
80 @PathParam("itemcsid") String itemcsid);
82 // List Items for a named authority matching a partial term or keywords.
84 @Produces({"application/xml"})
85 @Path("/urn:cspace:name({specifier})/items/")
86 ClientResponse<OrganizationsCommonList> readItemListForNamedAuthority(
87 @PathParam("specifier") String specifier,
88 @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
89 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
91 // List Item Authority References
93 @Produces({"application/xml"})
94 @Path("/{parentcsid}/items/{itemcsid}/authorityrefs/")
95 public ClientResponse<AuthorityRefList> getItemAuthorityRefs(
96 @PathParam("parentcsid") String parentcsid,
97 @PathParam("itemcsid") String itemcsid);
101 @Path("/{vcsid}/items/")
102 ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, byte[] xmlPayload);
106 @Path("/{vcsid}/items/{csid}")
107 ClientResponse<String> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
111 @Path("/{vcsid}/items/urn:cspace:name({specifier})")
112 ClientResponse<String> readNamedItem(@PathParam("vcsid") String vcsid, @PathParam("specifier") String specifier);
114 //(R)ead Item In Named Authority
116 @Path("/urn:cspace:name({specifier})/items/{csid}")
117 ClientResponse<String> readItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("csid") String csid);
119 //(R)ead Named Item In Named Authority
121 @Path("/urn:cspace:name({specifier})/items/urn:cspace:name({itemspecifier})")
122 ClientResponse<String> readNamedItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("itemspecifier") String itemspecifier);
126 @Path("/{vcsid}/items/{csid}")
127 ClientResponse<String> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, byte[] xmlPayload);
131 @Path("/{vcsid}/items/{csid}")
132 ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
136 @Produces({"application/xml"})
137 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
138 ClientResponse<ContactsCommonList> readContactList(
139 @PathParam("parentcsid") String parentcsid,
140 @PathParam("itemcsid") String itemcsid);
142 @Produces({"application/xml"})
143 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/")
144 ClientResponse<ContactsCommonList> readContactListForNamedItem(
145 @PathParam("parentcsid") String parentcsid,
146 @PathParam("itemspecifier") String itemspecifier);
148 @Produces({"application/xml"})
149 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/")
150 ClientResponse<ContactsCommonList> readContactListForItemInNamedAuthority(
151 @PathParam("parentspecifier") String parentspecifier,
152 @PathParam("itemcsid") String itemcsid);
154 @Produces({"application/xml"})
155 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/")
156 ClientResponse<ContactsCommonList> readContactListForNamedItemInNamedAuthority(
157 @PathParam("parentspecifier") String parentspecifier,
158 @PathParam("itemspecifier") String itemspecifier);
162 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
163 ClientResponse<Response> createContact(
164 @PathParam("parentcsid") String parentcsid,
165 @PathParam("itemcsid") String itemcsid,
168 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/")
169 ClientResponse<Response> createContactForNamedItem(
170 @PathParam("parentcsid") String parentcsid,
171 @PathParam("itemspecifier") String itemspecifier,
174 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/")
175 ClientResponse<Response> createContactForItemInNamedAuthority(
176 @PathParam("parentspecifier") String parentspecifier,
177 @PathParam("itemcsid") String itemcsid,
180 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/")
181 ClientResponse<Response> createContactForNamedItemInNamedAuthority(
182 @PathParam("parentspecifier") String parentspecifier,
183 @PathParam("itemspecifier") String itemspecifier,
188 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
189 ClientResponse<String> readContact(
190 @PathParam("parentcsid") String parentcsid,
191 @PathParam("itemcsid") String itemcsid,
192 @PathParam("csid") String csid);
194 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
195 ClientResponse<String> readContactForNamedItem(
196 @PathParam("parentcsid") String parentcsid,
197 @PathParam("itemspecifier") String itemspecifier,
198 @PathParam("csid") String csid);
200 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
201 ClientResponse<String> readContactInNamedAuthority(
202 @PathParam("parentspecifier") String parentspecifier,
203 @PathParam("itemcsid") String itemcsid,
204 @PathParam("csid") String csid);
206 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
207 ClientResponse<String> readContactForNamedItemInNamedAuthority(
208 @PathParam("parentspecifier") String parentspecifier,
209 @PathParam("itemspecifier") String itemspecifier,
210 @PathParam("csid") String csid);
214 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
215 ClientResponse<String> updateContact(
216 @PathParam("parentcsid") String parentcsid,
217 @PathParam("itemcsid") String itemcsid,
218 @PathParam("csid") String csid,
221 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
222 ClientResponse<String> updateContactForNamedItem(
223 @PathParam("parentcsid") String parentcsid,
224 @PathParam("itemspecifier") String itemspecifier,
225 @PathParam("csid") String csid,
228 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
229 ClientResponse<String> updateContactInNamedAuthority(
230 @PathParam("parentspecifier") String parentspecifier,
231 @PathParam("itemcsid") String itemcsid,
232 @PathParam("csid") String csid,
235 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
236 ClientResponse<String> updateContactForNamedItemInNamedAuthority(
237 @PathParam("parentspecifier") String parentspecifier,
238 @PathParam("itemspecifier") String itemspecifier,
239 @PathParam("csid") String csid,
244 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
245 ClientResponse<Response> deleteContact(
246 @PathParam("parentcsid") String parentcsid,
247 @PathParam("itemcsid") String itemcsid,
248 @PathParam("csid") String csid);
250 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
251 ClientResponse<Response> deleteContactForNamedItem(
252 @PathParam("parentcsid") String parentcsid,
253 @PathParam("itemspecifier") String itemspecifier,
254 @PathParam("csid") String csid);
256 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
257 ClientResponse<Response> deleteContactInNamedAuthority(
258 @PathParam("parentspecifier") String parentspecifier,
259 @PathParam("itemcsid") String itemcsid,
260 @PathParam("csid") String csid);
262 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
263 ClientResponse<Response> deleteContactForNamedItemInNamedAuthority(
264 @PathParam("parentspecifier") String parentspecifier,
265 @PathParam("itemspecifier") String itemspecifier,
266 @PathParam("csid") String csid);