]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
7cdf5e2c3f5200af3e766ea8f8b6ab3583c605d2
[tmp/jakarta-migration.git] /
1 /**     
2  * PermissionClient.java
3  *
4  * {Purpose of This Class}
5  *
6  * {Other Notes Relating to This Class (Optional)}
7  *
8  * $LastChangedBy: $
9  * $LastChangedRevision: $
10  * $LastChangedDate: $
11  *
12  * This document is a part of the source code and related artifacts
13  * for CollectionSpace, an open source collections management system
14  * for museums and related institutions:
15  *
16  * http://www.collectionspace.org
17  * http://wiki.collectionspace.org
18  *
19  * Copyright (C) 2009 {Contributing Institution}
20  *
21  * Licensed under the Educational Community License (ECL), Version 2.0.
22  * You may not use this file except in compliance with this License.
23  *
24  * You may obtain a copy of the ECL 2.0 License at
25  * https://source.collectionspace.org/collection-space/LICENSE.txt
26  */
27 package org.collectionspace.services.client;
28
29 import javax.ws.rs.core.Response;
30
31
32 import org.collectionspace.services.authorization.Permission;
33 import org.collectionspace.services.authorization.PermissionsList;
34 import org.jboss.resteasy.client.ProxyFactory;
35 import org.jboss.resteasy.plugins.providers.RegisterBuiltin;
36 import org.jboss.resteasy.client.ClientResponse;
37 import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor;
38 import org.jboss.resteasy.spi.ResteasyProviderFactory;
39
40 /**
41  * A PermissionClient.
42
43  * @version $Revision:$
44  */
45 public class PermissionClient extends AbstractServiceClientImpl {
46
47     /**
48      *
49      */
50     private PermissionProxy permissionProxy;
51
52     /* (non-Javadoc)
53      * @see org.collectionspace.services.client.AbstractServiceClientImpl#getServicePathComponent()
54      */
55     public String getServicePathComponent() {
56         return "authorization/permissions";
57     }
58
59     /**
60      *
61      * Default constructor for PermissionClient class.
62      *
63      */
64     public PermissionClient() {
65         ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
66         RegisterBuiltin.register(factory);
67         setProxy();
68     }
69
70     @Override
71     public CollectionSpaceProxy getProxy() {
72         return this.permissionProxy;
73     }    
74
75     /**
76      * allow to reset proxy as per security needs
77      */
78     public void setProxy() {
79         if (useAuth()) {
80             permissionProxy = ProxyFactory.create(PermissionProxy.class,
81                     getBaseURL(), new ApacheHttpClientExecutor(getHttpClient()));
82         } else {
83             permissionProxy = ProxyFactory.create(PermissionProxy.class,
84                     getBaseURL());
85         }
86     }
87
88     /**
89      * @return
90      * @see org.collectionspace.hello.client.PermissionProxy#readList()
91      */
92     public ClientResponse<PermissionsList> readList() {
93         return permissionProxy.readList();
94
95     }
96
97     public ClientResponse<PermissionsList> readSearchList(String resourceName) {
98         return permissionProxy.readSearchList(resourceName);
99
100     }
101
102     /**
103      * @param csid
104      * @return
105      * @see org.collectionspace.hello.client.PermissionProxy#getAccount(java.lang.String)
106      */
107     public ClientResponse<Permission> read(String csid) {
108         return permissionProxy.read(csid);
109     }
110
111     /**
112      * @param permission
113      * @return
114      * @see org.collectionspace.hello.client.PermissionProxy#create(org.collectionspace.services.permission.Permission)
115      */
116     public ClientResponse<Response> create(Permission permission) {
117         return permissionProxy.create(permission);
118     }
119
120     /**
121      * @param csid
122      * @param permission
123      * @return
124      * @see org.collectionspace.hello.client.PermissionProxy#updateAccount(java.lang.Long, org.collectionspace.services.permission.Permission)
125      */
126     public ClientResponse<Permission> update(String csid, Permission permission) {
127         return permissionProxy.update(csid, permission);
128     }
129
130     /**
131      * @param csid
132      * @return
133      * @see org.collectionspace.hello.client.PermissionProxy#deleteAccount(java.lang.Long)
134      */
135     public ClientResponse<Response> delete(String csid) {
136         return permissionProxy.delete(csid);
137     }
138 }