managerservice.java
来自「一个完整的XACML工程,学习XACML技术的好例子!」· Java 代码 · 共 120 行
JAVA
120 行
/*
* TestingService.java
*
* Created on 14 August 2006, 20:41
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.globus.services.core.manager.impl;
import org.globus.wsrf.security.SecurityManager;
import org.globus.gsi.jaas.JaasSubject;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.security.auth.Subject;
import java.rmi.RemoteException;
import org.globus.wsrf.Resource;
import org.globus.wsrf.ResourceProperties;
import org.globus.wsrf.ResourceProperty;
import org.globus.wsrf.ResourcePropertySet;
import org.globus.wsrf.impl.ReflectionResourceProperty;
import org.globus.wsrf.impl.SimpleResourcePropertySet;
import org.globus.stubs.ManagerService_instance.*;
import org.globus.stubs.ManagerService_instance.service.*;
import org.globus.stubs.TestingService_instance.*;
import org.globus.stubs.TestingService_instance.service.*;
import java.util.Properties;
import org.apache.axis.message.addressing.Address;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.w3c.dom.Element;
import org.globus.wsrf.security.Constants;
import javax.xml.rpc.Stub;
import org.globus.wsrf.impl.security.descriptor.ClientSecurityDescriptor;
import org.globus.wsrf.impl.security.authorization.NoAuthorization;
import org.globus.axis.util.Util;
/**
*
* @author ls97
*/
public class ManagerService implements Resource, ResourceProperties {
static Log logger = LogFactory.getLog(ManagerService.class.getName());
private ResourcePropertySet propSet;
private String type;
/** Creates a new instance of PrintingService */
public ManagerService() throws RemoteException {
this.propSet = new SimpleResourcePropertySet(
ManagerQNames.RESOURCE_PROPERTIES);
try {
ResourceProperty typeRP = new ReflectionResourceProperty(
ManagerQNames.RP_TYPE, "Fool", this);
this.propSet.add(typeRP);
setFool("foo");
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
public void setFool(String typeIn) {
this.type=typeIn;
}
public String getFool() {
return this.type;
}
public SubmitResponse submit(SubmitRequest req) throws RemoteException {
logger.debug("submit");
String user = req.getUserSecDes();
String act = req.getOperation();
int minutes = req.getParameter();
String service = req.getService();
logger.debug("user's security descriptor = "+user);
logger.debug("requested operation = "+act);
logger.debug("requested parameter = "+minutes);
logger.debug("requested service = "+service);
TestingServiceAddressingLocator locator = new TestingServiceAddressingLocator();
try {
// Create endpoint reference to service
EndpointReferenceType endpoint = new EndpointReferenceType();
endpoint.setAddress(new Address(service));
TestingPortType tester = locator.getTestingPortTypePort(endpoint);
String CLIENT_DESC = user;
tester = locator.getTestingPortTypePort(endpoint);
((Stub)tester)._setProperty(Constants.CLIENT_DESCRIPTOR_FILE,CLIENT_DESC);
((Stub)tester)._setProperty(Constants.GSI_SEC_CONV,Constants.ENCRYPTION);
((Stub)tester)._setProperty(Constants.AUTHORIZATION,NoAuthorization.getInstance());
try {
if (act.equals("watch")) {
tester.watch(minutes);
logger.debug("watch "+minutes+" minutes. done!");
} else if (act.equals("start")) {
tester.start(minutes);
logger.debug("start for "+minutes+" minutes. done!");
} else if (act.equals("stop")) {
StopRequest r = new StopRequest();
tester.stop(r);
logger.debug("stop. done! ");
} else throw new RemoteException("access deny");
} catch (Exception e) {
throw new RemoteException("access deny");
}
} catch (Exception e) {
throw new RemoteException("access deny");
}
SubmitResponse response = null;
return response;
}
/* Required by interface ResourceProperties */
public ResourcePropertySet getResourcePropertySet() {
return this.propSet;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?