1 <%@ page import="org.wso2.carbon.context.CarbonContext" %> 2 <%@ page import="org.wso2.carbon.context.RegistryType" %> 3 <%@ page import="org.wso2.carbon.registry.api.Registry" %> 4 <%@ page import="org.wso2.carbon.registry.api.Resource" %> 5 <%@ page import="org.wso2.carbon.registry.api.Collection" %> 6 7 <h2>WSO2 Carbon Registry Usage Demo</h2> 8 9 <hr/> 10 <p> 11 12 <h3>Add New Resource</h3> 13 <p> 14 <form action="index.jsp" method="POST"> 15 <table border="0"> 16 <tr> 17 <td>Registry Type</td> 18 <td> 19 <select name="registryType"> 20 <option selected="true"><%= RegistryType.SYSTEM_CONFIGURATION.toString() %></option> 21 <option><%= RegistryType.SYSTEM_GOVERNANCE.toString() %></option> 22 </select> 23 </td> 24 </tr> 25 <tr> 26 <td>Resource Path</td> 27 <td><input type="text" name="resourcePath" value="foo/bar"/></td> 28 </tr> 29 <tr> 30 <td>Value</td> 31 <td><input type="text" name="value" value="WSO2 Carbon"/></td> 32 </tr> 33 <tr> 34 <td> </td> 35 <td><input type="submit" value="Add" name="add"></td> 36 </tr> 37 </table> 38 </form> 39 </p> 40 <hr/> 41 <p> 42 43 <h3>View Resource</h3> 44 <p> 45 <form action="index.jsp" method="POST"> 46 <table border="0"> 47 <tr> 48 <td>Registry Type</td> 49 <td> 50 <select name="registryType"> 51 <option selected="true"><%= RegistryType.SYSTEM_CONFIGURATION.toString() %></option> 52 <option><%= RegistryType.SYSTEM_GOVERNANCE.toString() %></option> 53 </select> 54 </td> 55 </tr> 56 <tr> 57 <td>Resource Path</td> 58 <td><input type="text" name="resourcePath" value="foo/bar"/></td> 59 </tr> 60 <tr> 61 <td> </td> 62 <td><input type="submit" value="View" name="view"></td> 63 </tr> 64 </table> 65 </form> 66 </p> 67 <hr/> 68 69 <h3>Add Collection</h3> 70 <p> 71 <form action="index.jsp" method="POST"> 72 <table border="0"> 73 <tr> 74 <td>Registry Type</td> 75 <td> 76 <select name="registryType"> 77 <option selected="true"><%= RegistryType.SYSTEM_CONFIGURATION.toString() %></option> 78 <option><%= RegistryType.SYSTEM_GOVERNANCE.toString() %></option> 79 </select> 80 </td> 81 </tr> 82 <tr> 83 <td>Resource Path</td> 84 <td><input type="text" name="collectionPath" value="bar"/></td> 85 </tr> 86 <tr> 87 <td> </td> 88 <td><input type="submit" value="Add" name="addCollection"></td> 89 </tr> 90 </table> 91 </form> 92 </p> 93 <hr/> 94 95 <h3>Is Collection Exist</h3> 96 <p> 97 <form action="index.jsp" method="POST"> 98 <table border="0"> 99 <tr> 100 <td>Registry Type</td> 101 <td> 102 <select name="registryType"> 103 <option selected="true"><%= RegistryType.SYSTEM_CONFIGURATION.toString() %></option> 104 <option><%= RegistryType.SYSTEM_GOVERNANCE.toString() %></option> 105 </select> 106 </td> 107 </tr> 108 <tr> 109 <td>Collection Path</td> 110 <td><input type="text" name="collectionPath" value="bar"/></td> 111 </tr> 112 <tr> 113 <td> </td> 114 <td><input type="submit" value="View" name="viewCollection"></td> 115 </tr> 116 </table> 117 </form> 118 </p> 119 <hr/> 120 121 <h3>Delete Resource/Collection</h3> 122 <p> 123 <form action="index.jsp" method="POST"> 124 <table border="0"> 125 <tr> 126 <td>Registry Type</td> 127 <td> 128 <select name="registryType"> 129 <option selected="true"><%= RegistryType.SYSTEM_CONFIGURATION.toString() %></option> 130 <option><%= RegistryType.SYSTEM_GOVERNANCE.toString() %></option> 131 </select> 132 </td> 133 </tr> 134 <tr> 135 <td>Registry Path</td> 136 <td><input type="text" name="registryPath" value="bar"/></td> 137 </tr> 138 <tr> 139 <td> </td> 140 <td><input type="submit" value="Delete" name="delete"></td> 141 </tr> 142 </table> 143 </form> 144 </p> 145 <hr/> 146 147 <% 148 // Obtain the reference to the registry from the CarbonContext 149 CarbonContext cCtx = CarbonContext.getThreadLocalCarbonContext(); 150 151 Registry registry = cCtx.getRegistry(RegistryType.SYSTEM_CONFIGURATION); 152 String registryType = request.getParameter("registryType"); 153 if(registryType != null) { 154 registry = cCtx.getRegistry(RegistryType.valueOf(registryType)); 155 } 156 157 if (request.getParameter("add") != null) { 158 Resource resource = registry.newResource(); 159 resource.setContent(request.getParameter("value")); 160 String resourcePath = request.getParameter("resourcePath"); 161 registry.put(resourcePath, resource); 162 %> 163 <p> 164 Added resource: <%= resourcePath %> 165 </p> 166 <% 167 } else if (request.getParameter("view") != null) { 168 String resourcePath = request.getParameter("resourcePath"); 169 if (registry.resourceExists(resourcePath)) { 170 Resource resource = registry.get(resourcePath); 171 String content = new String((byte[]) resource.getContent()); 172 response.addHeader("resource-content", content); 173 %> 174 <p> 175 Resource at in Registry <%= registryType%> path <%= resourcePath%> : <%= content %> 176 </p> 177 <% 178 } else { 179 %> 180 <p> 181 Resource at path <%= resourcePath%> does not exist in Registry <%= registryType%>! 182 </p> 183 <% 184 } 185 } else if (request.getParameter("delete") != null) { 186 String registryPath = request.getParameter("registryPath"); 187 if (registry.resourceExists(registryPath)) { 188 Resource resource = registry.get(registryPath); 189 registry.delete(registryPath); 190 if (!registry.resourceExists(registryPath)) { 191 response.addHeader("resource-deleted", "true"); 192 %> 193 <p> 194 <%= registryPath%> path deleted from <%= registryType%> 195 </p> 196 <% 197 } 198 } else { 199 %> 200 <p> 201 <%= registryPath%> does not exist in Registry <%= registryType%>! 202 </p> 203 <% 204 } 205 } else if (request.getParameter("viewCollection") != null) { 206 String collectionPath = request.getParameter("collectionPath"); 207 if (registry.resourceExists(collectionPath)) { 208 Resource resource = registry.get(collectionPath); 209 if(resource instanceof Collection){ 210 response.addHeader("collection-exist", "true"); 211 %> 212 <p> 213 Registry collection exists in <%= registryType%> path <%= collectionPath%> 214 </p> 215 <% 216 } else { 217 %> 218 <p> 219 <%= collectionPath%> is not a collection. 220 </p> 221 <% 222 } 223 } else { 224 %> 225 <p> 226 Collection at path <%= collectionPath%> does not exist in Registry <%= registryType%>! 227 </p> 228 <% 229 } 230 } else if (request.getParameter("addCollection") != null) { 231 Resource collection = registry.newCollection(); 232 String collectionPath = request.getParameter("collectionPath"); 233 registry.put(collectionPath, collection); 234 %> 235 <p> 236 Added collection : <%= collectionPath %> 237 </p> 238 <% 239 } 240 %>