From b3e9a91388790867e200541df8c6493c46ce7f47 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Tue, 20 Nov 2018 11:29:41 +0000 Subject: [PATCH] fixing Bug #12914 The form to add/choice the resources to publishing remains frozen git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@174234 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 5 ++ pom.xml | 2 +- .../ResourceCellRight.java | 2 +- .../TwinColumnSelectionMainPanel.java | 59 +++++++++++-------- .../client/ui/form/CreateDatasetForm.java | 42 ++++++------- 5 files changed, 63 insertions(+), 47 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 32db9ed..e316dd5 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,9 @@ + + [Bug #12914] The form to add/choice the resources to publishing remains frozen + diff --git a/pom.xml b/pom.xml index 085bfed..bf3a99c 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.widgets ckan-metadata-publisher-widget - 1.4.0-SNAPSHOT + 1.4.1-SNAPSHOT gCube Ckan metadata publisher widget diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceCellRight.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceCellRight.java index e41a8ff..e4f7748 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceCellRight.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/ResourceCellRight.java @@ -53,7 +53,7 @@ public class ResourceCellRight extends AbstractCell{ public void onBrowserEvent(com.google.gwt.cell.client.Cell.Context context, Element parent, ResourceElementBean value, NativeEvent event, ValueUpdater valueUpdater) { - if(value == null || TwinColumnSelectionMainPanel.freezed) + if(value == null || TwinColumnSelectionMainPanel.isFroozen()) return; super.onBrowserEvent(context, parent, value, event, valueUpdater); ResourceInfoForm info = new ResourceInfoForm(value, valueUpdater); diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/TwinColumnSelectionMainPanel.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/TwinColumnSelectionMainPanel.java index ad67283..67b3d9c 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/TwinColumnSelectionMainPanel.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/TwinColumnSelection/TwinColumnSelectionMainPanel.java @@ -35,12 +35,13 @@ import com.google.gwt.view.client.SelectionChangeEvent; /** * The twin column panels for selection of the files to attach to the catalague product. * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) + * @author Francesco Mangiacrapa at ISTI-CNR */ public class TwinColumnSelectionMainPanel extends Composite{ - @UiField + @UiField VerticalPanel leftContainer; - @UiField + @UiField VerticalPanel rightContainer; @UiField VerticalPanel buttonsPanel; @@ -79,7 +80,7 @@ public class TwinColumnSelectionMainPanel extends Composite{ } } - public static boolean freezed = false; + private static boolean frozen = false; private List pathListBeans = new ArrayList(); private static final String PANEL_BORDER_COLOR = "#8899a6"; private static final String PANEL_HEIGHT = "400px"; @@ -107,7 +108,8 @@ public class TwinColumnSelectionMainPanel extends Composite{ public TwinColumnSelectionMainPanel(ResourceElementBean initialBean) { initWidget(uiBinder.createAndBindUi(this)); - + frozen = false; + GWT.log(initialBean.toString()); this.initialBean = initialBean; @@ -146,10 +148,10 @@ public class TwinColumnSelectionMainPanel extends Composite{ // initialize the left side list ResourceCellLeft cell = new ResourceCellLeft(); - // Set a key provider that provides a unique key for each object. + // Set a key provider that provides a unique key for each object. cellListLeft = new CellList(cell, ResourceElementBean.KEY_PROVIDER); - cellListLeft.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); - + cellListLeft.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); + // set page size int size = initialBean.isFolder() ? initialBean.getChildren().size() : 1; cellListLeft.setPageSize(size); @@ -163,13 +165,13 @@ public class TwinColumnSelectionMainPanel extends Composite{ public void onSelectionChange(SelectionChangeEvent event) { - if(freezed) + if(frozen) return; Iterator selectedObjectsIterator = selectionModelLeft.getSelectedSet().iterator(); while (selectedObjectsIterator.hasNext()) { - ResourceElementBean selectedBean = (ResourceElementBean) selectedObjectsIterator.next(); + ResourceElementBean selectedBean = selectedObjectsIterator.next(); if(selectedBean.isFolder()){ // a single folder selected @@ -240,7 +242,7 @@ public class TwinColumnSelectionMainPanel extends Composite{ dataProviderLeft.setList(initialBean.getChildren()); cellListLeft.setPageSize(initialBean.getChildren().size()); dataProviderLeft.refresh(); - + } }); @@ -303,9 +305,9 @@ public class TwinColumnSelectionMainPanel extends Composite{ // initialize the left side list ResourceCellRight cell = new ResourceCellRight(); - // Set a key provider that provides a unique key for each object. + // Set a key provider that provides a unique key for each object. cellListRight = new CellList(cell, ResourceElementBean.KEY_PROVIDER); - cellListRight.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); + cellListRight.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); cellListRight.setValueUpdater(new ValueUpdater() { @Override @@ -325,7 +327,7 @@ public class TwinColumnSelectionMainPanel extends Composite{ selectionModelRight.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { - if(freezed) + if(frozen) return; enableMoveToLeftButtons(selectionModelRight.getSelectedSet()); @@ -432,9 +434,9 @@ public class TwinColumnSelectionMainPanel extends Composite{ Iterator iterator = setSelected.iterator(); while (iterator.hasNext()) { - ResourceElementBean resourceElementBean = (ResourceElementBean) iterator + ResourceElementBean resourceElementBean = iterator .next(); - resourceElementBean.setToBeAdded(true); + resourceElementBean.setToBeAdded(true); int indexRight = dataProviderRight.getList().indexOf(resourceElementBean); if(indexRight >= 0) @@ -461,8 +463,8 @@ public class TwinColumnSelectionMainPanel extends Composite{ Iterator iterator = setSelected.iterator(); while (iterator.hasNext()) { - ResourceElementBean resourceElementBean = (ResourceElementBean) iterator.next(); - resourceElementBean.setToBeAdded(false); + ResourceElementBean resourceElementBean = iterator.next(); + resourceElementBean.setToBeAdded(false); } Collections.sort(dataProviderLeft.getList()); @@ -475,11 +477,11 @@ public class TwinColumnSelectionMainPanel extends Composite{ */ public void freeze() { - freezed = true; + frozen = true; Iterator iteratorOverPath = breadcrumbs.iterator(); while (iteratorOverPath.hasNext()) { - Widget widget = (Widget) iteratorOverPath.next(); + Widget widget = iteratorOverPath.next(); if(widget instanceof NavLink) ((NavLink)widget).setActive(false); } @@ -495,12 +497,12 @@ public class TwinColumnSelectionMainPanel extends Composite{ * @return the resources to save */ public ResourceElementBean getResourcesToPublish(){ - + List current = dataProviderRight.getList(); - + ResourceElementBean toReturn = new ResourceElementBean(); List children = new ArrayList(); - + for (ResourceElementBean resource : current) { if(resource.isToBeAdded() && !resource.isFolder()){ // be sure ... ResourceElementBean beanWithoutChildren = new ResourceElementBean(resource); @@ -508,11 +510,20 @@ public class TwinColumnSelectionMainPanel extends Composite{ children.add(beanWithoutChildren); } } - + toReturn.setChildren(children); return toReturn; } + + /** + * @return the freezed + */ + public static boolean isFroozen() { + + return frozen; + } + // @UiHandler("getResources") // void getResources(ClickEvent ce){ // getResourcesToPublish(); @@ -527,7 +538,7 @@ public class TwinColumnSelectionMainPanel extends Composite{ // boolean reduce = (pathListBeans.size() - 2) > PATH_THRESHOLD; // // GWT.log("Is to reduce? " + reduce); - // + // // GWT.log("Full size is " + pathListBeans.size()); // // if(!reduce){ diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java index 60eb342..7545fa6 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java @@ -177,8 +177,8 @@ public class CreateDatasetForm extends Composite{ private static final String TRYING_TO_CREATE_PRODUCT = "Trying to publish the item, please wait..."; protected static final String MISSING_PUBLISH_RIGHTS = "It seems you are not authorized to publish on catalogue. Request it to the VRE manager or the portal administrator."; - // tab panel - private TabPanel tabPanel; + // tab panel + private TabPanel tabPanel; // add resource form private AddResourceToDataset resourceForm; @@ -326,16 +326,16 @@ public class CreateDatasetForm extends Composite{ tagsPanel.setVocabulary(vocabularyTags); // retrieve custom fields - Map> customFieldsMap = bean.getCustomFields(); + Map> customFieldsMap = bean.getCustomFields(); // TODO Check if these tags are ok for the vocabulary if(customFieldsMap != null && vocabularyTags == null){ - // get the keys and put them as tags + // get the keys and put them as tags Iterator>> iteratorOverCustomField = customFieldsMap.entrySet().iterator(); while (iteratorOverCustomField.hasNext()) { - Map.Entry> entry = (Map.Entry>) iteratorOverCustomField + Map.Entry> entry = iteratorOverCustomField .next(); List values = entry.getValue(); @@ -372,7 +372,7 @@ public class CreateDatasetForm extends Composite{ nameTitleOrganizationMap.put(organization.getTitle(), organization.getName()); } - // force the selection of the first one, and retrieve the list of profiles + // force the selection of the first one, and retrieve the list of profiles organizationsListbox.setSelectedIndex(0); // add change handler to dynamically retrieve the list of profiles @@ -535,7 +535,7 @@ public class CreateDatasetForm extends Composite{ metadataTypeListbox.setSelectedIndex(0); // get the name of the organization from the title - String selectedOrganizationTitle = organizationsListbox.getSelectedItemText(); + String selectedOrganizationTitle = organizationsListbox.getSelectedItemText(); final String orgName = nameTitleOrganizationMap.get(selectedOrganizationTitle); // try to retrieve the profiles @@ -597,7 +597,7 @@ public class CreateDatasetForm extends Composite{ // check also for tags (if for that context there is a vocabulary or not) - tagsPanel.setVisible(false); + tagsPanel.setVisible(false); setAlertBlock("Checking for tags vocabulary, please wait...", AlertType.INFO, true); ckanServices.getTagsForOrganization(orgName, new AsyncCallback>() { @@ -645,7 +645,7 @@ public class CreateDatasetForm extends Composite{ if(profiles != null && !profiles.isEmpty()){ for(MetaDataProfileBean metadataBean: profiles){ - metadataTypeListbox.addItem(metadataBean.getType()); + metadataTypeListbox.addItem(metadataBean.getType()); // add handler on select metadataTypeListbox.addChangeHandler(new ChangeHandler() { @@ -683,7 +683,7 @@ public class CreateDatasetForm extends Composite{ } metadataTypesControlGroup.setVisible(true); - }else{ + }else{ // just hide this listbox metadataTypesControlGroup.setVisible(false); metadataFieldsPanel.clear(); @@ -758,7 +758,7 @@ public class CreateDatasetForm extends Composite{ } metadataFieldsPanel.add(extrasCategory); } - metadataFieldsPanel.setVisible(true); + metadataFieldsPanel.setVisible(true); } } } @@ -816,7 +816,7 @@ public class CreateDatasetForm extends Composite{ */ private void actionsAfterOnContinue(){ - // check what to do + // check what to do if(isWorkspaceRequest){ // we need to show the page to handle resources one by one from the workspace @@ -993,7 +993,7 @@ public class CreateDatasetForm extends Composite{ receivedBean.setResourceRoot(resourcesTwinPanel.getResourcesToPublish()); receivedBean.setCustomFields(customFieldsMap); - // alert + // alert alertOnCreate(TRYING_TO_CREATE_PRODUCT, AlertType.INFO, false); // invoke the create method @@ -1020,8 +1020,8 @@ public class CreateDatasetForm extends Composite{ goToDatasetButtonPanel.setVisible(true); goToDatasetButton.setVisible(true); goToDatasetButton.setText( - (datasetUrl.length() > 100 ? - datasetUrl.substring(0, 100) + "..." : datasetUrl) + datasetUrl.length() > 100 ? + datasetUrl.substring(0, 100) + "..." : datasetUrl ); // goToDatasetButton.setHref(datasetUrl); goToDatasetButton.addClickHandler(new ClickHandler() { @@ -1083,7 +1083,7 @@ public class CreateDatasetForm extends Composite{ // add the new content of the main panel createDatasetMainPanel.add(container); } - }); + }); } }else{ @@ -1337,8 +1337,8 @@ public class CreateDatasetForm extends Composite{ return "Missing title"; } - // better check for the title - String[] splittedTitle = title.split(" "); + // better check for the title + String[] splittedTitle = title.split(" "); for (String word : splittedTitle) { String replaced = word.replaceAll(REGEX_TITLE_PRODUCT_SUBWORD, ""); @@ -1390,7 +1390,7 @@ public class CreateDatasetForm extends Composite{ * @return */ private boolean checkSelectedMetaDataProfile() { - return metadataTypeListbox.getSelectedItemText().equals(NONE_PROFILE) && (metadataTypeListbox.getItemCount() != 1); + return metadataTypeListbox.getSelectedItemText().equals(NONE_PROFILE) && metadataTypeListbox.getItemCount() != 1; } @UiHandler("resetButton") @@ -1520,8 +1520,8 @@ public class CreateDatasetForm extends Composite{ */ private boolean hideManageResources(){ - return receivedBean.getResourceRoot() == null || (receivedBean.getResourceRoot().isFolder() && (receivedBean.getResourceRoot().getChildren() == null || - receivedBean.getResourceRoot().getChildren().isEmpty())); + return receivedBean.getResourceRoot() == null || receivedBean.getResourceRoot().isFolder() && (receivedBean.getResourceRoot().getChildren() == null || + receivedBean.getResourceRoot().getChildren().isEmpty()); } } \ No newline at end of file