197 lines
6.1 KiB
Java
197 lines
6.1 KiB
Java
package org.gcube.portlets.user.td.expressionwidget.client;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import org.gcube.portlets.user.td.expressionwidget.client.expression.ConditionOnMultiColumnWidget;
|
|
import org.gcube.portlets.user.td.expressionwidget.client.utils.UtilsGXT3;
|
|
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.user.UserInfo;
|
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
|
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
|
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TabResourceType;
|
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnData;
|
|
|
|
import com.allen_sauer.gwt.log.client.Log;
|
|
import com.google.gwt.core.client.EntryPoint;
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
import com.google.gwt.user.client.ui.HTML;
|
|
import com.google.gwt.user.client.ui.RootPanel;
|
|
import com.google.web.bindery.event.shared.EventBus;
|
|
import com.sencha.gxt.widget.core.client.container.Viewport;
|
|
|
|
/**
|
|
*
|
|
* @author "Giancarlo Panichi" <a
|
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
|
*
|
|
*/
|
|
public class ExpressionWidgetEntry implements EntryPoint {
|
|
private EventBus eventBus;
|
|
private TRId trId;
|
|
private ArrayList<ColumnData> columns;
|
|
private static final String JSP_TAG_ID = "tdp";
|
|
|
|
public void onModuleLoad() {
|
|
Log.debug("ExpressionWidgetEntry");
|
|
callHello();
|
|
|
|
}
|
|
|
|
private void init() {
|
|
|
|
// TabularResource: [ id=86, type=STANDARD, lastTable=[ id=1159,
|
|
// type=Generic]]
|
|
|
|
// EventBus eventBus= new SimpleEventBus();
|
|
trId = new TRId("86", TabResourceType.STANDARD, "1159");
|
|
// String columnName="zwqvvx";
|
|
|
|
// Column Expression Dialog
|
|
// ColumnExpressionDialog expressionDialog=new
|
|
// ColumnExpressionDialog("1", ColumnTypeCode.ATTRIBUTE,
|
|
// ColumnDataType.Integer, eventBus);
|
|
// expressionDialog.show();
|
|
|
|
// Column Filter Dialog
|
|
// id=2, tableId=8, tableType=Generic
|
|
// ColumnFilterDialog columnFilterDialog=new ColumnFilterDialog(trId,
|
|
// columnName, eventBus);
|
|
// columnFilterDialog.show();
|
|
|
|
// Multi Column Filter Dialog
|
|
// MultiColumnFilterDialog multiColumnFilterDialog= new
|
|
// MultiColumnFilterDialog(trId, eventBus);
|
|
// multiColumnFilterDialog.show();
|
|
|
|
// Replace Column By Expression Dialog
|
|
// ReplaceColumnByExpressionDialog replaceColumnByExpression= new
|
|
// ReplaceColumnByExpressionDialog(trId, columnName, eventBus);
|
|
// replaceColumnByExpression.show();
|
|
|
|
// HelpReplaceColumnByExpressionDialog
|
|
// HelpReplaceColumnByExpressionDialog help= new
|
|
// HelpReplaceColumnByExpressionDialog(eventBus);
|
|
// help.show();
|
|
|
|
// Replace Expression Dialog
|
|
// ColumnMockUp columnMockUp=new ColumnMockUp(null, null, "TestMock",
|
|
// ColumnTypeCode.ATTRIBUTE, ColumnDataType.Text,"");
|
|
// ReplaceExpressionDialog replaceExpressionDialog=new
|
|
// ReplaceExpressionDialog(columnMockUp,trId,eventBus);
|
|
// replaceExpressionDialog.show();
|
|
|
|
retrieveColumns();
|
|
|
|
}
|
|
|
|
private void create() {
|
|
try {
|
|
ConditionOnMultiColumnWidget cond = new ConditionOnMultiColumnWidget(
|
|
columns);
|
|
startInDevMode(cond);
|
|
} catch (Throwable e) {
|
|
Log.error("Errore: " + e.getLocalizedMessage());
|
|
e.printStackTrace();
|
|
|
|
}
|
|
}
|
|
|
|
private void startInDevMode(ConditionOnMultiColumnWidget cond) {
|
|
try {
|
|
|
|
RootPanel root = RootPanel.get(JSP_TAG_ID);
|
|
Log.info("Root Panel: " + root);
|
|
if (root == null) {
|
|
Log.info("Div with id " + JSP_TAG_ID
|
|
+ " not found, starting in dev mode");
|
|
Viewport viewport = new Viewport();
|
|
if (cond == null) {
|
|
viewport.setWidget(new HTML(
|
|
"Attention Condition Panel is null!"));
|
|
|
|
} else {
|
|
viewport.setWidget(cond);// new HTML("Hello!")
|
|
}
|
|
viewport.onResize();
|
|
RootPanel.get().add(viewport);
|
|
} else {
|
|
Log.info("Application div with id " + JSP_TAG_ID
|
|
+ " found, starting in portal mode");
|
|
/*
|
|
* PortalViewport viewport = new PortalViewport();
|
|
* Log.info("Created Viewport");
|
|
* viewport.setEnableScroll(false);
|
|
* viewport.setWidget(mainWidget); Log.info("Set Widget");
|
|
* Log.info("getOffsetWidth(): " + viewport.getOffsetWidth());
|
|
* Log.info("getOffsetHeight(): " + viewport.getOffsetHeight());
|
|
* viewport.onResize(); root.add(viewport);
|
|
* Log.info("Added viewport to root");
|
|
*/
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
Log.error("Error in attach viewport:" + e.getLocalizedMessage());
|
|
}
|
|
}
|
|
|
|
private void callHello() {
|
|
TDGWTServiceAsync.INSTANCE.hello(new AsyncCallback<UserInfo>() {
|
|
|
|
@Override
|
|
public void onFailure(Throwable caught) {
|
|
Log.info("No valid user found: " + caught.getMessage());
|
|
if (caught instanceof TDGWTSessionExpiredException) {
|
|
UtilsGXT3.alert("Error", "Expired Session");
|
|
} else {
|
|
UtilsGXT3.alert("Error", "No user found");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onSuccess(UserInfo result) {
|
|
Log.info("Hello: " + result.getUsername());
|
|
init();
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
private void retrieveColumns() {
|
|
TDGWTServiceAsync.INSTANCE.getColumns(trId,
|
|
new AsyncCallback<ArrayList<ColumnData>>() {
|
|
|
|
public void onFailure(Throwable caught) {
|
|
if (caught instanceof TDGWTSessionExpiredException) {
|
|
eventBus.fireEvent(new SessionExpiredEvent(
|
|
SessionExpiredType.EXPIREDONSERVER));
|
|
} else {
|
|
if (caught instanceof TDGWTIsLockedException) {
|
|
Log.error(caught.getLocalizedMessage());
|
|
UtilsGXT3.alert("Error Locked",
|
|
caught.getLocalizedMessage());
|
|
|
|
} else {
|
|
Log.error("Error retrieving column: "
|
|
+ caught.getMessage());
|
|
UtilsGXT3.alert("Error retrieving column",
|
|
caught.getMessage());
|
|
}
|
|
}
|
|
}
|
|
|
|
public void onSuccess(ArrayList<ColumnData> result) {
|
|
Log.debug("Retrived column: " + result);
|
|
columns = result;
|
|
|
|
create();
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
}
|