diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 152e5b6..8f1da17 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -20,7 +20,6 @@
-
diff --git a/pom.xml b/pom.xml
index 97318e6..2fe1b19 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,7 +148,31 @@
org.gcube.resources.discovery
ic-client
-
+
+ org.gcube.core
+ common-scope-maps
+
+
+ org.gcube.resourcemanagement
+ resourcemanager-client
+ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ compile
+
+
+ org.gcube.resources
+ registry-publisher
+
+
+ org.gcube.resourcemanagement
+ ghn-manager-client
+ [1.1.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ compile
+
+
diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java
index 3a5467b..ac62807 100644
--- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java
+++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java
@@ -3,8 +3,13 @@ package org.gcube.portlets.admin.systemservicedefinition;
import javax.portlet.ActionRequest;
import javax.portlet.RenderRequest;
import javax.portlet.ResourceRequest;
+import javax.servlet.http.HttpServletRequest;
+import org.gcube.common.authorization.library.provider.AccessTokenProvider;
import org.gcube.common.portal.PortalContext;
+import org.gcube.oidc.rest.JWTToken;
+import org.gcube.portal.oidc.lr62.JWTTokenUtil;
+import org.gcube.portal.oidc.lr62.OIDCUmaUtil;
import org.gcube.portlets.admin.systemservicedefinition.util.UserCredentials;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,7 +36,17 @@ public class SessionUtil {
PortalContext pContext = PortalContext.getConfiguration();
String currentScope=pContext.getCurrentScope(""+groupId);
- UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope);
+ String accessToken = pContext.getCurrentUserToken(currentScope, username);
+
+ /*
+ HttpServletRequest httpRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest));
+ JWTToken umaToken = OIDCUmaUtil.getUMAToken(httpRequest, username, currentScope); //context non encodato, e.g. /gcube/devsec
+ //oppure OIDCUmaUtil.getUMAToken(httprequest, userId (long), context);
+ AccessTokenProvider.instance.set(JWTTokenUtil.getAccessTokenString(umaToken));
+ String accessToken = AccessTokenProvider.instance.get();
+ */
+
+ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope,accessToken);
logger.info(serviceCredentials.toString());
return serviceCredentials;
}
@@ -44,7 +59,17 @@ public class SessionUtil {
PortalContext pContext = PortalContext.getConfiguration();
String currentScope=pContext.getCurrentScope(""+groupId);
- UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope);
+ String accessToken = pContext.getCurrentUserToken(currentScope, username);
+
+ /*
+ HttpServletRequest httpRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(actionRequest));
+ JWTToken umaToken = OIDCUmaUtil.getUMAToken(httpRequest, username, currentScope); //context non encodato, e.g. /gcube/devsec
+ //oppure OIDCUmaUtil.getUMAToken(httprequest, userId (long), context);
+ AccessTokenProvider.instance.set(JWTTokenUtil.getAccessTokenString(umaToken));
+ String accessToken = AccessTokenProvider.instance.get();
+ */
+
+ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope, accessToken);
logger.info(serviceCredentials.toString());
return serviceCredentials;
}
@@ -57,8 +82,18 @@ public class SessionUtil {
long groupId = PortalUtil.getScopeGroupId(resourceRequest);
PortalContext pContext = PortalContext.getConfiguration();
String currentScope = pContext.getCurrentScope("" + groupId);
-
- UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope);
+
+ String accessToken = pContext.getCurrentUserToken(currentScope, username);
+
+ /*
+ HttpServletRequest httpRequest = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(resourceRequest));
+ JWTToken umaToken = OIDCUmaUtil.getUMAToken(httpRequest, username, currentScope); //context non encodato, e.g. /gcube/devsec
+ //oppure OIDCUmaUtil.getUMAToken(httprequest, userId (long), context);
+ AccessTokenProvider.instance.set(JWTTokenUtil.getAccessTokenString(umaToken));
+ String accessToken = AccessTokenProvider.instance.get();
+ */
+
+ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope, accessToken);
logger.info(serviceCredentials.toString());
return serviceCredentials;
}
diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java
index 6835fd4..20e2818 100644
--- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java
+++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java
@@ -21,6 +21,8 @@ import org.gcube.portlets.admin.systemservicedefinition.definition.DefDescriptio
import org.gcube.portlets.admin.systemservicedefinition.definition.DefinitionItem;
import org.gcube.portlets.admin.systemservicedefinition.event.CreateSSDEvent;
import org.gcube.portlets.admin.systemservicedefinition.event.CreateSSDEventPublisher;
+import org.gcube.portlets.admin.systemservicedefinition.is.InformationSystemUtils;
+import org.gcube.portlets.admin.systemservicedefinition.shared.Constants;
import org.gcube.portlets.admin.systemservicedefinition.util.UserCredentials;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -162,7 +164,7 @@ public class SystemServiceDefinition extends MVCPortlet {
}
private void tableInteraction(ResourceRequest resourceRequest, ResourceResponse resourceResponse,
- UserCredentials userCredentials) throws IOException {
+ UserCredentials userCredentials) throws IOException, PortletException {
String searchValue = ParamUtil.getString(resourceRequest, "search[value]");
int start = ParamUtil.getInteger(resourceRequest, "start");
@@ -177,7 +179,8 @@ public class SystemServiceDefinition extends MVCPortlet {
}
private void listItems(ResourceRequest request, ResourceResponse resourceResponse, UserCredentials userCredentials,
- int start, int length, String searchValue, int draw,int orderColumn, String orderDirection) throws IOException {
+ int start, int length, String searchValue, int draw, int orderColumn, String orderDirection)
+ throws IOException, PortletException {
StringBuilder tableRequested = new StringBuilder();
tableRequested.append("Table requested [start=");
tableRequested.append(start);
@@ -193,20 +196,28 @@ public class SystemServiceDefinition extends MVCPortlet {
tableRequested.append(orderDirection);
tableRequested.append("]");
logger.debug(tableRequested.toString());
-
-
- //Create
- ArrayList itemsList = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- DefinitionItem definitionItem = new DefinitionItem("client_id_" + i, "description_" + i, "xxxx_" + i);
- itemsList.add(definitionItem);
+ // Create
+ ArrayList itemsList;
+ /*
+ * for (int i = 0; i < 10; i++) { DefinitionItem definitionItem = new
+ * DefinitionItem("client_id_" + i, "description_" + i, "client_id_" + i,
+ * "xxxx_" + i); itemsList.add(definitionItem);
+ *
+ * }
+ */
+ try {
+ itemsList = InformationSystemUtils.retrieveSSD(Constants.SYSTEM_SERVICE_CATEGORY,
+ userCredentials.getCurrentScope(), userCredentials.getAccessToken());
+ } catch (Exception e) {
+ logger.error("Error retrieving System Services from IS. {}", e.getLocalizedMessage(), e);
+ throw new PortletException("Error retrieving System Services from IS. " + e.getLocalizedMessage(), e);
}
int count = itemsList.size();
- //Filter
+ // Filter
ArrayList filteredItemsList = new ArrayList<>();
if (searchValue != null && !searchValue.isEmpty()) {
for (DefinitionItem definitionItem : itemsList) {
@@ -219,12 +230,12 @@ public class SystemServiceDefinition extends MVCPortlet {
}
int recordsFiltered = itemsList.size();
-
- //Order
+
+ // Order
reorderData(orderColumn, orderDirection, itemsList);
-
- //Create data Window
- if (start > recordsFiltered) {
+
+ // Create data Window
+ if (start > recordsFiltered) {
start = recordsFiltered;
}
@@ -248,14 +259,14 @@ public class SystemServiceDefinition extends MVCPortlet {
private void reorderData(int orderColumn, String orderDirection, ArrayList itemsList) {
switch (orderColumn) {
case 0:
- if(orderDirection!=null&&orderDirection.compareTo("asc")==0) {
+ if (orderDirection != null && orderDirection.compareTo("asc") == 0) {
Collections.sort(itemsList, Collections.reverseOrder(new DefClientIdComparator()));
} else {
Collections.sort(itemsList, new DefClientIdComparator());
}
break;
case 1:
- if(orderDirection!=null&&orderDirection.compareTo("asc")==0) {
+ if (orderDirection != null && orderDirection.compareTo("asc") == 0) {
Collections.sort(itemsList, Collections.reverseOrder(new DefDescriptionComparator()));
} else {
Collections.sort(itemsList, new DefDescriptionComparator());
@@ -348,14 +359,23 @@ public class SystemServiceDefinition extends MVCPortlet {
break;
}
logger.debug("Requested: [clientId={}, description={}]", clientId, description);
- String secret = UUID.randomUUID().toString();
- String encryptedSecret = null; // StringEncrypter.getEncrypter().encrypt(secret);
- DefinitionItem definitionItem = new DefinitionItem(clientId, description, secret);
-
-
- // publishCreateSSDEvent(definitionItem);
- SessionMessages.add(actionRequest, "success-definition-created");
- actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
+ try {
+ String username = clientId;
+ String secret = UUID.randomUUID().toString();
+ DefinitionItem definitionItem = new DefinitionItem(clientId, description, username, secret);
+ InformationSystemUtils.publishSSD(definitionItem, Constants.SYSTEM_SERVICE_CATEGORY,
+ userCredentials.getCurrentScope(), userCredentials.getAccessToken());
+ // publishCreateSSDEvent(definitionItem);
+ SessionMessages.add(actionRequest, "success-definition-created");
+ actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(),e);
+ SessionErrors.add(actionRequest, "error-create-definition");
+ SessionMessages.add(actionRequest,
+ PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
+ actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
+
+ }
break;
case "cancel":
logger.debug("Cancel Request");
diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/definition/DefinitionItem.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/definition/DefinitionItem.java
index c28ded6..3d77a94 100644
--- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/definition/DefinitionItem.java
+++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/definition/DefinitionItem.java
@@ -13,12 +13,18 @@ public class DefinitionItem implements Serializable {
private String clientId;
private String description;
+ private String username;
private String secret;
- public DefinitionItem(String clientId, String description, String secret) {
+ public DefinitionItem() {
+ super();
+ }
+
+ public DefinitionItem(String clientId, String description, String username, String secret) {
super();
this.clientId = clientId;
this.description = description;
+ this.username = username;
this.secret = secret;
}
@@ -38,6 +44,14 @@ public class DefinitionItem implements Serializable {
this.description = description;
}
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
public String getSecret() {
return secret;
}
@@ -52,7 +66,7 @@ public class DefinitionItem implements Serializable {
@Override
public String toString() {
- return "DefinitionItem [clientId=" + clientId + ", description=" + description + ", secret=" + secret + "]";
+ return "DefinitionItem [clientId=" + clientId + ", description=" + description + ", username=" + username
+ + ", secret=" + secret + "]";
}
-
}
diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/is/InformationSystemUtils.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/is/InformationSystemUtils.java
index 6153a7c..cc1e012 100644
--- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/is/InformationSystemUtils.java
+++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/is/InformationSystemUtils.java
@@ -1,10 +1,21 @@
package org.gcube.portlets.admin.systemservicedefinition.is;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import org.gcube.common.authorization.library.provider.AccessTokenProvider;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.encryption.encrypter.StringEncrypter;
+import org.gcube.common.resources.gcore.ScopeGroup;
import org.gcube.common.resources.gcore.ServiceEndpoint;
+import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
+import org.gcube.common.resources.gcore.ServiceEndpoint.Profile;
import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.informationsystem.publisher.RegistryPublisher;
+import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
+import org.gcube.informationsystem.publisher.ScopedPublisher;
+import org.gcube.portlets.admin.systemservicedefinition.definition.DefinitionItem;
import org.gcube.resources.discovery.client.api.DiscoveryClient;
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
import org.gcube.resources.discovery.icclient.ICFactory;
@@ -15,7 +26,8 @@ public class InformationSystemUtils {
private static Logger logger = LoggerFactory.getLogger(InformationSystemUtils.class);
- public static void retrieveSSD(String category, String scope, String token) throws Exception {
+ public static ArrayList retrieveSSD(String category, String scope, String token) throws Exception {
+
try {
logger.debug("Retrieve System Services Definition on IS");
@@ -26,9 +38,8 @@ public class InformationSystemUtils {
throw new Exception("Invalid token: " + scope);
ScopeProvider.instance.set(scope);
- SecurityTokenProvider.instance.set(token);
-
- //
+ // AccessTokenProvider.instance.set(token);
+ // SecurityTokenProvider.instance.set(token);
SimpleQuery query = ICFactory.queryFor(ServiceEndpoint.class);
query.addCondition("$resource/Profile/Category/text() eq '" + category + "'");
@@ -38,41 +49,25 @@ public class InformationSystemUtils {
logger.debug("Retrieved: " + resources);
- /*
- * String serviceAddress = null; ArrayList serviceProperties =
- * new ArrayList<>();
- *
- * if (accessPointList != null && !accessPointList.isEmpty()) { for (int i = 0;
- * i < accessPointList.size(); i++) { AccessPoint accessPoint =
- * accessPointList.get(i); if (accessPoint != null) { if (i == 0) { if
- * (accessPoint.address() != null && !accessPoint.address().isEmpty()) { String
- * accessPointAddress = accessPoint.address(); int wpsWebProcessingServiceIndex
- * = accessPointAddress .indexOf(Constants.WPSWebProcessingService); if
- * (wpsWebProcessingServiceIndex > 0) { serviceAddress =
- * accessPointAddress.substring(0, wpsWebProcessingServiceIndex); } } }
- *
- * String categoryDescription; if (accessPoint.description() == null &&
- * accessPoint.description().isEmpty()) { categoryDescription =
- * Constants.DATA_MINER_DEFAULT_SERVICE_INFO_CATEGORY; } else {
- * categoryDescription = accessPoint.description(); }
- *
- * if (accessPoint.properties() != null && !accessPoint.propertyMap().isEmpty())
- * { for (String key : accessPoint.propertyMap().keySet()) { Property property =
- * accessPoint.propertyMap().get(key); if (property != null && property.name()
- * != null && !property.name().isEmpty()) { if (property.name().contains(":")) {
- * String[] propertyWithCategory = property.name().split(":"); if
- * (propertyWithCategory.length >= 2) { serviceProperties.add(new
- * ServiceInfoData(propertyWithCategory[1], property.value(),
- * propertyWithCategory[0])); } else { serviceProperties.add(new
- * ServiceInfoData(property.name(), property.value(), categoryDescription)); } }
- * else { serviceProperties.add(new ServiceInfoData(property.name(),
- * property.value(), categoryDescription)); } }
- *
- * } } } } } ServiceInfo serviceInfo = new ServiceInfo(serviceAddress,
- * serviceProperties);
- *
- * logger.debug("DataMiner Service Info: " + serviceInfo); return serviceInfo;
- */
+ ArrayList ssdList = new ArrayList();
+
+ for (ServiceEndpoint se : resources) {
+ DefinitionItem definitionItem = new DefinitionItem();
+ definitionItem.setClientId(se.profile().name());
+ definitionItem.setDescription(se.profile().description());
+ for (AccessPoint accessPoint : se.profile().accessPoints()) {
+ definitionItem.setUsername(accessPoint.username());
+ String decryptedSecret = StringEncrypter.getEncrypter().decrypt(accessPoint.password());
+
+ definitionItem.setSecret(decryptedSecret);
+ break;
+ }
+ ssdList.add(definitionItem);
+ }
+
+ logger.debug("SSDList: {}", ssdList);
+ return ssdList;
+
} catch (Throwable e) {
logger.error("Error in discovery System Services Endpoint in scope: " + scope);
logger.error(e.getLocalizedMessage(), e);
@@ -80,4 +75,71 @@ public class InformationSystemUtils {
}
}
+ public static void publishSSD(DefinitionItem definitionItem, String category, String scope, String token)
+ throws Exception {
+ if (definitionItem == null)
+ throw new Exception("Invalid definition: " + definitionItem);
+
+ if (category == null || category.isEmpty())
+ throw new Exception("Invalid category: " + category);
+
+ if (scope == null || scope.isEmpty())
+ throw new Exception("Invalid scope: " + scope);
+
+ if (token == null || token.isEmpty())
+ throw new Exception("Invalid token: " + token);
+
+ ServiceEndpoint toPublish = new ServiceEndpoint();
+
+ /*List scopes = new ArrayList();
+ scopes.add(scope);
+ Collection col = toPublish.scopes().asCollection();
+ col.addAll(scopes);*/
+
+ toPublish.newProfile();
+ toPublish.profile().description(definitionItem.getDescription());
+ toPublish.profile().name(definitionItem.getClientId());
+ toPublish.profile().category(category);
+ //toPublish.profile().version("1.0.0");
+
+ AccessPoint accessPoint = new AccessPoint();
+ //String encryptedPassword = StringEncrypter.getEncrypter().encrypt(definitionItem.getSecret());
+ accessPoint.credentials(definitionItem.getSecret(), definitionItem.getUsername());
+ accessPoint.description("Keycloak client credentials");
+ accessPoint.address("accounts.dev.d4science.org");
+ accessPoint.name(definitionItem.getClientId());
+ toPublish.profile().accessPoints().add(accessPoint);
+
+ toPublish.profile().newPlatform().name("d4science");
+ toPublish.profile().platform().version((short) 0);
+ toPublish.profile().platform().minorVersion((short) 0);
+ toPublish.profile().platform().revisionVersion((short) 0);
+ toPublish.profile().platform().buildVersion((short) 0);
+
+
+ toPublish.profile().newRuntime().hostedOn("d4science.org");
+ toPublish.profile().runtime().status("READY");
+
+
+
+ logger.debug("Request publish: {}", toPublish);
+ try {
+ ScopeProvider.instance.set(scope);
+ // AccessTokenProvider.instance.set(token);
+ // SecurityTokenProvider.instance.set(token);
+
+ RegistryPublisher publisher = RegistryPublisherFactory.create();
+
+ String id = publisher.create(toPublish).id();
+ logger.debug("Created new RR sent, Got from publisher: id=" + id);
+
+ // ScopedPublisher sp=RegistryPublisherFactory.scopedPublisher();
+ // toPublish = sp.create(toPublish,scopes);
+ } catch (Exception e) {
+ logger.error("Error publishing the ssd on IS: {}", e.getLocalizedMessage(), e);
+ throw e;
+ }
+ logger.debug("Published on IS");
+
+ }
}
diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/util/UserCredentials.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/util/UserCredentials.java
index 74a16b6..3809ebf 100644
--- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/util/UserCredentials.java
+++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/util/UserCredentials.java
@@ -13,16 +13,18 @@ public class UserCredentials implements Serializable {
private long userId;
private String username;
private String currentScope;
+ private String accessToken;
public UserCredentials() {
super();
}
- public UserCredentials(long userId, String username, String currentScope) {
+ public UserCredentials(long userId, String username, String currentScope, String accessToken) {
super();
this.userId = userId;
this.username = username;
this.currentScope = currentScope;
+ this.accessToken = accessToken;
}
public long getUserId() {
@@ -49,13 +51,22 @@ public class UserCredentials implements Serializable {
this.currentScope = currentScope;
}
+ public String getAccessToken() {
+ return accessToken;
+ }
+
+ public void setAccessToken(String accessToken) {
+ this.accessToken = accessToken;
+ }
+
public static long getSerialversionuid() {
return serialVersionUID;
}
@Override
public String toString() {
- return "UserCredentials [userId=" + userId + ", username=" + username + ", currentScope=" + currentScope + "]";
+ return "UserCredentials [userId=" + userId + ", username=" + username + ", currentScope=" + currentScope
+ + ", accessToken=" + accessToken + "]";
}
}
\ No newline at end of file
diff --git a/src/test/java/org/gcube/portlets/admin/systemservicedefinition/ISTest.java b/src/test/java/org/gcube/portlets/admin/systemservicedefinition/ISTest.java
index 7610312..41c0faf 100644
--- a/src/test/java/org/gcube/portlets/admin/systemservicedefinition/ISTest.java
+++ b/src/test/java/org/gcube/portlets/admin/systemservicedefinition/ISTest.java
@@ -2,14 +2,11 @@ package org.gcube.portlets.admin.systemservicedefinition;
import static org.junit.Assert.assertTrue;
-import java.util.List;
-
-import org.gcube.common.resources.gcore.GenericResource;
+import org.gcube.portlets.admin.systemservicedefinition.definition.DefinitionItem;
import org.gcube.portlets.admin.systemservicedefinition.is.InformationSystemUtils;
import org.gcube.portlets.admin.systemservicedefinition.shared.Constants;
import org.junit.Ignore;
import org.junit.Test;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,5 +34,22 @@ public class ISTest {
}
}
+
+ @Ignore
+ public void publishSSD() {
+
+ try {
+ DefinitionItem definitionItem=new DefinitionItem("sample-client-name", "sample-client-description",
+ "sample-client-description", "xxxxx-xxxx-xxx-xxxx");
+ InformationSystemUtils.publishSSD(definitionItem,Constants.SYSTEM_SERVICE_CATEGORY, Constants.DEFAULT_SCOPE,
+ Constants.DEFAULT_TOKEN);
+ assertTrue(true);
+
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage(), e);
+ assertTrue("Error publishing the resource!", false);
+ }
+
+ }
}
\ No newline at end of file