From e5240a5eba2b93d063250a82546e4f25cf0700ab Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Fri, 28 Dec 2012 19:56:47 +0000 Subject: [PATCH] exploited the new common library git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/resource-sweeper@65429 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../resourcesweeper/Resource_sweeper.gwt.xml | 2 +- .../client/dialog/SweeperDialog.java | 4 +- .../client/grids/ResourceGridFactory.java | 2 +- .../client/model/ResourceDetailModel.java | 822 ------------------ .../client/model/ResourceTypeDecorator.java | 83 -- .../shared/AtomicTreeNode.java | 100 --- .../shared/CompleteResourceProfile.java | 81 -- 7 files changed, 4 insertions(+), 1090 deletions(-) delete mode 100644 src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceDetailModel.java delete mode 100644 src/main/java/org/gcube/portlets/admin/resourcesweeper/client/model/ResourceTypeDecorator.java delete mode 100644 src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/AtomicTreeNode.java delete mode 100644 src/main/java/org/gcube/portlets/admin/resourcesweeper/shared/CompleteResourceProfile.java 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; - } - -}