tabular-data-column-widget/src/main/java/org/gcube/portlets/user/td/columnwidget/client/store/ColumnTypeCodeStore.java

314 lines
7.7 KiB
Java

package org.gcube.portlets.user.td.columnwidget.client.store;
import java.io.Serializable;
import java.util.ArrayList;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import com.allen_sauer.gwt.log.client.Log;
/**
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ColumnTypeCodeStore implements Serializable {
private static final long serialVersionUID = -1908324094430432681L;
protected static ColumnTypeCodeElement annotation = new ColumnTypeCodeElement(
1, ColumnTypeCode.ANNOTATION);
protected static ColumnTypeCodeElement attribute = new ColumnTypeCodeElement(
2, ColumnTypeCode.ATTRIBUTE);
protected static ColumnTypeCodeElement measure = new ColumnTypeCodeElement(
3, ColumnTypeCode.MEASURE);
protected static ColumnTypeCodeElement code = new ColumnTypeCodeElement(4,
ColumnTypeCode.CODE);
protected static ColumnTypeCodeElement codeName = new ColumnTypeCodeElement(
5, ColumnTypeCode.CODENAME);
protected static ColumnTypeCodeElement codeDescription = new ColumnTypeCodeElement(
6, ColumnTypeCode.CODEDESCRIPTION);
protected static ColumnTypeCodeElement dimension = new ColumnTypeCodeElement(
7, ColumnTypeCode.DIMENSION);
protected static ColumnTypeCodeElement timeDimension = new ColumnTypeCodeElement(
8, ColumnTypeCode.TIMEDIMENSION);
protected static ArrayList<ColumnTypeCodeElement> store;
public static ArrayList<ColumnTypeCodeElement> getColumnTypeCodes(TRId trId) {
store = new ArrayList<ColumnTypeCodeElement>();
if(trId==null|| trId.getTableTypeName()==null){
Log.debug("Attention no valid table type, trId:"+trId);
store.add(annotation);
return store;
}
if (trId.getTableTypeName().compareTo("Generic") == 0) {
store.add(annotation);
store.add(attribute);
store.add(measure);
store.add(code);
store.add(codeName);
store.add(codeDescription);
store.add(dimension);
store.add(timeDimension);
} else {
if (trId.getTableTypeName().compareTo("Codelist") == 0) {
store.add(annotation);
store.add(code);
store.add(codeName);
store.add(codeDescription);
} else {
if (trId.getTableTypeName().compareTo("Dataset") == 0) {
store.add(attribute);
store.add(measure);
store.add(dimension);
store.add(timeDimension);
} else {
store.add(annotation);
}
}
}
return store;
}
public static ArrayList<ColumnTypeCodeElement> getColumnTypeCodesForAddColumn(TRId trId) {
store = new ArrayList<ColumnTypeCodeElement>();
if(trId==null|| trId.getTableTypeName()==null){
Log.debug("Attention no valid table type, trId:"+trId);
store.add(annotation);
return store;
}
if (trId.getTableTypeName().compareTo("Generic") == 0) {
store.add(annotation);
store.add(attribute);
store.add(measure);
store.add(code);
store.add(codeName);
store.add(codeDescription);
} else {
if (trId.getTableTypeName().compareTo("Codelist") == 0) {
store.add(annotation);
store.add(code);
store.add(codeName);
store.add(codeDescription);
} else {
if (trId.getTableTypeName().compareTo("Dataset") == 0) {
store.add(attribute);
store.add(measure);
} else {
store.add(annotation);
}
}
}
return store;
}
/**
*
* @return
*/
public static ArrayList<ColumnTypeCodeElement> getColumnTypeCodesForGeneric() {
store = new ArrayList<ColumnTypeCodeElement>();
store.add(annotation);
store.add(attribute);
store.add(measure);
store.add(code);
store.add(codeName);
store.add(codeDescription);
store.add(dimension);
store.add(timeDimension);
return store;
}
public static ArrayList<ColumnTypeCodeElement> getColumnTypeCodesForCodelist() {
store = new ArrayList<ColumnTypeCodeElement>();
store.add(annotation);
store.add(code);
store.add(codeName);
store.add(codeDescription);
return store;
}
public static ArrayList<ColumnTypeCodeElement> getColumnTypeCodesForDataset() {
store = new ArrayList<ColumnTypeCodeElement>();
store.add(attribute);
store.add(measure);
store.add(dimension);
store.add(timeDimension);
return store;
}
public static int selectedPosition(String selected) {
int position = 0;
if (selected.compareTo(ColumnTypeCode.ANNOTATION.toString()) == 0) {
position = 1;
} else {
if (selected.compareTo(ColumnTypeCode.ATTRIBUTE.toString()) == 0) {
position = 2;
} else {
if (selected.compareTo(ColumnTypeCode.MEASURE.toString()) == 0) {
position = 3;
} else {
if (selected.compareTo(ColumnTypeCode.CODE.toString()) == 0) {
position = 4;
} else {
if (selected.compareTo(ColumnTypeCode.CODENAME
.toString()) == 0) {
position = 5;
} else {
if (selected
.compareTo(ColumnTypeCode.CODEDESCRIPTION
.toString()) == 0) {
position = 6;
} else {
if (selected.compareTo(ColumnTypeCode.DIMENSION
.toString()) == 0) {
position = 7;
} else {
if (selected
.compareTo(ColumnTypeCode.TIMEDIMENSION
.toString()) == 0) {
position = 8;
} else {
}
}
}
}
}
}
}
}
return position;
}
public static ColumnTypeCode selected(String selected) {
Log.debug("ColumnTypeCodeStore Selected:"+selected);
if (selected.compareTo(ColumnTypeCode.ANNOTATION.toString()) == 0) {
return ColumnTypeCode.ANNOTATION;
} else {
if (selected.compareTo(ColumnTypeCode.ATTRIBUTE.toString()) == 0) {
return ColumnTypeCode.ATTRIBUTE;
} else {
if (selected.compareTo(ColumnTypeCode.MEASURE.toString()) == 0) {
return ColumnTypeCode.MEASURE;
} else {
if (selected.compareTo(ColumnTypeCode.CODE.toString()) == 0) {
return ColumnTypeCode.CODE;
} else {
if (selected.compareTo(ColumnTypeCode.CODENAME
.toString()) == 0) {
return ColumnTypeCode.CODENAME;
} else {
if (selected
.compareTo(ColumnTypeCode.CODEDESCRIPTION
.toString()) == 0) {
return ColumnTypeCode.CODEDESCRIPTION;
} else {
if (selected.compareTo(ColumnTypeCode.DIMENSION
.toString()) == 0) {
return ColumnTypeCode.DIMENSION;
} else {
if (selected
.compareTo(ColumnTypeCode.TIMEDIMENSION
.toString()) == 0) {
return ColumnTypeCode.TIMEDIMENSION;
} else {
return null;
}
}
}
}
}
}
}
}
}
public static ColumnTypeCodeElement selectedElement(String selected) {
if (selected.compareTo(ColumnTypeCode.ANNOTATION.toString()) == 0) {
return annotation;
} else {
if (selected.compareTo(ColumnTypeCode.ATTRIBUTE.toString()) == 0) {
return attribute;
} else {
if (selected.compareTo(ColumnTypeCode.MEASURE.toString()) == 0) {
return measure;
} else {
if (selected.compareTo(ColumnTypeCode.CODE.toString()) == 0) {
return code;
} else {
if (selected.compareTo(ColumnTypeCode.CODENAME
.toString()) == 0) {
return codeName;
} else {
if (selected
.compareTo(ColumnTypeCode.CODEDESCRIPTION
.toString()) == 0) {
return codeDescription;
} else {
if (selected.compareTo(ColumnTypeCode.DIMENSION
.toString()) == 0) {
return dimension;
} else {
if (selected
.compareTo(ColumnTypeCode.TIMEDIMENSION
.toString()) == 0) {
return timeDimension;
} else {
return null;
}
}
}
}
}
}
}
}
}
}