org.gcube.informationsystem.publisher
Class AdvancedPublisher

java.lang.Object
  extended by org.gcube.informationsystem.publisher.AdvancedPublisherCommonUtils
      extended by org.gcube.informationsystem.publisher.AdvancedPublisher
All Implemented Interfaces:
RegistryPublisher

public class AdvancedPublisher
extends AdvancedPublisherCommonUtils
implements RegistryPublisher

Wrapper class of RegistryPublisherImpl class that implements the RegistryPublisher interface

Author:
rcirillo

Constructor Summary
AdvancedPublisher()
           
AdvancedPublisher(RegistryPublisher publisher)
           
 
Method Summary
<T extends org.gcube.common.resources.gcore.Resource>
T
create(T resource)
          The resource is created in the current scope and it is updated in the other scopes that are presents in the resource.
<T extends org.gcube.common.resources.gcore.Resource>
T
remove(T resource)
          The resource will be removed from current scope.
<T extends org.gcube.common.resources.gcore.Resource>
T
update(T resource)
          The resource will be updated on all the scopes that are defined in the resource.
 
Methods inherited from class org.gcube.informationsystem.publisher.AdvancedPublisherCommonUtils
forceRemove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdvancedPublisher

public AdvancedPublisher()

AdvancedPublisher

public AdvancedPublisher(RegistryPublisher publisher)
Method Detail

create

public <T extends org.gcube.common.resources.gcore.Resource> T create(T resource)
Description copied from interface: RegistryPublisher
The resource is created in the current scope and it is updated in the other scopes that are presents in the resource. If is a VRE scope then in the resource will be added also the VO and INFRA scopes if they are not already presents in the resource If is a VO scope then in the resource will be added also the INFRA scope if it is not already present in the resource

Specified by:
create in interface RegistryPublisher

update

public <T extends org.gcube.common.resources.gcore.Resource> T update(T resource)
Description copied from interface: RegistryPublisher
The resource will be updated on all the scopes that are defined in the resource. If an updating operation fail. It will be repeated with best-effort delivery approach

Specified by:
update in interface RegistryPublisher

remove

public <T extends org.gcube.common.resources.gcore.Resource> T remove(T resource)
Description copied from interface: RegistryPublisher
The resource will be removed from current scope. if the scope is the last scope in the resource, the profile will be deleted from IS else: if it is a VRE scope then the profile will be updated without the VRE scope; if it is a VO scope but there is another VRE scope, belong to the VO, defined in the resource then throw IllegalArgumentException; if it is a INFRA scope but there is another VRE or VO scope , belong to the INFRA, defined in the resource then throw IllegalArgumentException.

Specified by:
remove in interface RegistryPublisher
Returns:
the resource without the current scope if the remove operation has been successfully completed


Copyright © 2014. All Rights Reserved.