Fixed data check
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-csv-export-widget@85652 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
88c951d269
commit
e1c8d3b072
|
@ -5,6 +5,8 @@ package org.gcube.portlets.user.td.csvexportwidget.client;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.gcube.portlets.user.td.csvexportwidget.client.workspace.WorkspacePanel;
|
||||
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
||||
|
@ -16,8 +18,17 @@ import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionEvent;
|
|||
import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionHandler;
|
||||
|
||||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||
import com.google.gwt.user.client.Command;
|
||||
import com.sencha.gxt.widget.core.client.FramedPanel;
|
||||
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
|
||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler;
|
||||
import com.sencha.gxt.widget.core.client.form.FieldLabel;
|
||||
import com.sencha.gxt.widget.core.client.form.TextField;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -26,11 +37,11 @@ import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
|||
*
|
||||
*/
|
||||
public class CSVWorkSpaceSelectionCard extends WizardCard {
|
||||
|
||||
|
||||
protected CSVExportSession exportSession;
|
||||
protected CSVWorkSpaceSelectionCard thisCard;
|
||||
|
||||
|
||||
protected TextField fileName;
|
||||
|
||||
protected Item item;
|
||||
protected VerticalLayoutContainer p;
|
||||
protected WorkspacePanel wpanel;
|
||||
|
@ -40,53 +51,97 @@ public class CSVWorkSpaceSelectionCard extends WizardCard {
|
|||
|
||||
this.exportSession = exportSession;
|
||||
thisCard = this;
|
||||
|
||||
p=new VerticalLayoutContainer();
|
||||
|
||||
FramedPanel formPanel = new FramedPanel();
|
||||
formPanel.setHeaderVisible(false);
|
||||
p = new VerticalLayoutContainer();
|
||||
formPanel.setWidget(p);
|
||||
|
||||
fileName = new TextField();
|
||||
fileName.setAllowBlank(false);
|
||||
fileName.setWidth("410px");
|
||||
fileName.setValue("filename.csv");
|
||||
p.add(new FieldLabel(fileName, "File Name"), new VerticalLayoutData(-1,
|
||||
-1));
|
||||
|
||||
Log.debug("Set Workspace Panel");
|
||||
wpanel=new WorkspacePanel();
|
||||
wpanel.setSpWidth("536px");
|
||||
wpanel.setSpHeight("384px");
|
||||
List<ItemType> lItemType= new ArrayList<ItemType>();
|
||||
wpanel = new WorkspacePanel();
|
||||
wpanel.setSpWidth("410px");
|
||||
wpanel.setSpHeight("356px");
|
||||
List<ItemType> lItemType = new ArrayList<ItemType>();
|
||||
lItemType.add(ItemType.ROOT);
|
||||
lItemType.add(ItemType.FOLDER);
|
||||
wpanel.setShowableTypes(lItemType);
|
||||
wpanel.setSelectableTypes(lItemType);
|
||||
wpanel.addSelectionHandler(new ItemSelectionHandler() {
|
||||
|
||||
|
||||
@Override
|
||||
public void onSelection(ItemSelectionEvent event) {
|
||||
item=event.getSelectedItem();
|
||||
Log.debug("Selected Item:"+item);
|
||||
if(item.getType()==ItemType.FOLDER || item.getType()==ItemType.ROOT){
|
||||
/*String filename=item.getName();
|
||||
if(filename!=null&&!filename.isEmpty()){
|
||||
Log.debug("Item name: "+filename);
|
||||
Log.debug("Item path: "+item.getPath());
|
||||
|
||||
importSession.setItemId(item.getId());
|
||||
getWizardWindow().setEnableNextButton(true);
|
||||
|
||||
} else {
|
||||
Log.debug("Item name null or empty");
|
||||
getWizardWindow().setEnableNextButton(false);
|
||||
}*/
|
||||
|
||||
item = event.getSelectedItem();
|
||||
Log.debug("Selected Item:" + item);
|
||||
if (item.getType() == ItemType.FOLDER
|
||||
|| item.getType() == ItemType.ROOT) {
|
||||
thisCard.exportSession.setItemId(item.getId());
|
||||
} else {
|
||||
Log.debug("Item type:"+item.getType());
|
||||
getWizardWindow().setEnableNextButton(false);
|
||||
thisCard.exportSession.setItemId(null);
|
||||
Log.debug("Item type:" + item.getType());
|
||||
}
|
||||
}
|
||||
});
|
||||
p.add(wpanel);
|
||||
p.add(new FieldLabel(wpanel, "Directory"), new VerticalLayoutData(-1,
|
||||
-1));
|
||||
wpanel.loadTree();
|
||||
setContent(p);
|
||||
setContent(formPanel);
|
||||
|
||||
}
|
||||
|
||||
protected void checkExportData() {
|
||||
Log.debug("File Name:" + fileName.getCurrentValue() + " Item id: "
|
||||
+ exportSession.getItemId());
|
||||
wpanel.disable();
|
||||
getWizardWindow().setEnableNextButton(false);
|
||||
getWizardWindow().setEnableBackButton(false);
|
||||
AlertMessageBox d;
|
||||
HideHandler hideHandler=new HideHandler() {
|
||||
|
||||
@Override
|
||||
public void onHide(HideEvent event) {
|
||||
wpanel.enable();
|
||||
getWizardWindow().setEnableNextButton(true);
|
||||
getWizardWindow().setEnableBackButton(true);
|
||||
}
|
||||
};
|
||||
if (fileName.getCurrentValue() != null
|
||||
&& !fileName.getCurrentValue().isEmpty() && fileName.validate()) {
|
||||
Pattern p = Pattern.compile("[_a-zA-Z0-9\\-\\.]+");
|
||||
Matcher matcher = p.matcher(fileName.getCurrentValue());
|
||||
if (matcher.matches()) {
|
||||
Log.debug("fileName match");
|
||||
if (exportSession.getItemId() != null) {
|
||||
exportSession.setFileName(fileName.getCurrentValue());
|
||||
getFileFromWorkspace();
|
||||
} else {
|
||||
d = new AlertMessageBox("Attention", "No folder selected");
|
||||
d.addHideHandler(hideHandler);
|
||||
d.show();
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
Log.debug("fileName no match");
|
||||
d = new AlertMessageBox("Attention", "No valid file name");
|
||||
d.addHideHandler(hideHandler);
|
||||
d.show();
|
||||
}
|
||||
} else {
|
||||
|
||||
d = new AlertMessageBox("Attention", "No valid file name");
|
||||
d.addHideHandler(hideHandler);
|
||||
d.show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
Log.debug("CSVWorkSpaceSelectionCard Call Setup ");
|
||||
|
@ -94,12 +149,9 @@ public class CSVWorkSpaceSelectionCard extends WizardCard {
|
|||
|
||||
@Override
|
||||
public void execute() {
|
||||
Log.debug("CSVWorkSpaceSelectionCard Call sayNextCard wpanel:"+wpanel);
|
||||
wpanel.disable();
|
||||
wpanel.startWaiting();
|
||||
getWizardWindow().setEnableNextButton(false);
|
||||
getWizardWindow().setEnableBackButton(false);
|
||||
getFileFromWorkspace();
|
||||
Log.debug("CSVWorkSpaceSelectionCard Call sayNextCard wpanel:"
|
||||
+ wpanel);
|
||||
checkExportData();
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -119,40 +171,39 @@ public class CSVWorkSpaceSelectionCard extends WizardCard {
|
|||
};
|
||||
|
||||
getWizardWindow().setPreviousButtonCommand(sayPreviousCard);
|
||||
getWizardWindow().setEnableNextButton(false);
|
||||
getWizardWindow().setEnableNextButton(true);
|
||||
|
||||
}
|
||||
|
||||
protected void getFileFromWorkspace(){
|
||||
TDGWTServiceAsync tdGwtServiceAsync=TDGWTServiceAsync.INSTANCE;
|
||||
/*tdGwtServiceAsync.setFileInWorkspace(exportSession, new AsyncCallback<Void>(){
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
wpanel.endWaiting();
|
||||
thisCard.showErrorAndHide("Error", "Error retrieving the file from the workspace: "+caught.getLocalizedMessage(),
|
||||
caught.toString(), caught);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
wpanel.endWaiting();
|
||||
goForward();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
protected void goForward(){
|
||||
/*CSVConfigCard csvConfigCard = new CSVConfigCard(importSession);
|
||||
getWizardWindow().addCard(csvConfigCard);
|
||||
Log.info("NextCard CSVConfigCard");
|
||||
getWizardWindow().nextCard();*/
|
||||
|
||||
protected void getFileFromWorkspace() {
|
||||
TDGWTServiceAsync tdGwtServiceAsync = TDGWTServiceAsync.INSTANCE;
|
||||
/*
|
||||
* tdGwtServiceAsync.setFileInWorkspace(exportSession, new
|
||||
* AsyncCallback<Void>(){
|
||||
*
|
||||
* @Override public void onFailure(Throwable caught) {
|
||||
* wpanel.endWaiting(); thisCard.showErrorAndHide("Error",
|
||||
* "Error retrieving the file from the workspace: "
|
||||
* +caught.getLocalizedMessage(), caught.toString(), caught);
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onSuccess(Void result) { wpanel.endWaiting();
|
||||
* goForward();
|
||||
*
|
||||
* }
|
||||
*
|
||||
* });
|
||||
*/
|
||||
}
|
||||
|
||||
protected void goForward() {
|
||||
/*
|
||||
* CSVConfigCard csvConfigCard = new CSVConfigCard(importSession);
|
||||
* getWizardWindow().addCard(csvConfigCard);
|
||||
* Log.info("NextCard CSVConfigCard"); getWizardWindow().nextCard();
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue