diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/Resource_sweeper.gwt.xml b/src/main/java/org/gcube/portlets/admin/resourcesweeper/Resource_sweeper.gwt.xml
index bdf5bf1..8d5dda1 100644
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/Resource_sweeper.gwt.xml
+++ b/src/main/java/org/gcube/portlets/admin/resourcesweeper/Resource_sweeper.gwt.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/dialog/SweeperDialog.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/dialog/SweeperDialog.java
index d27c3ed..6756238 100644
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/dialog/SweeperDialog.java
+++ b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/dialog/SweeperDialog.java
@@ -23,9 +23,9 @@ import org.gcube.portlets.admin.resourcesweeper.client.async.SweeperService;
import org.gcube.portlets.admin.resourcesweeper.client.async.SweeperServiceAsync;
import org.gcube.portlets.admin.resourcesweeper.client.clientlogs.ConsoleMessageBroker;
import org.gcube.portlets.admin.resourcesweeper.client.grids.ResourceGridFactory;
-import org.gcube.portlets.admin.resourcesweeper.client.model.ResourceTypeDecorator;
-import org.gcube.portlets.admin.resourcesweeper.shared.AtomicTreeNode;
import org.gcube.portlets.admin.resourcesweeper.shared.SweeperActions;
+import org.gcube.resourcemanagement.support.client.views.ResourceTypeDecorator;
+import org.gcube.resourcemanagement.support.shared.types.datamodel.AtomicTreeNode;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.Style.SelectionMode;
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/grids/ResourceGridFactory.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/grids/ResourceGridFactory.java
index 2dcb86f..745524b 100644
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/grids/ResourceGridFactory.java
+++ b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/grids/ResourceGridFactory.java
@@ -20,7 +20,7 @@ import java.util.List;
import org.gcube.portlets.admin.resourcesweeper.client.Commands;
import org.gcube.portlets.admin.resourcesweeper.client.clientlogs.ConsoleMessageBroker;
-import org.gcube.portlets.admin.resourcesweeper.client.model.ResourceDetailModel;
+import org.gcube.resourcemanagement.support.shared.types.datamodel.ResourceDetailModel;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.data.BaseListLoader;
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceDetailModel.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceDetailModel.java
deleted file mode 100644
index 8274e45..0000000
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceDetailModel.java
+++ /dev/null
@@ -1,822 +0,0 @@
-/****************************************************************************
- * This software is part of the gCube Project.
- * Site: http://www.gcube-system.org/
- ****************************************************************************
- * The gCube/gCore software is licensed as Free Open Source software
- * conveying to the EUPL (http://ec.europa.eu/idabc/eupl).
- * The software and documentation is provided by its authors/distributors
- * "as is" and no expressed or
- * implied warranty is given for its use, quality or fitness for a
- * particular case.
- ****************************************************************************
- * Filename: ResourceDetailDecorator.java
- ****************************************************************************
- * @author Daniele Strollo
- ***************************************************************************/
-
-package org.gcube.portlets.admin.resourcesweeper.client.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-import com.extjs.gxt.ui.client.data.BaseModelData;
-import com.extjs.gxt.ui.client.data.ModelType;
-import com.extjs.gxt.ui.client.store.ListStore;
-import com.extjs.gxt.ui.client.widget.form.CheckBox;
-import com.extjs.gxt.ui.client.widget.form.NumberField;
-import com.extjs.gxt.ui.client.widget.grid.CellEditor;
-import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
-import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
-import com.extjs.gxt.ui.client.widget.grid.ColumnData;
-import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
-import com.extjs.gxt.ui.client.widget.grid.Grid;
-import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.i18n.client.NumberFormat;
-
-/**
- * @author Massimiliano Assante (ISTI-CNR)
- * @author Daniele Strollo
- */
-public class ResourceDetailModel {
- private static boolean initialized = false;
-
- public static final String SERVICE_INSTALL_KEY = "toDeploy";
-
- private static HashMap RECORD_DEFINITION = null;
- private static HashMap XML_MAPPING = null;
- private static HashMap REQUIRED_FIELDS = null;
-
- private static void init() {
- if (initialized) {
- return;
- }
- initialized = true;
-
- RECORD_DEFINITION = new HashMap();
- XML_MAPPING = new HashMap();
-
- /*********************************************
- * GHN
- ********************************************/
- // The column model for grid representation
- List modelColumns = new ArrayList();
-
- modelColumns.add(new ColumnConfig("Name", "Name", 250));
-
-
-
- ColumnConfig status = new ColumnConfig("Status", "Status", 65);
-
- GridCellRenderer statusRender = new GridCellRenderer() {
- @Override
- public String render(BaseModelData model, String property, ColumnData config,
- int rowIndex, int colIndex, ListStore store, Grid grid) {
- String statusToCheck = (String)model.get(property);
- String style = "gray";
- if (statusToCheck.compareTo("certified") == 0)
- style = "green";
- else if (statusToCheck.compareTo("ready") == 0)
- style = "orange";
- return "" + statusToCheck + "";
- }
- };
- status.setRenderer(statusRender);
- modelColumns.add(status);
-
- modelColumns.add(new ColumnConfig("LastUpdate", "Last Updated", 130));
- modelColumns.add(new ColumnConfig("gCoreVersion", "gCore v.", 50));
- modelColumns.add(new ColumnConfig("ghnVersion", "ghn v.", 40));
-
-
- ColumnConfig ramLeft = new ColumnConfig("VirtualAvailable", "V. Mem left", 70);
- ramLeft.setAlignment(HorizontalAlignment.RIGHT);
- ramLeft.setEditor(new CellEditor(new NumberField()));
- final NumberFormat number = NumberFormat.getFormat("#,##0;(#,##0)");
-
- GridCellRenderer ramRender = new GridCellRenderer() {
- @Override
- public String render(BaseModelData model, String property, ColumnData config,
- int rowIndex, int colIndex, ListStore store, Grid grid) {
- int val = Integer.parseInt((String)model.get(property));
-
- int tot = Integer.parseInt((String) model.get("VirtualSize"));
-
- int percentage = (val * 100) / tot;
-
- String style = val < 100 ? "red" : "green";
- String toDisplay = number.format(val).replaceAll(",", ".");
- toDisplay += " MB";
-
- return "" + percentage + "% ("+toDisplay+")";
- }
- };
- ramLeft.setRenderer(ramRender);
-
- modelColumns.add(ramLeft);
-
-
- ColumnConfig localSpace = new ColumnConfig("LocalAvailableSpace", "HD Space left", 70);
- localSpace.setAlignment(HorizontalAlignment.RIGHT);
- localSpace.setEditor(new CellEditor(new NumberField()));
-
- GridCellRenderer mbRender = new GridCellRenderer() {
- @Override
- public String render(BaseModelData model, String property, ColumnData config,
- int rowIndex, int colIndex, ListStore store, Grid grid) {
- int val = Integer.parseInt((String)model.get(property));
- String style = val < 1000000 ? "red" : "green";
- String toDisplay = number.format(val);
- if (toDisplay.length() > 4)
- toDisplay = toDisplay.substring(0, toDisplay.length()-4).replaceAll(",", ".");
- toDisplay += " MB";
- return "" + toDisplay + "";
- }
- };
-
- localSpace.setRenderer(mbRender);
- modelColumns.add(localSpace);
-
-
- //Optional
- ColumnConfig ramTotal = new ColumnConfig("VirtualSize", "V. Memory total", 70);
- ramTotal.setAlignment(HorizontalAlignment.RIGHT);
- ramTotal.setEditor(new CellEditor(new NumberField()));
-
- GridCellRenderer ramTotRender = new GridCellRenderer() {
- @Override
- public String render(BaseModelData model, String property, ColumnData config,
- int rowIndex, int colIndex, ListStore store, Grid grid) {
- int val = Integer.parseInt((String)model.get(property));
- String toDisplay = number.format(val).replaceAll(",", ".");
- toDisplay += " MB";
- return toDisplay;
- }
- };
- ramTotal.setRenderer(ramTotRender);
- modelColumns.add(ramTotal);
-
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("Uptime", "Up Time", 100));
- modelColumns.add(new ColumnConfig("LoadLast15Min", "Load Last 15 Min", 100));
- modelColumns.add(new ColumnConfig("LoadLast1Min", "Load Last 1 Min", 100));
- modelColumns.add(new ColumnConfig("LoadLast5Min", "Load Last 5 Min", 100));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- ColumnModel cm = new ColumnModel(modelColumns);
- // The hidden fields after the 5 column
- for (int i = 7; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.GHN.name(), cm);
-
- // defines the xml structure
- ModelType type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("Status");
- type.addField("Name");
- type.addField("Uptime");
- type.addField("LastUpdate");
- type.addField("VirtualAvailable");
- type.addField("VirtualSize");
- type.addField("gCoreVersion", "gcf-version");
- type.addField("ghnVersion", "ghn-version");
- type.addField("LocalAvailableSpace");
- type.addField("LoadLast15Min");
- type.addField("LoadLast1Min");
- type.addField("LoadLast5Min");
- type.addField("Scopes");
-
- // These fields are internally used and not showable
- type.addField("SubType");
- type.addField("Type");
-
- XML_MAPPING.put(ResourceTypeDecorator.GHN.name(), type);
-
-
- /*********************************************
- * Collection
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("Name", "Name", 470));
- modelColumns.add(new ColumnConfig("NumberOfMembers", "Cardinality", 70));
- modelColumns.add(new ColumnConfig("LastUpdateTime", "Last Updated", 170));
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
-
- //Optional
- modelColumns.add(new ColumnConfig("CreationTime", "Creation Time", 170));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
- //modelColumns.add(new ColumnConfig("NumberOfMembers", "Number Of Members", 115)); //not available anymore
-
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 4; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.Collection.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("Name");
- type.addField("CreationTime");
- type.addField("LastUpdateTime");
- type.addField("NumberOfMembers");
- type.addField("Scopes");
- type.addField("SubType");
- type.addField("Type");
-
-
- XML_MAPPING.put(ResourceTypeDecorator.Collection.name(), type);
-
-
- /*********************************************
- * Service
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
-
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 200));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 260));
- modelColumns.add(new ColumnConfig("Version", "Main Package Version", 100));
- //Optional
- modelColumns.add(new ColumnConfig("Shareable", "Shareable", 100));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 3; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.Service.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("Version");
- type.addField("Shareable");
- type.addField("Scopes");
-
- // These fields are internally used and not showable
- type.addField("SubType");
- type.addField("Type");
-
-
- XML_MAPPING.put(ResourceTypeDecorator.Service.name(), type);
-
-
-
- /*********************************************
- * InstallableSoftware
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
-
- // adds the checkbox to the model
- CheckColumnConfig checkColumn =
- new CheckColumnConfig(ResourceDetailModel.SERVICE_INSTALL_KEY, "Deploy", 60);
- CellEditor checkBoxEditor = new CellEditor(new CheckBox());
- checkColumn.setEditor(checkBoxEditor);
- modelColumns.add(checkColumn);
-
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 250));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 250));
- modelColumns.add(new ColumnConfig("Version", "Main Package Version", 100));
- //Optional
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 3; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.InstallableSoftware.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("Version");
- type.addField("Scopes");
-
- // These fields are internally used and not showable
- type.addField("SubType");
- type.addField("Type");
-
-
- XML_MAPPING.put(ResourceTypeDecorator.InstallableSoftware.name(), type);
-
-
-
- /*********************************************
- * RunningInstance
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 200));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 260));
- modelColumns.add(new ColumnConfig("Version", "Version", 100));
- modelColumns.add(new ColumnConfig("Status", "Status", 65));
- modelColumns.add(new ColumnConfig("GHN", "GHN", 300));
- //Optional
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 5; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.RunningInstance.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("Version");
- type.addField("Status");
- // a) This is the GHNID type.addField("GHN", "/Profile/GHN/@UniqueID");
- // b) While this is its name
- type.addField("GHN", "ghn-name");
- type.addField("Scopes");
-
- // These fields are internally used and not showable
- type.addField("SubType");
- type.addField("Type");
-
-
- XML_MAPPING.put(ResourceTypeDecorator.RunningInstance.name(), type);
-
-
-
- /*********************************************
- * VIEW
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("ViewName", "View Name", 200));
- modelColumns.add(new ColumnConfig("SourceKey", "Source Key", 200));
- modelColumns.add(new ColumnConfig("LastUpdate", "Last Update", 270));
- modelColumns.add(new ColumnConfig("Cardinality", "Cardinality", 100));
- //Optional
- modelColumns.add(new ColumnConfig("ViewType", "View Type", 170));
- modelColumns.add(new ColumnConfig("RelatedCollectionId", "Related Collection Id", 220));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 170));
- modelColumns.add(new ColumnConfig("Termination", "Termination Time", 270));
-
- modelColumns.add(new ColumnConfig("Source", "Source", 230));
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 170));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("RI", "RI", 220));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 4; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.VIEW.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ViewName");
- type.addField("Cardinality");
- type.addField("ViewType");
- type.addField("RelatedCollectionId");
- type.addField("Source");
- type.addField("SourceKey");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("Termination", "TerminationTimeHuman");
- type.addField("LastUpdate", "LastUpdateHuman");
- type.addField("Scopes", "/scopes");
- type.addField("SubType", "SubType");
- type.addField("RI");
- type.addField("Type");
-
-
- GWT.log("VIew Name: " + ResourceTypeDecorator.VIEW.name());
- XML_MAPPING.put(ResourceTypeDecorator.VIEW.name(), type);
-
-
- /*********************************************
- * GenericResource
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("Name", "Name", 500));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
-
- //Optional
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("SubType", "Secondary Type", 170));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 2; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.GenericResource.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("Name");
- type.addField("Scopes");
- type.addField("SubType");
- type.addField("Type");
-
- XML_MAPPING.put(ResourceTypeDecorator.GenericResource.name(), type);
-
- /*********************************************
- * RuntimeResource
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("Name", "Name", 300));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
-
- //Optional
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("SubType", "Category", 370));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 3; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.RuntimeResource.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("Name");
- type.addField("Scopes");
- type.addField("SubType");
- type.addField("Type");
-
- XML_MAPPING.put(ResourceTypeDecorator.RuntimeResource.name(), type);
-
-
-
- /*********************************************
- * WSResources
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("SourceKey", "Source Key", 230));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 170));
- modelColumns.add(new ColumnConfig("Termination", "Termination Time", 270));
- modelColumns.add(new ColumnConfig("LastUpdate", "Last Update", 270));
- //Optional
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
- modelColumns.add(new ColumnConfig("Source", "Source", 230));
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 170));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 300));
- modelColumns.add(new ColumnConfig("RI", "RI", 220));
- modelColumns.add(new ColumnConfig("SubType", "SubType", 200));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 4; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.WSResource.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName(ResourceTypeDecorator.WSResource.name());
-
- type.addField("ID");
- type.addField("Source");
- type.addField("SourceKey");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("Termination", "TerminationTimeHuman");
- type.addField("LastUpdate", "LastUpdateHuman");
- type.addField("Scopes", "/scopes");
- type.addField("SubType", "SubType");
- type.addField("RI");
- type.addField("Type");
- XML_MAPPING.put(ResourceTypeDecorator.WSResource.name(), type);
-
-
- /*********************************************
- * PROFILES OF RELATED RESOURCES: GHN
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("ServiceClass", "Service Class", 200));
- modelColumns.add(new ColumnConfig("ServiceName", "Service Name", 260));
- modelColumns.add(new ColumnConfig("ServiceVersion", "Service Version", 100));
- modelColumns.add(new ColumnConfig("MainVersion", "Main Version", 100));
- modelColumns.add(new ColumnConfig("Status", "Status", 65));
- //Optional
- modelColumns.add(new ColumnConfig("ID", "ID", 220));
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 5; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.GHNRelated.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("ServiceVersion");
- type.addField("MainVersion");
- type.addField("Status");
- XML_MAPPING.put(ResourceTypeDecorator.GHNRelated.name(), type);
-
-
- /*********************************************
- * PROFILES OF RELATED RESOURCES: RunningInstance
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("Key", "Name", 200));
- modelColumns.add(new ColumnConfig("Value", "Value", 260));
- // create the column model
- cm = new ColumnModel(modelColumns);
- RECORD_DEFINITION.put(ResourceTypeDecorator.RunningInstanceRelated.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("Key");
- type.addField("Value");
- XML_MAPPING.put(ResourceTypeDecorator.RunningInstanceRelated.name(), type);
-
-
- /*********************************************
- * PROFILES OF RELATED RESOURCES: Service
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
- modelColumns.add(new ColumnConfig("RIID", "RI ID", 90));
- modelColumns.add(new ColumnConfig("ServiceStatus", "RI Status", 70));
- modelColumns.add(new ColumnConfig("RIVersion", "Serv.Version", 70));
- modelColumns.add(new ColumnConfig("ActivationTime", "RI ActivationTime", 170));
- modelColumns.add(new ColumnConfig("GHNName", "GHN Name", 100));
- modelColumns.add(new ColumnConfig("GHNStatus", "GHN Status", 70));
-
- modelColumns.add(new ColumnConfig("GHNID", "GHN ID", 100));
- modelColumns.add(new ColumnConfig("GHNSite", "GHN Site", 100));
- modelColumns.add(new ColumnConfig("GHNLoad15Min", "GHNLoad15Min", 50));
- modelColumns.add(new ColumnConfig("GHNLoad5Min", "GHNLoad5Min", 50));
- modelColumns.add(new ColumnConfig("GHNLoad1Min", "GHNLoad1Min", 50));
- modelColumns.add(new ColumnConfig("GHNActivationTime", "GHNActivationTime", 100));
- modelColumns.add(new ColumnConfig("GHNLastUpdate", "GHNLastUpdate", 100));
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 6; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
- RECORD_DEFINITION.put(ResourceTypeDecorator.ServiceRelated.name(), cm);
-
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("RIID");
- type.addField("ServiceStatus");
- type.addField("ActivationTime");
- type.addField("GHNID");
- type.addField("RIVersion");
- type.addField("GHNName");
- type.addField("GHNSite");
- type.addField("GHNStatus");
- type.addField("GHNLoad15Min");
- type.addField("GHNLoad5Min");
- type.addField("GHNLoad1Min");
- type.addField("GHNActivationTime");
- type.addField("GHNLastUpdate");
- XML_MAPPING.put(ResourceTypeDecorator.ServiceRelated.name(), type);
-
- /*********************************************
- * MODEL FOR SWEEPER GHN
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
-
- modelColumns.add(new ColumnConfig("Name", "Name", 130));
- modelColumns.add(new ColumnConfig("Status", "Status", 50));
- ColumnConfig minElapsed = (new ColumnConfig("UpdateMinutesElapsed", "Minutes from Update", 130));
- minElapsed.setAlignment(HorizontalAlignment.CENTER);
- modelColumns.add(minElapsed);
- modelColumns.add(new ColumnConfig("AllocatedRI", "#RI", 40));
- modelColumns.add(new ColumnConfig("LastUpdate", "LastUpdate", 130));
-
- // hidden fields
- modelColumns.add(new ColumnConfig("Actions", "Actions", 260));
- modelColumns.add(new ColumnConfig("ID", "ID", 200));
- modelColumns.add(new ColumnConfig("Type", "Type", 100));
- modelColumns.add(new ColumnConfig("Location", "Location", 100));
- modelColumns.add(new ColumnConfig("Domain", "Domain", 100));
- modelColumns.add(new ColumnConfig("IPAddress", "IPAddress", 100));
- modelColumns.add(new ColumnConfig("Scopes", "Scopes", 100));
-
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 5; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
-
-
- RECORD_DEFINITION.put(ResourceTypeDecorator.Sweeper_GHN.name(), cm);
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("Name");
- type.addField("Actions");
-
- type.addField("Status");
- type.addField("AllocatedRI");
- type.addField("Type");
- type.addField("Location");
- type.addField("Domain");
- type.addField("IPAddress");
- type.addField("Scopes");
- type.addField("LastUpdate");
- type.addField("UpdateMinutesElapsed");
- XML_MAPPING.put(ResourceTypeDecorator.Sweeper_GHN.name(), type);
-
-
- /*********************************************
- * MODEL FOR SWEEPER RI
- ********************************************/
- // The column model for grid representation
- modelColumns = new ArrayList();
-
- modelColumns.add(new ColumnConfig("ID", "ID", 120));
- modelColumns.add(new ColumnConfig("ServiceClass", "ServiceClass", 100));
- modelColumns.add(new ColumnConfig("ServiceName", "ServiceName", 100));
- modelColumns.add(new ColumnConfig("ghnid", "GHN ID", 120));
-
- // hidden fields
- modelColumns.add(new ColumnConfig("Actions", "Actions", 260));
- modelColumns.add(new ColumnConfig("ServiceStatus", "Status", 90));
- modelColumns.add(new ColumnConfig("ActivationTime", "Activation Time", 140));
-
-
- // create the column model
- cm = new ColumnModel(modelColumns);
- for (int i = 4; i < modelColumns.size(); i++) {
- cm.setHidden(i, true);
- }
-
- RECORD_DEFINITION.put(ResourceTypeDecorator.Sweeper_RI.name(), cm);
- // defines the xml structure
- type = new ModelType();
- type.setRoot("Resources");
- type.setRecordName("Resource");
- type.addField("ID");
- type.addField("ServiceStatus");
- type.addField("ServiceClass");
- type.addField("ServiceName");
- type.addField("ActivationTime");
- type.addField("ghnid");
- type.addField("Actions");
- XML_MAPPING.put(ResourceTypeDecorator.Sweeper_RI.name(), type);
-
-
-
- /*********************************************
- * VALIDATORS
- ********************************************/
- /*
- * REQUIRED FIELDS
- */
-
- REQUIRED_FIELDS = new HashMap();
-
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.GHN.name(),
- new String[] {
- "Name",
- "SubType",
- "ID",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.Collection.name(),
- new String[] {
- "Name",
- "SubType",
- "ID",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.GenericResource.name(),
- new String[] {
- "Name",
- "SubType",
- "ID",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.RuntimeResource.name(),
- new String[] {
- "Name",
- "SubType",
- "ID",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.VIEW.name(),
- new String[] {
- "Name",
- "SubType",
- "ID",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.RunningInstance.name(),
- new String[] {
- "ServiceClass",
- "ServiceName",
- "ID",
- "SubType",
- "Scopes",
- "GHN"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.Service.name(),
- new String[] {
- "ServiceClass",
- "ServiceName",
- "ID",
- "SubType",
- "Scopes"
- });
- REQUIRED_FIELDS.put(
- ResourceTypeDecorator.WSResource.name(),
- new String[] {
- "SourceKey",
- "ServiceName",
- "ID",
- "SubType",
- "Scopes"
- });
- }
-
-
- public static final ColumnModel getRecordDefinition(final String nodeID) {
- init();
- return RECORD_DEFINITION.get(nodeID);
- }
-
- public static final ModelType getXMLMapping(final String nodeID) {
- init();
- return XML_MAPPING.get(nodeID);
- }
-
- public static final String[] getRequiredFields(final String type) {
- init();
- return REQUIRED_FIELDS.get(type);
- }
-}
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceTypeDecorator.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceTypeDecorator.java
deleted file mode 100644
index b0992c0..0000000
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceTypeDecorator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
- * This software is part of the gCube Project.
- * Site: http://www.gcube-system.org/
- ****************************************************************************
- * The gCube/gCore software is licensed as Free Open Source software
- * conveying to the EUPL (http://ec.europa.eu/idabc/eupl).
- * The software and documentation is provided by its authors/distributors
- * "as is" and no expressed or
- * implied warranty is given for its use, quality or fitness for a
- * particular case.
- ****************************************************************************
- * Filename: ResourceTypeDecorator.java
- ****************************************************************************
- * @author Daniele Strollo
- ***************************************************************************/
-
-package org.gcube.portlets.admin.resourcesweeper.client.model;
-/**
- * @author Daniele Strollo
- * @author Massimiliano Asssante (ISTI-CNR)
- *
- */
-public enum ResourceTypeDecorator {
- /****************************************
- * RESOURCES IN THE TREE
- ****************************************/
- GHN("gCube Hosting Node", "ghn-icon"),
- RunningInstance("Running Instances", "runninginstance-icon"),
- Service("Software", "service-icon"),
- VIEW("View", "metadatacollection-icon"),
- GenericResource("Generic Resources", "genericresource-icon"),
- Collection("Collection", "collection-icon"),
- WSResource("WSResource", "wsresources-icon"),
- Empty("Empty Tree", "empty-icon"),
- RuntimeResource("Runtime Resources", "runtimeresource-icon"),
-
- /****************************************
- * Other components
- ****************************************/
- // For deploying services - similar to the software but with an
- // extension to handle checkbox for install
- InstallableSoftware("InstallableSoftware", "empty-icon"),
- // In the taskbar for handlig the refresh of deployment reports
- DeployReport("Deploy Report", "report-big-icon"),
- AddScopeReport("Add Scope Report", "report-big-icon"),
-
-
- /****************************************
- * Related resources
- ****************************************/
- GHNRelated("Running Instances", "runninginstance-icon"),
- ServiceRelated("Running Instances", "runninginstance-icon"),
- RunningInstanceRelated("Running Instances", "runninginstance-icon"),
-
- /****************************************
- * Models for SWEEPER
- ***************************************/
- Sweeper_GHN("gCube Hosting Node", "ghn-icon"),
- Sweeper_RI("Running Instance", "runninginstance-icon"),
- Sweeper_RI_Orphan("Orphan Running Instance", "orphan-runninginstance-icon"),
- Sweeper_GHN_Expired("Expired gHN", "expired-ghn-icon"),
- Sweeper_GHN_Dead("Dead gHN", "dead-ghn-icon");
-
-
-
- private String label = null;
- private String icon = null;
-
- ResourceTypeDecorator(
- final String label,
- final String icon) {
- this.label = label;
- this.icon = icon;
- }
-
- public String getLabel() {
- return this.label;
- }
-
- public String getIcon() {
- return this.icon;
- }
-}
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/AtomicTreeNode.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/AtomicTreeNode.java
deleted file mode 100644
index dd635bd..0000000
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/AtomicTreeNode.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
- * This software is part of the gCube Project.
- * Site: http://www.gcube-system.org/
- ****************************************************************************
- * The gCube/gCore software is licensed as Free Open Source software
- * conveying to the EUPL (http://ec.europa.eu/idabc/eupl).
- * The software and documentation is provided by its authors/distributors
- * "as is" and no expressed or
- * implied warranty is given for its use, quality or fitness for a
- * particular case.
- ****************************************************************************
- * Filename: AtomicTreeNode.java
- ****************************************************************************
- * @author Daniele Strollo
- ***************************************************************************/
-
-package org.gcube.portlets.admin.resourcesweeper.shared;
-
-import com.extjs.gxt.ui.client.data.BaseTreeModel;
-
-/**
- * @author Daniele Strollo (ISTI-CNR)
- *
- */
-public class AtomicTreeNode extends BaseTreeModel {
- private static final long serialVersionUID = 5094327834701967591L;
- private static int ID = 0;
-
- /**
- * @deprecated fr serialization only
- */
- public AtomicTreeNode() {
- set("id", ID++);
- }
-
- public AtomicTreeNode(final String node) {
- this(node, null);
- }
-
- /**
- * The node is used as original node of the element useful to retrieve it from the IS.
- * The name is instead used for pretty printing (aliasing).
- * @param node the corresponding IS node
- * @param name if null the node will be used instead
- */
- public AtomicTreeNode(final String node, final String name) {
- set("id", ID++);
- set("node", node);
- if (name == null) {
- set("name", node);
- } else {
- set("name", name);
- }
- }
-
- public AtomicTreeNode(final String node, final String name, final String icon) {
- this(node, name);
- set("icon", icon);
- }
-
- public AtomicTreeNode(final String node, final String name, final AtomicTreeNode[] children) {
- this(node, name);
- for (int i = 0; i < children.length; i++) {
- add(children[i]);
- }
- }
-
- public AtomicTreeNode(final String node, final String name, final String icon, final AtomicTreeNode[] children) {
- this(node, name, children);
- set("icon", icon);
- }
-
- public final Integer getId() {
- return (Integer) get("id");
- }
-
- public final String getName() {
- return (String) get("name");
- }
-
- public final String getNode() {
- return (String) get("node");
- }
-
- public final String getLabel() {
- return (String) get("label");
- }
-
- public final String toString() {
- return getName();
- }
-
- public final String getSubType() {
- if (this.isLeaf() && this.getParent() != null) {
- return this.getNode();
- }
- return null;
- }
-
-}
diff --git a/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/CompleteResourceProfile.java b/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/CompleteResourceProfile.java
deleted file mode 100644
index 9c168ce..0000000
--- a/src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/CompleteResourceProfile.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
- * This software is part of the gCube Project.
- * Site: http://www.gcube-system.org/
- ****************************************************************************
- * The gCube/gCore software is licensed as Free Open Source software
- * conveying to the EUPL (http://ec.europa.eu/idabc/eupl).
- * The software and documentation is provided by its authors/distributors
- * "as is" and no expressed or
- * implied warranty is given for its use, quality or fitness for a
- * particular case.
- ****************************************************************************
- * Filename: ResourceProfile.java
- ****************************************************************************
- * @author Daniele Strollo
- ***************************************************************************/
-
-package org.gcube.portlets.admin.resourcesweeper.shared;
-
-import java.io.Serializable;
-
-import org.gcube.portlets.admin.resourcesweeper.client.model.ResourceTypeDecorator;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-/**
- * The profile of resources is represented by its
- * xml and html representations and its title (the name
- * or the ID) and the type (GHN, RI, ...).
- * @author Daniele Strollo (ISTI-CNR)
- *
- */
-public class CompleteResourceProfile implements Serializable, IsSerializable {
- private static final long serialVersionUID = 1L;
- private String xmlRepresentation = null;
- private String htmlRepresentation = null;
- private ResourceTypeDecorator type = null;
- private String title = null;
- private String ID = null;
-
- /**
- * @deprecated for serialization only
- */
- public CompleteResourceProfile() {
- }
-
-
- public CompleteResourceProfile(String ID, ResourceTypeDecorator type, String title, String xmlRepresentation,
- String htmlRepresentation) {
- super();
- this.ID = ID;
- this.type = type;
- this.title = title;
- this.xmlRepresentation = xmlRepresentation;
- this.htmlRepresentation = htmlRepresentation;
- }
-
-
- public String getXmlRepresentation() {
- return xmlRepresentation;
- }
-
-
- public String getHtmlRepresentation() {
- return htmlRepresentation;
- }
-
-
- public ResourceTypeDecorator getType() {
- return type;
- }
-
-
- public String getTitle() {
- return title;
- }
-
- public String getID() {
- return ID;
- }
-
-}