Skip Headers
Oracle® Workspaces Web Services Application Developer's Guide
10g Release 1 (10.1.2.2)

Part Number B28207-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

14 Views Service

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.

Example: Create View, Add Items to View, and Search for Views that Contain Item

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());
    }
  }    
  
}