2016-02-10 15:15:01 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
2016-02-17 14:17:31 +01:00
|
|
|
package org.gcube.testutility;
|
2016-02-10 15:15:01 +01:00
|
|
|
|
2016-02-10 16:49:09 +01:00
|
|
|
import java.io.StringWriter;
|
|
|
|
|
|
|
|
import org.gcube.common.resources.gcore.Resource;
|
|
|
|
import org.gcube.common.resources.gcore.Resources;
|
|
|
|
import org.gcube.informationsystem.publisher.RegistryPublisher;
|
|
|
|
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
|
|
|
|
import org.gcube.informationsystem.publisher.exception.RegistryNotFoundException;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
2016-02-10 15:15:01 +01:00
|
|
|
/**
|
2016-10-12 14:24:02 +02:00
|
|
|
* @author Luca Frosini (ISTI - CNR)
|
2016-02-10 15:15:01 +01:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class TestUtility {
|
|
|
|
|
2016-02-10 16:49:09 +01:00
|
|
|
/**
|
|
|
|
* Logger
|
|
|
|
*/
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(TestUtility.class);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Publish the provided resource on current scope
|
|
|
|
* @param resource to be published
|
|
|
|
* @throws RegistryNotFoundException if the Registry is not found so the
|
|
|
|
* resource has not be published
|
|
|
|
*/
|
|
|
|
public static void publishResource(Resource resource) throws Exception {
|
|
|
|
StringWriter stringWriter = new StringWriter();
|
|
|
|
Resources.marshal(resource, stringWriter);
|
|
|
|
|
|
|
|
RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
|
|
|
|
|
|
|
try {
|
2017-07-14 11:11:50 +02:00
|
|
|
logger.debug("Trying to publish to {}:\n{}", ScopedTest.getCurrentContext(), stringWriter);
|
2016-02-10 16:49:09 +01:00
|
|
|
registryPublisher.create(resource);
|
|
|
|
} catch (Exception e) {
|
|
|
|
logger.error("The resource was not published", e);
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Remove the resource from IS from curretn scope
|
|
|
|
* @param resource to be unpublished
|
|
|
|
* @throws RegistryNotFoundException if the Registry is not found so the
|
|
|
|
* resource has not be published
|
|
|
|
*/
|
|
|
|
public static void unPublishResource(Resource resource) throws Exception {
|
|
|
|
//StringWriter stringWriter = new StringWriter();
|
|
|
|
//Resources.marshal(resource, stringWriter);
|
|
|
|
|
|
|
|
RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
|
|
|
|
|
|
|
String id = resource.id();
|
2017-07-14 11:11:50 +02:00
|
|
|
logger.debug("Trying to remove {} with ID {} from {}", resource.getClass().getSimpleName(), id, ScopedTest.getCurrentContext());
|
2016-02-10 16:49:09 +01:00
|
|
|
|
|
|
|
registryPublisher.remove(resource);
|
|
|
|
|
|
|
|
logger.debug("{} with ID {} removed successfully", resource.getClass().getSimpleName(), id);
|
|
|
|
}
|
|
|
|
|
2016-02-10 15:15:01 +01:00
|
|
|
}
|