]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
33a6c8b8dc5aeb783e6c0d46588e6f2c6d72c226
[tmp/jakarta-migration.git] /
1 /**\r
2  * This document is a part of the source code and related artifacts\r
3  * for CollectionSpace, an open source collections management system\r
4  * for museums and related institutions:\r
5  *\r
6  * http://www.collectionspace.org\r
7  * http://wiki.collectionspace.org\r
8  *\r
9  * Copyright (c)) 2009 Regents of the University of California\r
10  *\r
11  * Licensed under the Educational Community License (ECL), Version 2.0.\r
12  * You may not use this file except in compliance with this License.\r
13  *\r
14  * You may obtain a copy of the ECL 2.0 License at\r
15  * https://source.collectionspace.org/collection-space/LICENSE.txt\r
16  *\r
17  * Unless required by applicable law or agreed to in writing, software\r
18  * distributed under the License is distributed on an "AS IS" BASIS,\r
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
20  * See the License for the specific language governing permissions and\r
21  * limitations under the License.\r
22  */\r
23 \r
24 package org.collectionspace.services.organization.client.sample;\r
25 \r
26 import java.util.ArrayList;\r
27 import java.util.Arrays;\r
28 import java.util.List;\r
29 \r
30 import javax.ws.rs.core.MediaType;\r
31 import javax.ws.rs.core.MultivaluedMap;\r
32 import javax.ws.rs.core.Response;\r
33 \r
34 import org.apache.log4j.BasicConfigurator;\r
35 import org.collectionspace.services.client.OrgAuthorityClient;\r
36 import org.collectionspace.services.client.test.ServiceRequestType;\r
37 import org.collectionspace.services.organization.OrgauthoritiesCommon;\r
38 import org.collectionspace.services.organization.OrgauthoritiesCommonList;\r
39 import org.collectionspace.services.organization.OrganizationsCommon;\r
40 import org.collectionspace.services.organization.OrganizationsCommonList;\r
41 import org.jboss.resteasy.client.ClientResponse;\r
42 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;\r
43 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;\r
44 import org.jboss.resteasy.plugins.providers.multipart.InputPart;\r
45 import org.jboss.resteasy.plugins.providers.multipart.OutputPart;\r
46 import org.slf4j.Logger;\r
47 import org.slf4j.LoggerFactory;\r
48 \r
49 /**\r
50  * OrgAuthority Sample, carries out tests against a\r
51  * deployed and running OrgAuthority Service.\r
52  *\r
53  * $LastChangedRevision: 1055 $\r
54  * $LastChangedDate: 2009-12-09 12:25:15 -0800 (Wed, 09 Dec 2009) $\r
55  */\r
56 public class Sample {\r
57     private static final Logger logger =\r
58         LoggerFactory.getLogger(Sample.class);\r
59 \r
60     // Instance variables specific to this test.\r
61     private OrgAuthorityClient client = new OrgAuthorityClient();\r
62     final String SERVICE_PATH_COMPONENT = "organizations";\r
63     final String ITEM_SERVICE_PATH_COMPONENT = "items";\r
64 \r
65 \r
66     // ---------------------------------------------------------------\r
67     // Create\r
68     // ---------------------------------------------------------------\r
69 \r
70     public void createEnumeration(String orgAuthName, List<String> enumValues ) {\r
71 \r
72         // Expected status code: 201 Created\r
73         int EXPECTED_STATUS_CODE = Response.Status.CREATED.getStatusCode();\r
74         // Type of service request being tested\r
75         ServiceRequestType REQUEST_TYPE = ServiceRequestType.CREATE;\r
76 \r
77         logger.info("Import: Create orgAuthority: \"" + orgAuthName +"\"");\r
78         MultipartOutput multipart = createOrgAuthorityInstance(orgAuthName, \r
79                         createRefName(orgAuthName), "enum");\r
80         ClientResponse<Response> res = client.create(multipart);\r
81 \r
82         int statusCode = res.getStatus();\r
83 \r
84         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
85                 throw new RuntimeException("Could not create enumeration: \""+orgAuthName\r
86                                 +"\" "+ invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
87         }\r
88         if(statusCode != EXPECTED_STATUS_CODE) {\r
89                 throw new RuntimeException("Unexpected Status when creating enumeration: \""\r
90                                 +orgAuthName +"\", Status:"+ statusCode);\r
91         }\r
92 \r
93         // Store the ID returned from this create operation\r
94         // for additional tests below.\r
95         String newOrgAuthId = extractId(res);\r
96         logger.info("Import: Created orgAuthority: \"" + orgAuthName +"\" ID:"\r
97                                 +newOrgAuthId );\r
98         \r
99         // Add items to the orgAuthority\r
100         for(String itemName : enumValues){\r
101                 createItemInOrgAuth(newOrgAuthId, orgAuthName, itemName, createRefName(itemName));\r
102         }\r
103         \r
104     }\r
105     \r
106     private String createItemInOrgAuth(String vcsid, String orgAuthName, String itemName, String refName) {\r
107         // Expected status code: 201 Created\r
108         int EXPECTED_STATUS_CODE = Response.Status.CREATED.getStatusCode();\r
109         // Type of service request being tested\r
110         ServiceRequestType REQUEST_TYPE = ServiceRequestType.CREATE;\r
111 \r
112         logger.info("Import: Create Item: \""+itemName+"\" in orgAuthority: \"" + orgAuthName +"\"");\r
113         MultipartOutput multipart = createOrganizationInstance(vcsid, itemName, refName);\r
114         ClientResponse<Response> res = client.createItem(vcsid, multipart);\r
115 \r
116         int statusCode = res.getStatus();\r
117 \r
118         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
119                 throw new RuntimeException("Could not create Item: \""+itemName\r
120                                 +"\" in orgAuthority: \"" + orgAuthName\r
121                                 +"\" "+ invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
122         }\r
123         if(statusCode != EXPECTED_STATUS_CODE) {\r
124                 throw new RuntimeException("Unexpected Status when creating Item: \""+itemName\r
125                                 +"\" in orgAuthority: \"" + orgAuthName +"\", Status:"+ statusCode);\r
126         }\r
127 \r
128         return extractId(res);\r
129     }\r
130 \r
131 \r
132    // ---------------------------------------------------------------\r
133    // Read\r
134    // ---------------------------------------------------------------\r
135 \r
136    private OrgauthoritiesCommonList readOrgAuthorities() {\r
137 \r
138         // Expected status code: 200 OK\r
139         int EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode();\r
140         // Type of service request being tested\r
141         ServiceRequestType REQUEST_TYPE = ServiceRequestType.READ;\r
142 \r
143         // Submit the request to the service and store the response.\r
144         ClientResponse<OrgauthoritiesCommonList> res = client.readList();\r
145         OrgauthoritiesCommonList list = res.getEntity();\r
146 \r
147         int statusCode = res.getStatus();\r
148         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
149                 throw new RuntimeException("Could not read list of orgAuthorities: "\r
150                 + invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
151         }\r
152         if(statusCode != EXPECTED_STATUS_CODE) {\r
153                 throw new RuntimeException("Unexpected Status when reading " +\r
154                 "list of orgAuthorities, Status:"+ statusCode);\r
155         }\r
156 \r
157         return list;\r
158    }\r
159 \r
160     private List<String> readOrgAuthorityIds(OrgauthoritiesCommonList list) {\r
161 \r
162         List<String> ids = new ArrayList<String>();\r
163         List<OrgauthoritiesCommonList.OrgauthorityListItem> orgAuthorities =\r
164             list.getOrgauthorityListItem();\r
165         for (OrgauthoritiesCommonList.OrgauthorityListItem orgAuthority : orgAuthorities) {\r
166             ids.add(orgAuthority.getCsid());\r
167         }\r
168         return ids;\r
169    }\r
170     \r
171    private OrgauthoritiesCommon readOrgAuthority(String orgAuthId) {\r
172 \r
173         // Expected status code: 200 OK\r
174         int EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode();\r
175         // Type of service request being tested\r
176         ServiceRequestType REQUEST_TYPE = ServiceRequestType.READ;\r
177 \r
178         // Submit the request to the service and store the response.\r
179         OrgauthoritiesCommon orgAuthority = null;\r
180         try {\r
181             ClientResponse<MultipartInput> res = client.read(orgAuthId);\r
182             int statusCode = res.getStatus();\r
183             if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
184                 throw new RuntimeException("Could not read orgAuthority"\r
185                     + invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
186             }\r
187             if(statusCode != EXPECTED_STATUS_CODE) {\r
188                 throw new RuntimeException("Unexpected Status when reading " +\r
189                     "orgAuthority, Status:"+ statusCode);\r
190             }\r
191             MultipartInput input = (MultipartInput) res.getEntity();\r
192             orgAuthority = (OrgauthoritiesCommon) extractPart(input,\r
193                     client.getCommonPartName(), OrgauthoritiesCommon.class);\r
194         } catch (Exception e) {\r
195             throw new RuntimeException("Could not read orgAuthority: ", e);\r
196         }\r
197 \r
198         return orgAuthority;\r
199     }\r
200 \r
201     private OrganizationsCommonList readItemsInOrgAuth(String orgAuthId) {\r
202 \r
203         // Expected status code: 200 OK\r
204         int EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode();\r
205         // Type of service request being tested\r
206         ServiceRequestType REQUEST_TYPE = ServiceRequestType.READ;\r
207 \r
208         // Submit the request to the service and store the response.\r
209         ClientResponse<OrganizationsCommonList> res =\r
210                 client.readItemList(orgAuthId);\r
211         OrganizationsCommonList list = res.getEntity();\r
212 \r
213         int statusCode = res.getStatus();\r
214 \r
215         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
216                 throw new RuntimeException("Could not read items in orgAuthority: "\r
217                 + invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
218         }\r
219         if(statusCode != EXPECTED_STATUS_CODE) {\r
220                 throw new RuntimeException("Unexpected Status when reading " +\r
221                 "items in orgAuthority, Status:"+ statusCode);\r
222         }\r
223 \r
224         return list;\r
225     }\r
226 \r
227     private List<String> readOrganizationIds(OrganizationsCommonList list) {\r
228 \r
229         List<String> ids = new ArrayList<String>();\r
230         List<OrganizationsCommonList.OrganizationListItem> items =\r
231             list.getOrganizationListItem();\r
232         for (OrganizationsCommonList.OrganizationListItem item : items) {\r
233             ids.add(item.getCsid());\r
234         }\r
235         return ids;\r
236    }\r
237 \r
238     // ---------------------------------------------------------------\r
239     // Delete\r
240     // ---------------------------------------------------------------\r
241 \r
242     private void deleteOrgAuthority(String vcsid) {\r
243          // Expected status code: 200 OK\r
244         int EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode();\r
245         // Type of service request being tested\r
246         ServiceRequestType REQUEST_TYPE = ServiceRequestType.DELETE;\r
247 \r
248         ClientResponse<Response> res = client.delete(vcsid);\r
249         int statusCode = res.getStatus();\r
250 \r
251         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
252                 throw new RuntimeException("Could not delete orgAuthority: "\r
253                 + invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
254         }\r
255         if(statusCode != EXPECTED_STATUS_CODE) {\r
256                 throw new RuntimeException("Unexpected Status when deleting " +\r
257                 "orgAuthority, Status:"+ statusCode);\r
258         }\r
259     }\r
260 \r
261     private void deleteAllOrgAuthorities() {\r
262         List<String> ids = readOrgAuthorityIds(readOrgAuthorities());\r
263         for (String id : ids) {\r
264             deleteOrgAuthority(id);\r
265         }\r
266     }\r
267 \r
268         private void deleteOrganization(String vcsid, String itemcsid) {\r
269          // Expected status code: 200 OK\r
270         int EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode();\r
271         // Type of service request being tested\r
272         ServiceRequestType REQUEST_TYPE = ServiceRequestType.DELETE;\r
273 \r
274         ClientResponse<Response> res = client.deleteItem(vcsid, itemcsid);\r
275         int statusCode = res.getStatus();\r
276 \r
277         if(!REQUEST_TYPE.isValidStatusCode(statusCode)) {\r
278                 throw new RuntimeException("Could not delete orgAuthority item: "\r
279                 + invalidStatusCodeMessage(REQUEST_TYPE, statusCode));\r
280         }\r
281         if(statusCode != EXPECTED_STATUS_CODE) {\r
282                 throw new RuntimeException("Unexpected Status when deleting " +\r
283                 "orgAuthority item, Status:"+ statusCode);\r
284         }\r
285     }\r
286 \r
287     private void deleteAllItemsForOrgAuth(String orgAuthId) {\r
288         List<String> itemIds = readOrganizationIds(readItemsInOrgAuth(orgAuthId));\r
289         for (String itemId : itemIds) {\r
290             deleteOrganization(orgAuthId, itemId);\r
291         }\r
292     }\r
293 \r
294     // ---------------------------------------------------------------\r
295     // Utility methods used by tests above\r
296     // ---------------------------------------------------------------\r
297 \r
298     private MultipartOutput createOrgAuthorityInstance(\r
299                 String displayName, String refName, String vocabType) {\r
300         OrgauthoritiesCommon orgAuthority = new OrgauthoritiesCommon();\r
301         orgAuthority.setDisplayName(displayName);\r
302         orgAuthority.setRefName(refName);\r
303         orgAuthority.setVocabType(vocabType);\r
304         MultipartOutput multipart = new MultipartOutput();\r
305         OutputPart commonPart = multipart.addPart(orgAuthority, MediaType.APPLICATION_XML_TYPE);\r
306         commonPart.getHeaders().add("label", client.getCommonPartName());\r
307 \r
308         if(logger.isDebugEnabled()){\r
309                 logger.debug("to be created, orgAuthority common ",\r
310                                         orgAuthority, OrgauthoritiesCommon.class);\r
311         }\r
312 \r
313         return multipart;\r
314     }\r
315 \r
316     private MultipartOutput createOrganizationInstance(\r
317                 String inAuthority, String displayName, String refName) {\r
318         OrganizationsCommon organization = new OrganizationsCommon();\r
319         organization.setInAuthority(inAuthority);\r
320         organization.setShortName(displayName);\r
321         organization.setRefName(refName);\r
322         MultipartOutput multipart = new MultipartOutput();\r
323         OutputPart commonPart = multipart.addPart(organization, MediaType.APPLICATION_XML_TYPE);\r
324         commonPart.getHeaders().add("label", client.getItemCommonPartName());\r
325 \r
326         if(logger.isDebugEnabled()){\r
327                 logger.debug("to be created, organization common ", organization, OrganizationsCommon.class);\r
328         }\r
329 \r
330         return multipart;\r
331     }\r
332 \r
333     // Retrieve individual fields of orgAuthority records.\r
334 \r
335     private String displayAllOrgAuthorities(OrgauthoritiesCommonList list) {\r
336         StringBuffer sb = new StringBuffer();\r
337             List<OrgauthoritiesCommonList.OrgauthorityListItem> orgAuthorities =\r
338                     list.getOrgauthorityListItem();\r
339             int i = 0;\r
340         for (OrgauthoritiesCommonList.OrgauthorityListItem orgAuthority : orgAuthorities) {\r
341             sb.append("orgAuthority [" + i + "]" + "\n");\r
342             sb.append(displayOrgAuthorityDetails(orgAuthority));\r
343             i++;\r
344         }\r
345         return sb.toString();\r
346     }\r
347 \r
348     private String displayOrgAuthorityDetails(\r
349         OrgauthoritiesCommonList.OrgauthorityListItem orgAuthority) {\r
350             StringBuffer sb = new StringBuffer();\r
351             sb.append("displayName=" + orgAuthority.getDisplayName() + "\n");\r
352             sb.append("vocabType=" + orgAuthority.getVocabType() + "\n");\r
353             // sb.append("csid=" + orgAuthority.getCsid() + "\n");\r
354             sb.append("URI=" + orgAuthority.getUri() + "\n");\r
355         return sb.toString();\r
356     }\r
357 \r
358     // Retrieve individual fields of organization records.\r
359 \r
360     private String displayAllOrganizations(OrganizationsCommonList list) {\r
361         StringBuffer sb = new StringBuffer();\r
362         List<OrganizationsCommonList.OrganizationListItem> items =\r
363                 list.getOrganizationListItem();\r
364         int i = 0;\r
365         for (OrganizationsCommonList.OrganizationListItem item : items) {\r
366             sb.append("organization [" + i + "]" + "\n");\r
367             sb.append(displayOrganizationDetails(item));\r
368             i++;\r
369         }\r
370         return sb.toString();\r
371     }\r
372 \r
373     private String displayOrganizationDetails(\r
374         OrganizationsCommonList.OrganizationListItem item) {\r
375             StringBuffer sb = new StringBuffer();\r
376             sb.append("csid=" + item.getCsid() + "\n");\r
377             sb.append("shortName=" + item.getShortName() + "\n");\r
378             // sb.append("URI=" + item.getUri() + "\n");\r
379         return sb.toString();\r
380     }\r
381 \r
382     private Object extractPart(MultipartInput input, String label,\r
383         Class clazz) throws Exception {\r
384         Object obj = null;\r
385         for(InputPart part : input.getParts()){\r
386             String partLabel = part.getHeaders().getFirst("label");\r
387             if(label.equalsIgnoreCase(partLabel)){\r
388                 String partStr = part.getBodyAsString();\r
389                 if(logger.isDebugEnabled()){\r
390                     logger.debug("extracted part str=\n" + partStr);\r
391                 }\r
392                 obj = part.getBody(clazz, null);\r
393                 if(logger.isDebugEnabled()){\r
394                     logger.debug("extracted part obj=\n", obj, clazz);\r
395                 }\r
396                 break;\r
397             }\r
398         }\r
399         return obj;\r
400     }\r
401 \r
402     /**\r
403      * Returns an error message indicating that the status code returned by a\r
404      * specific call to a service does not fall within a set of valid status\r
405      * codes for that service.\r
406      *\r
407      * @param serviceRequestType  A type of service request (e.g. CREATE, DELETE).\r
408      *\r
409      * @param statusCode  The invalid status code that was returned in the response,\r
410      *                    from submitting that type of request to the service.\r
411      *\r
412      * @return An error message.\r
413      */\r
414     protected String invalidStatusCodeMessage(ServiceRequestType requestType, int statusCode) {\r
415         return "Status code '" + statusCode + "' in response is NOT within the expected set: " +\r
416                 requestType.validStatusCodesAsString();\r
417     }\r
418 \r
419     protected String extractId(ClientResponse<Response> res) {\r
420         MultivaluedMap<String, Object> mvm = res.getMetadata();\r
421         String uri = (String) ((ArrayList<Object>) mvm.get("Location")).get(0);\r
422         if(logger.isDebugEnabled()){\r
423                 logger.info("extractId:uri=" + uri);\r
424         }\r
425         String[] segments = uri.split("/");\r
426         String id = segments[segments.length - 1];\r
427         if(logger.isDebugEnabled()){\r
428                 logger.debug("id=" + id);\r
429         }\r
430         return id;\r
431     }\r
432     \r
433     protected String createRefName(String displayName) {\r
434         return displayName.replaceAll("\\W", "");\r
435     }\r
436 \r
437         public static void main(String[] args) {\r
438 \r
439         // Configure logging.\r
440                 BasicConfigurator.configure();\r
441 \r
442         logger.info("OrgAuthority Sample starting...");\r
443 \r
444                 Sample vbi = new Sample();\r
445         OrgauthoritiesCommonList orgAuthorities;\r
446         List<String> orgAuthIds;\r
447         String details = "";\r
448 \r
449         // Optionally delete all orgAuthorities and organizations.\r
450 \r
451         boolean ENABLE_DELETE_ALL = false;\r
452         if (ENABLE_DELETE_ALL) {\r
453 \r
454             logger.info("Deleting all organizations and orgAuthorities ...");\r
455 \r
456             // For each orgAuthority ...\r
457             orgAuthorities = vbi.readOrgAuthorities();\r
458             orgAuthIds = vbi.readOrgAuthorityIds(orgAuthorities);\r
459             for (String orgAuthId : orgAuthIds) {\r
460                 logger.info("Deleting all organizations for orgAuthority ...");\r
461                 vbi.deleteAllItemsForOrgAuth(orgAuthId);\r
462                 logger.info("Deleting orgAuthority ...");\r
463                 vbi.deleteOrgAuthority(orgAuthId);\r
464             }\r
465 \r
466             logger.info("Reading orgAuthorities after deletion ...");\r
467             orgAuthorities = vbi.readOrgAuthorities();\r
468             details = vbi.displayAllOrgAuthorities(orgAuthorities);\r
469             logger.info(details);\r
470 \r
471             logger.info("Reading items in each orgAuthority after deletion ...");\r
472             orgAuthIds = vbi.readOrgAuthorityIds(orgAuthorities);\r
473             for (String orgAuthId : orgAuthIds) {\r
474                 OrganizationsCommonList items = vbi.readItemsInOrgAuth(orgAuthId);\r
475                 details = vbi.displayAllOrganizations(items);\r
476                 logger.info(details);\r
477             }\r
478 \r
479         }\r
480 \r
481         // Create new authorities, each populated with organizations.\r
482 \r
483                                 /*\r
484                 final String acquisitionMethodsVocabName = "Acquisition Methods";\r
485                 final String entryMethodsVocabName = "Entry Methods";\r
486                 final String entryReasonsVocabName = "Entry Reasons";\r
487                 final String responsibleDeptsVocabName = "Responsible Departments";\r
488 \r
489                 List<String> acquisitionMethodsEnumValues = \r
490                         Arrays.asList("Gift","Purchase","Exchange","Transfer","Treasure");\r
491                 List<String> entryMethodsEnumValues = \r
492                         Arrays.asList("In person","Post","Found on doorstep");\r
493                 List<String> entryReasonsEnumValues = \r
494                         Arrays.asList("Enquiry","Commission","Loan");\r
495                 List<String> respDeptNamesEnumValues = \r
496                         Arrays.asList("Antiquities","Architecture and Design","Decorative Arts",\r
497                                                                         "Ethnography","Herpetology","Media and Performance Art",\r
498                                                                         "Paintings and Sculpture","Paleobotany","Photographs",\r
499                                                                         "Prints and Drawings");\r
500         \r
501                 vbi.createEnumeration(acquisitionMethodsVocabName, acquisitionMethodsEnumValues);\r
502                 vbi.createEnumeration(entryMethodsVocabName, entryMethodsEnumValues);\r
503                 vbi.createEnumeration(entryReasonsVocabName, entryReasonsEnumValues);\r
504                 vbi.createEnumeration(responsibleDeptsVocabName, respDeptNamesEnumValues);\r
505                 */\r
506 \r
507                 logger.info("OrgAuthority Sample complete.");\r
508 \r
509         logger.info("Reading orgAuthorities and items ...");\r
510         // Get a list of orgAuthorities.\r
511         orgAuthorities = vbi.readOrgAuthorities();\r
512         // For each orgAuthority ...\r
513         for (OrgauthoritiesCommonList.OrgauthorityListItem\r
514             orgAuthority : orgAuthorities.getOrgauthorityListItem()) {\r
515             // Get its display name.\r
516             logger.info(orgAuthority.getDisplayName());\r
517             // Get a list of the organizations in this orgAuthority.\r
518             OrganizationsCommonList items =\r
519                 vbi.readItemsInOrgAuth(orgAuthority.getCsid());\r
520             // For each organization ...\r
521             for (OrganizationsCommonList.OrganizationListItem\r
522                 item : items.getOrganizationListItem()) {\r
523                 // Get its short name.\r
524                 logger.info(" " + item.getShortName());\r
525             }\r
526         }\r
527 \r
528         // Sample alternate methods of reading all orgAuthorities and\r
529         // organizations separately.\r
530         boolean RUN_ADDITIONAL_SAMPLES = false;\r
531         if (RUN_ADDITIONAL_SAMPLES) {\r
532 \r
533             logger.info("Reading all orgAuthorities ...");\r
534             details = vbi.displayAllOrgAuthorities(orgAuthorities);\r
535             logger.info(details);\r
536 \r
537             logger.info("Reading all organizations ...");\r
538             orgAuthIds = vbi.readOrgAuthorityIds(orgAuthorities);\r
539             for (String orgAuthId : orgAuthIds) {\r
540                 OrganizationsCommonList items = vbi.readItemsInOrgAuth(orgAuthId);\r
541                 details = vbi.displayAllOrganizations(items);\r
542                 logger.info(details);\r
543             }\r
544 \r
545         }\r
546 \r
547         }\r
548 \r
549 }\r