Oracle® Workspaces Web Services Application Developer's Guide 10g Release 1 (10.1.2.2) Part Number B28207-01 |
|
|
View PDF |
The Views service allows you to create, update, retrieve, and delete views. Use views to group together and conveniently view disparate workspace content on one page.
The following sample creates a meeting and a board in a workspace, creates a view, adds the meeting and board to the view, and outputs the views that contain the board:
Example 14-1 ViewsServiceSample.java
package oracle.sample.workspaces.ws; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import oracle.workspaces.ws.AuthenticationService; import oracle.workspaces.ws.DiscussionService; import oracle.workspaces.ws.HomeService; import oracle.workspaces.ws.MeetingsService; import oracle.workspaces.ws.ViewsService; import oracle.workspaces.ws.ViewsServiceServiceLocator; import oracle.workspaces.ws.ViewsServiceSoapBindingStub; import oracle.workspaces.ws.beans.BoardItem; import oracle.workspaces.ws.beans.MeetingResourceItem; import oracle.workspaces.ws.beans.ViewItemDefinition; import oracle.workspaces.ws.beans.ViewResourceItem; import oracle.workspaces.ws.beans.WorkspaceItem; import oracle.workspaces.ws.exceptions.CwWSException; import org.apache.axis.transport.http.HTTPConstants; public class ViewsServiceSample { public static ViewsService configureViewsService( String szAuthCookie) throws ServiceException { ViewsServiceServiceLocator vssl = new ViewsServiceServiceLocator(); ViewsService vService = vssl.getViewsService(); ((ViewsServiceSoapBindingStub)vService). setMaintainSession(true); ((javax.xml.rpc.Stub)vService). _setProperty(HTTPConstants.HEADER_COOKIE, szAuthCookie); return vService; } public static ViewResourceItem createView( ViewsService szViewsService, String szWorkspaceID, String szName, String szDesc, String[] szItems) throws RemoteException, CwWSException { ViewResourceItem currentView = null; ViewItemDefinition viewDef = new ViewItemDefinition(); viewDef.setName(szName); viewDef.setDescription(szDesc); // Create view try { currentView = szViewsService.createView( szWorkspaceID, viewDef); } catch (CwWSException e) { // Retrieve view if it already exists ViewResourceItem[] allViews = szViewsService.listViews(szWorkspaceID); if (allViews != null) { for (int i=0; i<allViews.length; i++) { if (allViews[i].getName().equalsIgnoreCase(szName)) { currentView = szViewsService.getViewByUid( szWorkspaceID, allViews[i].getId()); break; } } } } System.out.println("Created view"); // Add items to view szViewsService.addItems( szWorkspaceID, currentView.getId(), szItems); System.out.println("Added items to view"); return currentView; } public static ViewResourceItem[] outputParentViews( ViewsService szViewsService, String szWorkspaceID, String szItemId) throws RemoteException, CwWSException { ViewResourceItem[] currentViews = szViewsService.listParentViews(szWorkspaceID, szItemId); if (currentViews == null) { System.out.println("No views found"); } else { System.out.println("Views containting specified item:"); for (int i=0; i<currentViews.length; i++) { System.out.println("View #" + i + " Name: " + currentViews[i].getName()); } } return currentViews; } public static void main(String[] args) { try { // Get authentication cookie AuthenticationService myAuthenticationService = AuthenticationSample.configureAuthenticationService( "rg4", "welcome1"); String authCookie = AuthenticationSample.getAuthenticationCookie (myAuthenticationService); System.out.println("Retrieved authentication cookie : " + authCookie); // Get ViewsService and set authentication cookie ViewsService myViewsService = ViewsServiceSample.configureViewsService(authCookie); // Get MeetingsService and set authentication cookie MeetingsService myMeetingsService = MeetingsServiceSample.configureMeetingsService(authCookie); // Get DiscussionSerivce and set authentication cookie DiscussionService myDiscussionService = DiscussionServiceSample.configureDiscussionService(authCookie); // Retrieve HomeService and set authentication cookie HomeService myHomeService = HomeServiceSample.configureHomeService(authCookie); // Create new workspace (or retrieve it if it already exists) WorkspaceItem myWorkspace = HomeServiceSample.createOrRetrieveWorkspace( myHomeService, "NewWorkspace", "My New Workspace", "Description of My New Workspace", "WRITER", "ENABLED"); System.out.println("Retrieved or created workspace"); // Create a board BoardItem myBoard = DiscussionServiceSample.createDiscussionBoard( myDiscussionService, myWorkspace.getWorkspaceUid()); System.out.println("Created board"); // Create a meeting MeetingResourceItem myMeeting = MeetingsServiceSample.createMeetingForToday( myMeetingsService, myWorkspace.getWorkspaceUid()); System.out.println("Created meeting"); // Create a new view, and put the board // and meeting into that view String myBoardID = myBoard.getId(); String myMeetingID = myMeeting.getId(); String[] myItems = new String[]{ myBoardID, myMeetingID}; ViewsServiceSample.createView( myViewsService, myWorkspace.getWorkspaceUid(), "My view", "My view description", myItems); System.out.println("Created view with items"); // Output the views that contain the board ViewsServiceSample.outputParentViews( myViewsService, myWorkspace.getWorkspaceUid(), myBoardID); myAuthenticationService.logout(); } catch (CwWSException cwwse) { System.out.println("CwWSException caught: " + cwwse.toString()); cwwse.printStackTrace(); } catch (Exception e) { System.out.println("Exception caught: " + e.toString()); } } }