This commit is contained in:
Manuele Simi 2008-05-02 23:53:30 +00:00
parent c6231670d2
commit 34c9918e53
4 changed files with 43 additions and 48 deletions

View File

@ -4,6 +4,6 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/GCORELIBS"/>
<classpathentry kind="lib" path="/home/manuele/ISTI-projects/D4Science/development/svn/DEV/GCORE/CONTAINER/lib/org.gcube.informationsystem.registry.stubs.jar"/>
<classpathentry kind="lib" path="/Dependencies/ISREGISTRY/org.gcube.informationsystem.registry.stubs.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -281,63 +281,58 @@ public class RegistryFactory extends GCUBEStartupPortType{
String ID = inputMessage.getUniqueID();
String type = inputMessage.getType();
if (ID == null || ID.compareTo("") ==0) {
logger.debug("ID missing ");
throw new RemoteException("Error, ID missing");
logger.warn("Resource ID is missing");
throw new RemoteException("Resource ID is missing");
}
//check if the UniqueID exist
if (!(isResourceCreated(ID))){
GCUBEResource resource = null;
/*GCUBEResource resource = null;
try {
resource = RegistryUtil.getProfileFromIS(ID,this.getResourceClass(type).getClass());
} catch (Exception e1) {
logger.error("Error gettign profile from IS ");
return new RemoveResourceResponse();
}
if( resource == null) return new RemoveResourceResponse();
else {
logger.debug("Try to remove the resource from the IS-IC");
}*/
//if( resource == null) return new RemoveResourceResponse();
//else {
logger.debug("trying to remove the resource from the IS-IC");
try {
new ProfileManager().removeFromISIC(ID, resource.getType(), ServiceContext.getContext().getCredentials());
new ProfileManager().removeFromISIC(ID, type, ServiceContext.getContext().getCredentials());
logger.debug("resource removed");
} catch (Exception e) {
logger.error("Unable to remove the resource", e);
throw ServiceContext.getContext().getDefaultException("", e).toFault("Unable to remove the resource: the remote IS-IC returns an error");
}
}
return new RemoveResourceResponse();
//}
try {
if (type.compareTo(GCUBEHostingNode.TYPE) == 0)
RegistryUtil.unregisterRIRelatedToGHN(ID,this);
} catch (Exception e) {
logger.error("Error removing profile related to this GHNID for ID ", e);
}
try{
ProfileResource resource = getProfileResource(ID );
resource.removeProfile();
RegistryServiceAddressingLocator locator = new RegistryServiceAddressingLocator();
RegistryPortType portType = locator.getRegistryPortTypePort(resource.getEPR());
//destroy resource
portType.destroy(new Destroy());
}
catch (Exception e) {
e.printStackTrace();
logger.error("Error removing resource for ID "+ e);
throw new RemoteException();
}
try {
if (type.compareTo(GCUBEHostingNode.TYPE) == 0) {
RegistryUtil.unregisterRIRelatedToGHN(ID,this);
if (this.isResourceCreated(ID)){
//destroy the resource
try{
ProfileResource resource = getProfileResource(ID );
resource.removeProfile();
RegistryServiceAddressingLocator locator = new RegistryServiceAddressingLocator();
RegistryPortType portType = locator.getRegistryPortTypePort(resource.getEPR());
portType.destroy(new Destroy());
logger.info(" profile resource destroyed");
}
catch (Exception e) {
logger.error("Error removing resource for ID ", e);
throw new RemoteException();
}
try {
updateCounterInfo(ID,type,OperationType.destroy.name(),Calendar.getInstance());
}
catch (Exception e) {
logger.warn("Error updating counting info for resource with ID " + ID);
}
}
catch (Exception e) {
logger.error("Error removing profile related to this GHNID for ID "+ e);
e.printStackTrace();
}
logger.info(" Profile destroyed");
try {
updateCounterInfo(ID,type,OperationType.destroy.name(),Calendar.getInstance());
}
catch (Exception e) {
logger.warn("Error updating counting info for resource with ID " + ID);
//e.printStackTrace();
}
return new RemoveResourceResponse();
}
@ -349,7 +344,6 @@ public class RegistryFactory extends GCUBEStartupPortType{
* @param methodName The Method Name
*/
private void logSecurityInfo(String methodName) {
logger.info("Security info for method "+ methodName );
String identity = SecurityManager.getManager().getCaller();
logger.info("The caller is: " + identity);

View File

@ -18,7 +18,7 @@ public class ProfileManager {
protected static final GCUBELog logger=new GCUBELog(ProfileManager.class);
protected static final String ISICpostfix = "ISICService";
protected static final String ISICpostfix = "DISICService";
protected URL isIcAddress;

View File

@ -5,6 +5,7 @@ import java.io.StringWriter;
import org.apache.axis.message.addressing.Address;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.gcube.common.core.contexts.GCUBERemotePortTypeContext;
import org.gcube.common.core.resources.GCUBEHostingNode;
import org.gcube.common.core.resources.GCUBEService;
import org.gcube.common.core.scope.GCUBEScope;
import org.gcube.common.core.security.GCUBESecurityManagerImpl;
@ -22,7 +23,7 @@ public class RegistryRemoveTest {
GCUBESecurityManagerImpl managerSec = new GCUBESecurityManagerImpl() { public boolean isSecurityEnabled() {return true;}};
ExtendedGSSCredential cred =org.diligentproject.dvos.authentication.util.ProxyUtil.loadProxyCredentials(args[2]);
ExtendedGSSCredential cred; // =org.diligentproject.dvos.authentication.util.ProxyUtil.loadProxyCredentials(args[2]);
EndpointReferenceType factoryEPR = new EndpointReferenceType();
@ -35,11 +36,11 @@ public class RegistryRemoveTest {
}
RemoveResourceMessage message = new RemoveResourceMessage();
managerSec.useCredentials(cred);
registryFactoryPortType =GCUBERemotePortTypeContext.getProxy(registryFactoryPortType,GCUBEScope.getScope("/gcube/devsec"),managerSec);
//managerSec.useCredentials(cred);
registryFactoryPortType =GCUBERemotePortTypeContext.getProxy(registryFactoryPortType,GCUBEScope.getScope(args[2]),managerSec);
try {
StringWriter writer =new StringWriter();
message.setType(GCUBEService.TYPE);
message.setType(GCUBEHostingNode.TYPE);
message.setUniqueID(args[1]);
registryFactoryPortType.removeResource(message);