package edu.usc.glidein.service.impl;

import java.rmi.RemoteException;

import org.apache.axis.message.addressing.EndpointReferenceType;
import org.globus.wsrf.ResourceContext;

import edu.usc.glidein.stubs.types.EmptyObject;
import edu.usc.glidein.stubs.types.Site;

public class SiteService 
{
	private SiteResource getResource() throws RemoteException
	{
		try {
			return (SiteResource) ResourceContext.getResourceContext().getResource();
		} catch (Exception e) {
			throw new RemoteException("Unable to find site resource", e);
		}	
	}
	
	public Site getSite(EmptyObject empty) throws RemoteException
	{
		return getResource().getSite();
	}
	
	public EmptyObject submit(EndpointReferenceType credential) throws RemoteException
	{
		getResource().submit(credential);
		return new EmptyObject();
	}
	
	public EmptyObject remove(boolean force) throws RemoteException
	{
		getResource().remove(force);
		return new EmptyObject();
	}
}
@@ -172,16 +172,60 @@
 ntext;%0A%0A
+import edu.usc.glidein.stubs.RemoveRequest;%0A
 import e
@@ -874,21 +874,29 @@
 ove(
-boolean force
+RemoveRequest request
 ) th
@@ -911,32 +911,131 @@
 oteException%0A%09%7B%0A
+%09%09boolean force = request.isForce();%0A%09%09EndpointReferenceType credential = request.getCredential();%0A
 %09%09getResource().
@@ -1046,16 +1046,27 @@
 ve(force
+,credential
 );%0A%09%09ret

Add delegated credential to remove operation