]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
e84136e5706ba92db738b4b2671364881e02312b
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.client;
2
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;
13
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;
22
23 /**
24  * @version $Revision$
25  */
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
30
31     // List OrgAuthorities
32     @GET
33     ClientResponse<OrgauthoritiesCommonList> readList();
34
35     //(C)reate
36     @POST
37     ClientResponse<Response> create(byte[] xmlPayload);
38
39     //(R)ead
40     @GET
41     @Path("/{csid}")
42     ClientResponse<String> read(@PathParam("csid") String csid);
43
44     //(R)ead by name
45     @GET
46     @Path("/urn:cspace:name({name})")
47     ClientResponse<String> readByName(@PathParam("name") String name);
48
49     //(U)pdate
50     @PUT
51     @Path("/{csid}")
52     ClientResponse<String> update(@PathParam("csid") String csid, byte[] xmlPayload);
53
54     //(D)elete
55     @DELETE
56     @Path("/{csid}")
57     ClientResponse<Response> delete(@PathParam("csid") String csid);
58
59     // List Items with options for matching a partial term or keywords.
60     @GET
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);
67
68     /**
69      * @param parentcsid 
70      * @param itemcsid 
71      * @param csid
72      * @return
73      * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
74      */
75     @GET
76     @Path("{csid}/items/{itemcsid}/refObjs")
77     @Produces("application/xml")
78     ClientResponse<AuthorityRefDocList> getReferencingObjects(
79             @PathParam("csid") String parentcsid,
80             @PathParam("itemcsid") String itemcsid);    
81
82     // List Items for a named authority matching a partial term or keywords.
83     @GET
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);
90
91     // List Item Authority References
92     @GET
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);
98
99     //(C)reate Item
100     @POST
101     @Path("/{vcsid}/items/")
102     ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, byte[] xmlPayload);
103
104     //(R)ead Item
105     @GET
106     @Path("/{vcsid}/items/{csid}")
107     ClientResponse<String> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
108
109     //(R)ead Named Item
110     @GET
111     @Path("/{vcsid}/items/urn:cspace:name({specifier})")
112     ClientResponse<String> readNamedItem(@PathParam("vcsid") String vcsid, @PathParam("specifier") String specifier);
113
114     //(R)ead Item In Named Authority
115     @GET
116     @Path("/urn:cspace:name({specifier})/items/{csid}")
117     ClientResponse<String> readItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("csid") String csid);
118
119     //(R)ead Named Item In Named Authority
120     @GET
121     @Path("/urn:cspace:name({specifier})/items/urn:cspace:name({itemspecifier})")
122     ClientResponse<String> readNamedItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("itemspecifier") String itemspecifier);
123
124     //(U)pdate Item
125     @PUT
126     @Path("/{vcsid}/items/{csid}")
127     ClientResponse<String> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, byte[] xmlPayload);
128
129     //(D)elete Item
130     @DELETE
131     @Path("/{vcsid}/items/{csid}")
132     ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
133
134      // List Contacts
135     @GET
136     @Produces({"application/xml"})
137     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
138     ClientResponse<ContactsCommonList> readContactList(
139             @PathParam("parentcsid") String parentcsid,
140             @PathParam("itemcsid") String itemcsid);
141     @GET
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);
147     @GET
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);
153     @GET
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);
159
160     //(C)reate Contact
161     @POST
162     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
163     ClientResponse<Response> createContact(
164             @PathParam("parentcsid") String parentcsid,
165             @PathParam("itemcsid") String itemcsid,
166             byte[] xmlPayload);
167     @POST
168     @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/")
169     ClientResponse<Response> createContactForNamedItem(
170             @PathParam("parentcsid") String parentcsid,
171             @PathParam("itemspecifier") String itemspecifier,
172             byte[] xmlPayload);
173     @POST
174     @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/")
175     ClientResponse<Response> createContactForItemInNamedAuthority(
176             @PathParam("parentspecifier") String parentspecifier,
177             @PathParam("itemcsid") String itemcsid,
178             byte[] xmlPayload);
179     @POST
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,
184             byte[] xmlPayload);
185
186      //(R)ead Contact
187     @GET
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);
193     @GET
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);
199     @GET
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);
205     @GET
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);
211
212     //(U)pdate Contact
213     @PUT
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,
219             byte[] xmlPayload);
220     @PUT
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,
226             byte[] xmlPayload);
227     @PUT
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,
233             byte[] xmlPayload);
234     @PUT
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,
240             byte[] xmlPayload);
241
242     //(D)elete Contact
243     @DELETE
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);
249     @DELETE
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);
255     @DELETE
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);
261     @DELETE
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);
267
268 }