[AAF-21] Initial code import
[aaf/authz.git] / authz-certman / src / main / java / com / att / authz / cm / facade / Facade.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aai\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * Copyright © 2017 Amdocs\r
7  * * ===========================================================================\r
8  * * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * * you may not use this file except in compliance with the License.\r
10  * * You may obtain a copy of the License at\r
11  * * \r
12  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
13  * * \r
14  *  * Unless required by applicable law or agreed to in writing, software\r
15  * * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * * See the License for the specific language governing permissions and\r
18  * * limitations under the License.\r
19  * * ============LICENSE_END====================================================\r
20  * *\r
21  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22  * *\r
23  ******************************************************************************/\r
24 package com.att.authz.cm.facade;\r
25 \r
26 import java.io.IOException;\r
27 \r
28 import javax.servlet.http.HttpServletRequest;\r
29 import javax.servlet.http.HttpServletResponse;\r
30 \r
31 import com.att.authz.cm.mapper.Mapper;\r
32 import com.att.authz.env.AuthzTrans;\r
33 import com.att.authz.layer.Result;\r
34 \r
35 \r
36 /**\r
37  *   \r
38  *\r
39  */\r
40 public interface Facade<REQ,CERT,ARTIFACTS,ERROR> {\r
41 \r
42 /////////////////////  STANDARD ELEMENTS //////////////////\r
43         /** \r
44          * @param trans\r
45          * @param response\r
46          * @param result\r
47          */\r
48         void error(AuthzTrans trans, HttpServletResponse response, Result<?> result);\r
49 \r
50         /**\r
51          * \r
52          * @param trans\r
53          * @param response\r
54          * @param status\r
55          */\r
56         void error(AuthzTrans trans, HttpServletResponse response, int status,  String msg, String ... detail);\r
57 \r
58         /**\r
59          * Permission checker\r
60          *\r
61          * @param trans\r
62          * @param resp\r
63          * @param perm\r
64          * @return\r
65          * @throws IOException \r
66          */\r
67         Result<Void> check(AuthzTrans trans, HttpServletResponse resp, String perm) throws IOException;\r
68 \r
69         /**\r
70          * \r
71          * @return\r
72          */\r
73         public Mapper<REQ,CERT,ARTIFACTS,ERROR> mapper();\r
74 \r
75 /////////////////////  STANDARD ELEMENTS //////////////////\r
76         \r
77         /**\r
78          * \r
79          * @param trans\r
80          * @param resp\r
81          * @param rservlet\r
82          * @return\r
83          */\r
84         public abstract Result<Void> requestCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, boolean withTrust);\r
85 \r
86         /**\r
87          * \r
88          * @param trans\r
89          * @param req\r
90          * @param resp\r
91          * @return\r
92          */\r
93         public abstract Result<Void> renewCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, boolean withTrust);\r
94 \r
95         /**\r
96          * \r
97          * @param trans\r
98          * @param req\r
99          * @param resp\r
100          * @return\r
101          */\r
102         public abstract Result<Void> dropCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
103 \r
104         /**\r
105          * \r
106          * @param trans\r
107          * @param req\r
108          * @param resp\r
109          * @return\r
110          */\r
111         Result<Void> createArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
112         \r
113         /**\r
114          * \r
115          * @param trans\r
116          * @param req\r
117          * @param resp\r
118          * @return\r
119          */\r
120         Result<Void> readArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
121 \r
122         /**\r
123          * \r
124          * @param trans\r
125          * @param resp\r
126          * @param mechid\r
127          * @param machine\r
128          * @return\r
129          */\r
130         Result<Void> readArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);\r
131 \r
132         /**\r
133          * \r
134          * @param trans\r
135          * @param req\r
136          * @param resp\r
137          * @return\r
138          */\r
139         Result<Void> updateArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
140         \r
141         /**\r
142          * \r
143          * @param trans\r
144          * @param req\r
145          * @param resp\r
146          * @return\r
147          */\r
148         Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
149 \r
150         /**\r
151          * \r
152          * @param trans\r
153          * @param resp\r
154          * @param mechid\r
155          * @param machine\r
156          * @return\r
157          */\r
158         Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);\r
159 \r
160 \r
161 \r
162 }\r