Initial import.
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/netcdf-basic-widgets@157537 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
84c012ada2
commit
477c65a150
|
@ -1,6 +1,5 @@
|
|||
package org.gcube.portlets.widgets.netcdfbasicwidgets.client;
|
||||
|
||||
|
||||
import org.gcube.portlets.widgets.netcdfbasicwidgets.client.event.SelectVariableEvent;
|
||||
import org.gcube.portlets.widgets.netcdfbasicwidgets.client.event.SelectVariableEvent.SelectVariableEventHandler;
|
||||
import org.gcube.portlets.widgets.netcdfbasicwidgets.client.widgets.NetCDFPreviewDialog;
|
||||
|
@ -17,6 +16,11 @@ import com.google.gwt.core.shared.GWT;
|
|||
*
|
||||
*/
|
||||
public class NetCDFBasicWidgets implements EntryPoint {
|
||||
// private static final String example1 =
|
||||
// "http://data.d4science.org/Qnc4RXlNQmhlWS83NkFFb2dIU0hQMnhVTER1VEZjbGdHbWJQNStIS0N6Yz0";
|
||||
private static final String example2 = "http://data.d4science.org/L0FuZGNERGNFL1Y4bDRQdDFHSmdFUkN5V3VvZlF4L2lHbWJQNStIS0N6Yz0";
|
||||
// private static final String example3 =
|
||||
// "http://data.d4science.org/WXZFNjRXeE9XWGQ4bDRQdDFHSmdFWVBPd0FEK0VzdlRHbWJQNStIS0N6Yz0";
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
|
@ -31,23 +35,22 @@ public class NetCDFBasicWidgets implements EntryPoint {
|
|||
|
||||
}
|
||||
|
||||
|
||||
private void loadMainPanel() {
|
||||
GWT.log("NetcdfBasicWidgetsManager");
|
||||
|
||||
|
||||
// Example
|
||||
SelectVariableEventHandler handler=new SelectVariableEventHandler() {
|
||||
|
||||
SelectVariableEventHandler handler = new SelectVariableEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onResponse(SelectVariableEvent event) {
|
||||
GWT.log("SelectVariable Response: "+event);
|
||||
|
||||
GWT.log("SelectVariable Response: " + event);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
NetCDFPreviewDialog dialog=new NetCDFPreviewDialog();
|
||||
|
||||
NetCDFPreviewDialog dialog = new NetCDFPreviewDialog(example2);
|
||||
dialog.addSelectVariableEventHandler(handler);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,15 +26,16 @@ import com.google.gwt.view.client.ListDataProvider;
|
|||
*
|
||||
*/
|
||||
public class NetCDFDataModel {
|
||||
|
||||
|
||||
private String url;
|
||||
private NetCDFData netCDFData;
|
||||
|
||||
private ArrayList<NetCDFDataEventHandler> handlers = new ArrayList<>();
|
||||
private ListDataProvider<VariableData> variableDataProvider = new ListDataProvider<>();
|
||||
private ListDataProvider<AttributeData> globalAttributeDataProvider = new ListDataProvider<>();
|
||||
|
||||
|
||||
public NetCDFDataModel() {
|
||||
public NetCDFDataModel(String url) {
|
||||
this.url=url;
|
||||
retrieveData();
|
||||
}
|
||||
|
||||
|
@ -74,7 +75,7 @@ public class NetCDFDataModel {
|
|||
|
||||
|
||||
public void retrieveData() {
|
||||
NetCDFBasicWidgetServiceAsync.INSTANCE.getNetCDFFromPublicLink("", new AsyncCallback<NetCDFData>() {
|
||||
NetCDFBasicWidgetServiceAsync.INSTANCE.getNetCDFFromPublicLink(url, new AsyncCallback<NetCDFData>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
|
|
|
@ -23,8 +23,6 @@ public interface NetCDFBasicWidgetService extends RemoteService {
|
|||
|
||||
public NetCDFData getNetCDFFromPublicLink(String publicLink) throws ServiceException;
|
||||
|
||||
public NetCDFData getNetCDFFromItem(String itemId) throws ServiceException;
|
||||
|
||||
public void closeNetCDF(NetCDFId netCDFId) throws ServiceException;
|
||||
|
||||
public NetCDFValues readDataVariable(NetCDFId netCDFId, VariableData variableData, boolean sample, int limit) throws ServiceException;
|
||||
|
|
|
@ -24,8 +24,6 @@ public interface NetCDFBasicWidgetServiceAsync {
|
|||
|
||||
void getNetCDFFromPublicLink(String publicLink, AsyncCallback<NetCDFData> callback);
|
||||
|
||||
void getNetCDFFromItem(String itemId, AsyncCallback<NetCDFData> callback);
|
||||
|
||||
void closeNetCDF(NetCDFId netCDFId, AsyncCallback<Void> callback);
|
||||
|
||||
void readDataVariable(NetCDFId netCDFId, VariableData variableData, boolean sample, int limit,
|
||||
|
|
|
@ -39,11 +39,12 @@ import com.google.gwt.user.client.ui.Widget;
|
|||
*
|
||||
*/
|
||||
public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEvent.HasSelectVariableEventHandler {
|
||||
|
||||
private static final String TABPANEL_HEIGHT = "400px";
|
||||
private static final String TABPANEL_WIDTH = "700px";
|
||||
|
||||
private static final NetCDFPreviewMessages messages = GWT.create(NetCDFPreviewMessages.class);
|
||||
|
||||
|
||||
private HandlerRegistration resizeHandlerRegistration;
|
||||
private Node closeEventTarget = null;
|
||||
private int zIndex = -1;
|
||||
|
@ -53,25 +54,15 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
private DetailPanel detailPanel;
|
||||
private SamplePanel samplePanel;
|
||||
private InfoPanel infoPanel;
|
||||
|
||||
|
||||
//private DataGrid<VariableData> dataGrid;
|
||||
private String url;
|
||||
|
||||
public NetCDFPreviewDialog() {
|
||||
try {
|
||||
initWindow();
|
||||
initHandler();
|
||||
addToolIcon();
|
||||
create();
|
||||
} catch (Throwable e) {
|
||||
GWT.log(e.getLocalizedMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
// private DataGrid<VariableData> dataGrid;
|
||||
|
||||
public NetCDFPreviewDialog(String fileId) {
|
||||
|
||||
public NetCDFPreviewDialog(String url) {
|
||||
try {
|
||||
GWT.log("FileId: " + fileId);
|
||||
GWT.log("PublicLink: " + url);
|
||||
this.url = url;
|
||||
initWindow();
|
||||
initHandler();
|
||||
addToolIcon();
|
||||
|
@ -89,8 +80,8 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
setGlassEnabled(true);
|
||||
setAnimationEnabled(true);
|
||||
setText(messages.dialogTitle());
|
||||
//setHeight(DIALOG_HEIGHT);
|
||||
//setWidth(DIALOG_WIDTH);
|
||||
// setHeight(DIALOG_HEIGHT);
|
||||
// setWidth(DIALOG_WIDTH);
|
||||
}
|
||||
|
||||
private void initHandler() {
|
||||
|
@ -106,73 +97,66 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
}
|
||||
|
||||
private void create() {
|
||||
|
||||
netCDFDataModel = new NetCDFDataModel();
|
||||
// Create a tab panel
|
||||
TabLayoutPanel tabPanel = new TabLayoutPanel(2.5, Unit.EM);
|
||||
|
||||
netCDFDataModel = new NetCDFDataModel(url);
|
||||
// Create a tab panel
|
||||
TabLayoutPanel tabPanel = new TabLayoutPanel(2.5, Unit.EM);
|
||||
tabPanel.setAnimationDuration(1000);
|
||||
tabPanel.setAnimationVertical(true);
|
||||
tabPanel.getElement().getStyle().setMarginBottom(10.0, Unit.PX);
|
||||
tabPanel.setHeight(TABPANEL_HEIGHT);
|
||||
tabPanel.setWidth(TABPANEL_WIDTH);
|
||||
|
||||
//Variable TabPanel
|
||||
variablesPanel = new VariablesPanel(netCDFDataModel);
|
||||
tabPanel.add(variablesPanel, messages.variablesTab());
|
||||
|
||||
//Detail TabPanel
|
||||
detailPanel = new DetailPanel(netCDFDataModel);
|
||||
tabPanel.add(detailPanel, messages.detailTab());
|
||||
|
||||
|
||||
//Sample TabPanel
|
||||
samplePanel = new SamplePanel(netCDFDataModel);
|
||||
tabPanel.add(samplePanel, messages.sampleTab());
|
||||
|
||||
//Info TabPanel
|
||||
infoPanel = new InfoPanel(netCDFDataModel);
|
||||
tabPanel.add(infoPanel, messages.infoTab());
|
||||
tabPanel.setHeight(TABPANEL_HEIGHT);
|
||||
tabPanel.setWidth(TABPANEL_WIDTH);
|
||||
|
||||
|
||||
// Return the content
|
||||
tabPanel.selectTab(0);
|
||||
tabPanel.ensureDebugId("netcdfTabPanel");
|
||||
// Variable TabPanel
|
||||
variablesPanel = new VariablesPanel(netCDFDataModel);
|
||||
tabPanel.add(variablesPanel, messages.variablesTab());
|
||||
|
||||
tabPanel.addSelectionHandler(new SelectionHandler<Integer>()
|
||||
{
|
||||
public void onSelection(SelectionEvent<Integer> event)
|
||||
{
|
||||
int tabId = event.getSelectedItem();
|
||||
Widget tabWidget = tabPanel.getWidget(tabId);
|
||||
if (tabWidget != null)
|
||||
{
|
||||
if(tabWidget instanceof VariablesPanel){
|
||||
VariablesPanel variablesPanel=(VariablesPanel)tabWidget;
|
||||
variablesPanel.refresh();
|
||||
} else {
|
||||
if(tabWidget instanceof DetailPanel){
|
||||
DetailPanel detailPanel=(DetailPanel)tabWidget;
|
||||
detailPanel.refresh();
|
||||
} else {
|
||||
if(tabWidget instanceof InfoPanel){
|
||||
InfoPanel infoPanel=(InfoPanel)tabWidget;
|
||||
infoPanel.refresh();
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Detail TabPanel
|
||||
detailPanel = new DetailPanel(netCDFDataModel);
|
||||
tabPanel.add(detailPanel, messages.detailTab());
|
||||
|
||||
// Sample TabPanel
|
||||
samplePanel = new SamplePanel(netCDFDataModel);
|
||||
tabPanel.add(samplePanel, messages.sampleTab());
|
||||
|
||||
// Info TabPanel
|
||||
infoPanel = new InfoPanel(netCDFDataModel);
|
||||
tabPanel.add(infoPanel, messages.infoTab());
|
||||
|
||||
// Return the content
|
||||
tabPanel.selectTab(0);
|
||||
tabPanel.ensureDebugId("netcdfTabPanel");
|
||||
|
||||
tabPanel.addSelectionHandler(new SelectionHandler<Integer>() {
|
||||
public void onSelection(SelectionEvent<Integer> event) {
|
||||
int tabId = event.getSelectedItem();
|
||||
Widget tabWidget = tabPanel.getWidget(tabId);
|
||||
if (tabWidget != null) {
|
||||
if (tabWidget instanceof VariablesPanel) {
|
||||
VariablesPanel variablesPanel = (VariablesPanel) tabWidget;
|
||||
variablesPanel.refresh();
|
||||
} else {
|
||||
if (tabWidget instanceof DetailPanel) {
|
||||
DetailPanel detailPanel = (DetailPanel) tabWidget;
|
||||
detailPanel.refresh();
|
||||
} else {
|
||||
if (tabWidget instanceof InfoPanel) {
|
||||
InfoPanel infoPanel = (InfoPanel) tabWidget;
|
||||
infoPanel.refresh();
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Create a table to layout the content
|
||||
//VerticalPanel dialogContents = new VerticalPanel();
|
||||
//dialogContents.setSpacing(4);
|
||||
//dialogContents.add(tabPanel);
|
||||
|
||||
// VerticalPanel dialogContents = new VerticalPanel();
|
||||
// dialogContents.setSpacing(4);
|
||||
// dialogContents.add(tabPanel);
|
||||
|
||||
// Add Button
|
||||
Button btnSave = new Button("Save");
|
||||
btnSave.getElement().getStyle().setMarginLeft(4, Unit.PX);
|
||||
|
@ -202,28 +186,26 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
|
||||
FlowPanel buttonPack = new FlowPanel();
|
||||
buttonPack.setWidth("100%");
|
||||
//buttonPack.add(btnSave);
|
||||
// buttonPack.add(btnSave);
|
||||
buttonPack.add(btnClose);
|
||||
|
||||
/*HorizontalPanel hp=new HorizontalPanel();
|
||||
hp.add(buttonPack);
|
||||
hp.setCellHorizontalAlignment(buttonPack, HasHorizontalAlignment.ALIGN_CENTER);
|
||||
*/
|
||||
|
||||
/*
|
||||
* HorizontalPanel hp=new HorizontalPanel(); hp.add(buttonPack);
|
||||
* hp.setCellHorizontalAlignment(buttonPack,
|
||||
* HasHorizontalAlignment.ALIGN_CENTER);
|
||||
*/
|
||||
|
||||
DockPanel dockPanel = new DockPanel();
|
||||
dockPanel.setSpacing(4);
|
||||
|
||||
dockPanel.add(tabPanel, DockPanel.CENTER);
|
||||
dockPanel.add(buttonPack, DockPanel.SOUTH);
|
||||
dockPanel.setCellHorizontalAlignment(buttonPack,DockPanel.ALIGN_CENTER);
|
||||
|
||||
|
||||
dockPanel.setCellHorizontalAlignment(buttonPack, DockPanel.ALIGN_CENTER);
|
||||
|
||||
dockPanel.setWidth("100%");
|
||||
setWidget(dockPanel);
|
||||
center();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -231,13 +213,13 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
super.show();
|
||||
center();
|
||||
};
|
||||
|
||||
private void closeOnServer(){
|
||||
if(netCDFDataModel!=null){
|
||||
|
||||
private void closeOnServer() {
|
||||
if (netCDFDataModel != null) {
|
||||
netCDFDataModel.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void btnClosePressed() {
|
||||
SelectVariableEvent event = new SelectVariableEvent(SelectVariableEventType.Aborted);
|
||||
fireEvent(event);
|
||||
|
@ -246,7 +228,7 @@ public class NetCDFPreviewDialog extends DialogBox implements SelectVariableEven
|
|||
}
|
||||
|
||||
private void btnSavePressed() {
|
||||
Set<VariableData> selected=variablesPanel.seleceted();
|
||||
Set<VariableData> selected = variablesPanel.seleceted();
|
||||
if (selected == null || selected.isEmpty()) {
|
||||
GWTMessages.alert("Attention", "Select a layer!", zIndex);
|
||||
} else {
|
||||
|
|
|
@ -85,24 +85,6 @@ public class NetCDFBasicWidgetServiceImpl extends RemoteServiceServlet implement
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NetCDFData getNetCDFFromItem(String itemId) throws ServiceException {
|
||||
try {
|
||||
ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(this.getThreadLocalRequest());
|
||||
|
||||
NetCDFResource netCDFResource = new NetCDFResource();
|
||||
NetCDFData netCDFData = netCDFResource.exploreNetCDF();
|
||||
|
||||
SessionUtil.setNetCDFData(netCDFData, this.getThreadLocalRequest(), serviceCredentials);
|
||||
return netCDFData;
|
||||
} catch (ServiceException e) {
|
||||
logger.error("Error in getCDFResourceFromItem(): " + e.getLocalizedMessage(), e);
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
logger.error("Error in getCDFResourceFromItem(): " + e.getLocalizedMessage(), e);
|
||||
throw new ServiceException(e.getLocalizedMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NetCDFValues readDataVariable(NetCDFId netCDFId, VariableData variableData, boolean sample, int limit)
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.io.BufferedOutputStream;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.nio.file.Files;
|
||||
|
@ -52,10 +51,7 @@ import ucar.nc2.Variable;
|
|||
*
|
||||
*/
|
||||
public class NetCDFResource {
|
||||
//private static final String example1 = "http://data.d4science.org/Qnc4RXlNQmhlWS83NkFFb2dIU0hQMnhVTER1VEZjbGdHbWJQNStIS0N6Yz0";
|
||||
private static final String example2 = "http://data.d4science.org/L0FuZGNERGNFL1Y4bDRQdDFHSmdFUkN5V3VvZlF4L2lHbWJQNStIS0N6Yz0";
|
||||
//private static final String example3 = "http://data.d4science.org/WXZFNjRXeE9XWGQ4bDRQdDFHSmdFWVBPd0FEK0VzdlRHbWJQNStIS0N6Yz0";
|
||||
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(NetCDFId.class);
|
||||
|
||||
private URL publicLink;
|
||||
|
@ -67,17 +63,6 @@ public class NetCDFResource {
|
|||
* { System.loadLibrary("gdaljni"); }
|
||||
*/
|
||||
|
||||
public NetCDFResource() throws ServiceException {
|
||||
try {
|
||||
this.publicLink = new URL(example2);
|
||||
} catch (MalformedURLException e) {
|
||||
logger.error(e.getLocalizedMessage(), e);
|
||||
throw new ServiceException(e.getLocalizedMessage(), e);
|
||||
}
|
||||
retrievePublicLink();
|
||||
this.netCDFId = new NetCDFId(ncFile.toAbsolutePath().toString());
|
||||
|
||||
}
|
||||
|
||||
public NetCDFResource(URL publicLink) throws ServiceException {
|
||||
this.publicLink = publicLink;
|
||||
|
|
Loading…
Reference in New Issue