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