catch up with dev
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f2bd24b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+**/bin/
+**/target/
+**._trace
+**.log.properties
+**git.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index fc870ef..344cb3b 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -15,13 +15,9 @@
<jenkins>
<!-- DO NOT EDIT BELOW THIS LINE -->
<jenkins.build.dependencies>
- <jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
- <jenkins.build.dependency>org.eclipse.osbp.ecview.addons</jenkins.build.dependency>
- <jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.blob</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.eventbroker</jenkins.build.dependency>
- <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.utils</jenkins.build.dependency>
- <jenkins.build.dependency>org.eclipse.osbp.utils.blob</jenkins.build.dependency>
</jenkins.build.dependencies>
</jenkins>
diff --git a/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.utils.ui.feature/feature.xml b/org.eclipse.osbp.utils.ui.feature/feature.xml
index 4b5e51f..89c581e 100644
--- a/org.eclipse.osbp.utils.ui.feature/feature.xml
+++ b/org.eclipse.osbp.utils.ui.feature/feature.xml
@@ -14,7 +14,8 @@
id="org.eclipse.osbp.utils.ui.feature"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.utils.ui">
<description>
%description
diff --git a/org.eclipse.osbp.utils.ui/.classpath b/org.eclipse.osbp.utils.ui/.classpath
new file mode 100644
index 0000000..30a5795
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src/"/>
+ <classpathentry kind="src" path="src-gen/"/>
+ <classpathentry kind="src" path="test/"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.utils.ui/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.utils.ui/.settings/com.vaadin.integration.eclipse.prefs
new file mode 100644
index 0000000..0904e44
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/com.vaadin.integration.eclipse.prefs
@@ -0,0 +1,2 @@
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.7"]
+eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.utils.ui/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.utils.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.utils.ui/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.ui/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.utils.ui/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.utils.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.utils.ui/META-INF/MANIFEST.MF
index dccbafc..c741e69 100644
--- a/org.eclipse.osbp.utils.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.utils.ui/META-INF/MANIFEST.MF
@@ -6,43 +6,26 @@
Bundle-Activator: org.eclipse.osbp.utils.ui.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.osbp.utils.ui;version="0.9.0",
- org.eclipse.osbp.utils.vaadin;version="0.9.0"
-Require-Bundle: org.eclipse.persistence.core;bundle-version="2.6.0",
- org.apache.commons.io,
- org.apache.commons.lang,
- org.eclipse.osgi.services,
- org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.ecview.dsl.lib;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.core.runtime;bundle-version="3.10.0",
- org.apache.commons.compress;bundle-version="1.6.0",
- com.vaadin.server;bundle-version="[7.5.7,7.7.0)",
- com.vaadin.shared;bundle-version="[7.5.7,7.7.0)",
- org.eclipse.e4.ui.model.workbench;bundle-version="1.1.0",
+Export-Package: org.eclipse.osbp.utils.vaadin;version="0.9.0"
+Require-Bundle: org.apache.commons.lang,
+ com.vaadin.server;bundle-version="[7.7.6,7.8.0)",
+ com.vaadin.shared;bundle-version="[7.7.6,7.8.0)",
+ com.vaadin.client;bundle-version="[7.7.6,7.8.0)",
org.eclipse.e4.core.services;bundle-version="1.2.1",
- javax.persistence;bundle-version="2.1.0",
- com.vaadin.client;bundle-version="[7.5.7,7.7.0)",
- org.eclipse.e4.core.contexts,
- org.eclipse.e4.core.di;bundle-version="1.4.0",
- org.eclipse.core.databinding,
- org.eclipse.core.databinding.beans,
- org.eclipse.e4.core.di.extensions;bundle-version="0.12.0",
- multifileupload.osgi;bundle-version="[1.10,1.11)",
org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
- org.jsoup;bundle-version="1.7.2"
+ org.jsoup;bundle-version="1.8.3",
+ org.eclipse.osgi,
+ org.eclipse.osbp.blob;bundle-version="0.9.0"
Bundle-Vendor: Eclipse OSBP
-Import-Package: org.eclipse.emf.common.util,
+Import-Package: com.vaadin.ui,
+ org.eclipse.emf.common.util,
org.eclipse.osbp.eventbroker;version="0.9.0",
+ org.eclipse.osbp.ui.api.customfields;version="0.9.0",
org.eclipse.osbp.ui.api.datamart;version="0.9.0",
org.eclipse.osbp.ui.api.layout;version="0.9.0",
org.eclipse.osbp.ui.api.message;version="0.9.0",
org.eclipse.osbp.ui.api.metadata;version="0.9.0",
org.eclipse.osbp.ui.api.themes;version="0.9.0",
- org.eclipse.osbp.utils.blob.component;version="0.9.0",
org.eclipse.osbp.utils.common;version="0.9.0",
- org.eclipse.osbp.utils.constants;version="0.9.0",
- org.eclipse.osbp.utils.theme;version="0.9.0",
org.slf4j
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/MessageDialog.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/MessageDialog.java
index e42407c..f0fa793 100644
--- a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/MessageDialog.java
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/MessageDialog.java
@@ -21,12 +21,14 @@
private static final long serialVersionUID = 6245024141021744210L;
private String id;
private Label label;
+ private String message;
private List<IMessageRequester.ClickRecipient> recipients = new ArrayList<>();
HorizontalLayout buttons = new HorizontalLayout();
public MessageDialog(String id, String messageText) {
super();
this.id = id;
+ this.message = messageText;
setClosable(false);
setModal(true);
VerticalLayout subContent = new VerticalLayout();
@@ -71,4 +73,8 @@
public void removeButtonListener(ClickRecipient recipient) {
recipients.remove(recipient);
}
+
+ public String getMessage() {
+ return message;
+ }
}
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/PropertyLookup.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/PropertyLookup.java
index 20e77a6..7070ab7 100644
--- a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/PropertyLookup.java
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/PropertyLookup.java
@@ -22,11 +22,11 @@
import java.util.Map;
import java.util.TreeMap;
-import org.eclipse.osbp.ui.api.datamart.DerivedOlapException;
+import org.eclipse.osbp.blob.component.BlobComponent;
+import org.eclipse.osbp.ui.api.customfields.IBlobService;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType;
-import org.eclipse.osbp.utils.blob.component.BlobUploadComponent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,6 +40,13 @@
}
}
+class IntegerComparator implements Comparator<Integer> {
+ @Override
+ public int compare(Integer arg0, Integer arg1) {
+ return arg0.compareTo(arg1);
+ }
+}
+
class BigDecimalComparator implements Comparator<BigDecimal> {
@Override
public int compare(BigDecimal arg0, BigDecimal arg1) {
@@ -60,15 +67,17 @@
private static final Logger LOGGER = LoggerFactory.getLogger(PropertyLookup.class);
// datatypes
- public final static int NOT_SET = -1;
- public final static int DATE = 0;
- public final static int NUMBER = 1;
- public final static int BIGDECIMAL = 2;
- public final static int STRING = 3;
+ public static final int NOT_SET = -1;
+ public static final int DATE = 0;
+ public static final int NUMBER = 1;
+ public static final int BIGDECIMAL = 2;
+ public static final int STRING = 3;
+ public static final int INTEGER = 4;
+ public static final int LONG = 5;
// infotype
- public final static int STYLE = 0;
- public final static int RESOURCE = 1;
+ public static final int STYLE = 0;
+ public static final int RESOURCE = 1;
String format = null;
String defaultStyle = null;
@@ -79,15 +88,18 @@
boolean hideLabel = false;
boolean collapseColumn = false;
String tooltipPattern = null;
- private Map<Date, Resource> dateResourceMap = new TreeMap<Date, Resource>(new DateComparator());
- private Map<Date, String> dateStyleMap = new TreeMap<Date, String>(new DateComparator());
- private Map<Double, Resource> doubleResourceMap = new TreeMap<Double, Resource>(new DoubleComparator());
- private Map<Double, String> doubleStyleMap = new TreeMap<Double, String>(new DoubleComparator());
- private Map<String, Resource> stringResourceMap = new HashMap<String, Resource>();
- private Map<String, String> stringStyleMap = new HashMap<String, String>();
- private Map<Double, String> doubleTooltipMap = new TreeMap<Double, String>(new DoubleComparator());
- private Map<Date, String> dateTooltipMap = new TreeMap<Date, String>(new DateComparator());
- private Map<String, String> stringTooltipMap = new HashMap<String, String>();
+ private Map<Date, Resource> dateResourceMap = new TreeMap<>(new DateComparator());
+ private Map<Date, String> dateStyleMap = new TreeMap<>(new DateComparator());
+ private Map<Date, String> dateTooltipMap = new TreeMap<>(new DateComparator());
+ private Map<Double, Resource> doubleResourceMap = new TreeMap<>(new DoubleComparator());
+ private Map<Double, String> doubleStyleMap = new TreeMap<>(new DoubleComparator());
+ private Map<Double, String> doubleTooltipMap = new TreeMap<>(new DoubleComparator());
+ private Map<Integer, Resource> intResourceMap = new TreeMap<>(new IntegerComparator());
+ private Map<Integer, String> intStyleMap = new TreeMap<>(new IntegerComparator());
+ private Map<Integer, String> intTooltipMap = new TreeMap<>(new IntegerComparator());
+ private Map<String, Resource> stringResourceMap = new HashMap<>();
+ private Map<String, String> stringStyleMap = new HashMap<>();
+ private Map<String, String> stringTooltipMap = new HashMap<>();
private Locale locale;
private int defaultType = NOT_SET;
private boolean isImage = false;
@@ -95,16 +107,20 @@
private StringToFormattedDateConverter dateConv = new StringToFormattedDateConverter();
private StringToFormattedDoubleConverter numberConv = new StringToFormattedDoubleConverter();
private StringToFormattedBigDecimalConverter bigDecimalConv = new StringToFormattedBigDecimalConverter();
+ private StringToFormattedIntegerConverter intConv = new StringToFormattedIntegerConverter();
+ private StringToFormattedLongConverter longConv = new StringToFormattedLongConverter();
private String imagePath = null;
private String imageParameterPattern = null;
private String imageParameterFormat = null;
private String resizeString = null;
private Resource columnIcon = null;
private int resolutionId = 0;
+ private IBlobService blobService;
- public PropertyLookup(IThemeResourceService themeResourceService, IDSLMetadataService dslMetadataService, Locale locale) {
+ public PropertyLookup(IThemeResourceService themeResourceService, IDSLMetadataService dslMetadataService, IBlobService blobService, Locale locale) {
this.themeResourceService = themeResourceService;
this.dslMetadataService = dslMetadataService;
+ this.blobService = blobService;
this.locale = locale;
}
@@ -148,21 +164,37 @@
case NUMBER:
try {
item = numberConv.convertToPresentation(getDoubleValue(value), String.class, locale);
- } catch (ConversionException | DerivedOlapException e) {
- e.printStackTrace();
+ } catch (ConversionException e) {
+ LOGGER.error("{}", e);
+ }
+ break;
+ case INTEGER:
+ try {
+ item = intConv.convertToPresentation((Integer)value, String.class, locale);
+ } catch (ConversionException e) {
+ LOGGER.error("{}", e);
+ }
+ break;
+ case LONG:
+ try {
+ item = longConv.convertToPresentation((Long)value, String.class, locale);
+ } catch (ConversionException e) {
+ LOGGER.error("{}", e);
}
break;
case BIGDECIMAL:
try {
item = bigDecimalConv.convertToPresentation(getBigDecimalValue(value), String.class, locale);
- } catch (ConversionException | DerivedOlapException e) {
- e.printStackTrace();
+ } catch (ConversionException e) {
+ LOGGER.error("{}", e);
}
break;
case STRING:
item = (String) value;
LOGGER.debug("getTooltip >" + item + "<");
break;
+ default:
+ break;
}
if (tooltipPattern != null) {
LOGGER.debug("getTooltip pattern >" + tooltipPattern + "< result:" + tooltip);
@@ -209,6 +241,10 @@
return numberConv;
}
+ public StringToFormattedIntegerConverter getIntegerConverter() {
+ return intConv;
+ }
+
public StringToFormattedBigDecimalConverter getBigDecimalConverter() {
return bigDecimalConv;
}
@@ -275,6 +311,44 @@
return this;
}
+ public PropertyLookup addResourceLookup(int value, String resourceName) {
+ resourceDiscreteValues = true;
+ addResourceInterval(value, resourceName);
+ return this;
+ }
+
+ public PropertyLookup addStyleLookup(int value, String styleName) {
+ styleDiscreteValues = true;
+ addStyleInterval(value, styleName);
+ return this;
+ }
+
+ public PropertyLookup addTooltipLookup(int value, String tooltip) {
+ tooltipDiscreteValues = true;
+ addTooltipInterval(value, tooltip);
+ return this;
+ }
+
+ public PropertyLookup addResourceInterval(int until, String resourceName) {
+ Resource resource = themeResourceService.getThemeResource(resourceName, ThemeResourceType.ICON);
+ intResourceMap.put(until, resource);
+ isImage = true;
+ defaultType = INTEGER;
+ return this;
+ }
+
+ public PropertyLookup addStyleInterval(int until, String styleName) {
+ intStyleMap.put(until, styleName);
+ defaultType = INTEGER;
+ return this;
+ }
+
+ public PropertyLookup addTooltipInterval(int until, String tooltip) {
+ intTooltipMap.put(until, tooltip);
+ defaultType = INTEGER;
+ return this;
+ }
+
public PropertyLookup addResourceLookup(double value, String resourceName) {
resourceDiscreteValues = true;
addResourceInterval(value, resourceName);
@@ -331,24 +405,22 @@
return this;
}
- protected double getDoubleValue(Object value) throws DerivedOlapException {
+ protected double getDoubleValue(Object value) {
if (value instanceof Double) {
return (Double) value;
} else if (value instanceof Float) {
return (Float) value;
} else if (value instanceof Long) {
return (Long) value;
- } else if (value instanceof Integer) {
- return (Integer) value;
}
- throw new DerivedOlapException("unsupported type conversion");
+ return 0;
}
- protected BigDecimal getBigDecimalValue(Object value) throws DerivedOlapException {
+ protected BigDecimal getBigDecimalValue(Object value) {
if (value instanceof BigDecimal) {
return (BigDecimal) value;
}
- throw new DerivedOlapException("unsupported type conversion");
+ return BigDecimal.ZERO;
}
public int getType() {
@@ -377,12 +449,7 @@
}
break;
case NUMBER:
- double doubleValue = 0;
- try {
- doubleValue = getDoubleValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
- }
+ double doubleValue = getDoubleValue(value);
for (Double key : doubleResourceMap.keySet()) {
if ((resourceDiscreteValues && doubleValue == key) || (!resourceDiscreteValues && doubleValue <= key)) {
return new CellSetImage(doubleValue, numberConv.convertToPresentation(doubleValue, String.class, locale), doubleResourceMap.get(key), hideLabel, resizeString);
@@ -401,13 +468,48 @@
return new CellSetImage(doubleValue, numberConv.convertToPresentation(doubleValue, String.class, locale), null, hideLabel, resizeString);
}
break;
- case BIGDECIMAL:
- BigDecimal bigValue = BigDecimal.ZERO;
- try {
- bigValue = getBigDecimalValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
+ case INTEGER:
+ Integer intValue = (Integer)value;
+ for (Integer key : intResourceMap.keySet()) {
+ if ((resourceDiscreteValues && intValue == key) || (!resourceDiscreteValues && intValue <= key)) {
+ return new CellSetImage(intValue, intConv.convertToPresentation(intValue, String.class, locale), intResourceMap.get(key), hideLabel, resizeString);
+ }
}
+ if (imagePath != null) {
+ String path = imagePath;
+ if (imageParameterPattern != null) {
+ path = path.replace(imageParameterPattern, String.format(imageParameterFormat, intValue));
+ }
+ Resource res = themeResourceService.getThemeResource(path, ThemeResourceType.ICON);
+ return new CellSetImage(intValue, intConv.convertToPresentation(intValue, String.class, locale), res, hideLabel, resizeString);
+ }
+ // if it should be an image and no match was found, return an empty image to avoid complaints
+ if (isImage) {
+ return new CellSetImage(intValue, intConv.convertToPresentation(intValue, String.class, locale), null, hideLabel, resizeString);
+ }
+ break;
+ case LONG:
+ Long longValue = (Long)value;
+ for (Integer key : intResourceMap.keySet()) {
+ if ((resourceDiscreteValues && longValue == (long)key) || (!resourceDiscreteValues && longValue <= (long)key)) {
+ return new CellSetImage(longValue, longConv.convertToPresentation(longValue, String.class, locale), intResourceMap.get(key), hideLabel, resizeString);
+ }
+ }
+ if (imagePath != null) {
+ String path = imagePath;
+ if (imageParameterPattern != null) {
+ path = path.replace(imageParameterPattern, String.format(imageParameterFormat, longValue.intValue()));
+ }
+ Resource res = themeResourceService.getThemeResource(path, ThemeResourceType.ICON);
+ return new CellSetImage(longValue, longConv.convertToPresentation(longValue, String.class, locale), res, hideLabel, resizeString);
+ }
+ // if it should be an image and no match was found, return an empty image to avoid complaints
+ if (isImage) {
+ return new CellSetImage(longValue, longConv.convertToPresentation(longValue, String.class, locale), null, hideLabel, resizeString);
+ }
+ break;
+ case BIGDECIMAL:
+ BigDecimal bigValue = getBigDecimalValue(value);
for (Double key : doubleResourceMap.keySet()) {
BigDecimal bdKey = new BigDecimal(key);
if ((resourceDiscreteValues && bigValue.equals(bdKey)) || (!resourceDiscreteValues && bigValue.compareTo(bdKey) <= 0)) {
@@ -442,16 +544,15 @@
return new CellSetImage(value, (String) value, res, hideLabel, resizeString);
}
if (isBlob) {
- BlobUploadComponent blobUploadComponent = BlobUploadComponent.initialize();
- blobUploadComponent.setValue((String) value);
- blobUploadComponent.setDisplayResolutionId(resolutionId);
- return blobUploadComponent;
+ return new BlobComponent(blobService, (String) value, resolutionId);
}
// if it should be an image and no match was found, return an empty image to avoid complaints
if (isImage) {
return new CellSetImage(value, (String) value, null, hideLabel, resizeString);
}
break;
+ default:
+ break;
}
return value;
}
@@ -466,25 +567,32 @@
}
break;
case NUMBER:
- double doubleValue = 0;
- try {
- doubleValue = getDoubleValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
- }
+ double doubleValue = getDoubleValue(value);
for (Double key : doubleTooltipMap.keySet()) {
if ((tooltipDiscreteValues && doubleValue == key) || (!tooltipDiscreteValues && doubleValue <= key)) {
return dslMetadataService.translate(locale.toLanguageTag(), doubleTooltipMap.get(key));
}
}
break;
+ case INTEGER:
+ Integer intValue = (Integer)value;
+ for (Integer key : intTooltipMap.keySet()) {
+ if ((tooltipDiscreteValues && intValue == key) || (!tooltipDiscreteValues && intValue <= key)) {
+ return dslMetadataService.translate(locale.toLanguageTag(), intTooltipMap.get(key));
+ }
+ }
+ break;
+ case LONG:
+ Long longValue = (Long)value;
+ for (Integer key : intTooltipMap.keySet()) {
+ if ((tooltipDiscreteValues && longValue == (long)key) || (!tooltipDiscreteValues && longValue <= (long)key)) {
+ return dslMetadataService.translate(locale.toLanguageTag(), intTooltipMap.get(key));
+ }
+ }
+ break;
case BIGDECIMAL:
BigDecimal bigValue = BigDecimal.ZERO;
- try {
- bigValue = getBigDecimalValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
- }
+ bigValue = getBigDecimalValue(value);
for (Double key : doubleTooltipMap.keySet()) {
BigDecimal bdKey = new BigDecimal(key);
if ((tooltipDiscreteValues && bigValue.equals(bdKey)) || (!tooltipDiscreteValues && bigValue.compareTo(bdKey) <= 0)) {
@@ -499,6 +607,8 @@
}
}
break;
+ default:
+ break;
}
return getTooltip(value);
}
@@ -539,28 +649,41 @@
if (doubleStyleMap.size() == 0) {
return defaultStyle;
}
- double doubleValue = 0;
- try {
- doubleValue = getDoubleValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
- }
+ double doubleValue = getDoubleValue(value);
for (Double key : doubleStyleMap.keySet()) {
if ((styleDiscreteValues && doubleValue == key) || (!styleDiscreteValues && doubleValue <= key)) {
return doubleStyleMap.get(key);
}
}
break;
+ case INTEGER:
+ if (intStyleMap.size() == 0) {
+ return defaultStyle;
+ }
+ Integer intValue = (Integer)value;
+ for (Integer key : intStyleMap.keySet()) {
+ if ((styleDiscreteValues && intValue == key) || (!styleDiscreteValues && intValue <= key)) {
+ return intStyleMap.get(key);
+ }
+ }
+ break;
+ case LONG:
+ if (intStyleMap.size() == 0) {
+ return defaultStyle;
+ }
+ Long longValue = (Long)value;
+ for (Integer key : intStyleMap.keySet()) {
+ if ((styleDiscreteValues && longValue == (long)key) || (!styleDiscreteValues && longValue <= (long)key)) {
+ return intStyleMap.get(key);
+ }
+ }
+ break;
case BIGDECIMAL:
if (doubleStyleMap.size() == 0) {
return defaultStyle;
}
BigDecimal bigDecimalValue = BigDecimal.ZERO;
- try {
- bigDecimalValue = getBigDecimalValue(value);
- } catch (DerivedOlapException e) {
- e.printStackTrace();
- }
+ bigDecimalValue = getBigDecimalValue(value);
for (Double key : doubleStyleMap.keySet()) {
BigDecimal bdKey = new BigDecimal(key);
if ((styleDiscreteValues && bigDecimalValue.equals(bdKey)) || (!styleDiscreteValues && bigDecimalValue.compareTo(bdKey) <= 0)) {
@@ -578,14 +701,19 @@
}
}
break;
+ default:
+ break;
}
return defaultStyle;
}
public Class<?> getPropertyType(Class<?> defaultType) {
- if (defaultType.equals(double.class) || defaultType.equals(Double.class) || defaultType.equals(float.class) || defaultType.equals(Float.class)
- || defaultType.equals(int.class) || defaultType.equals(Integer.class) || defaultType.equals(long.class) || defaultType.equals(Long.class)) {
+ if (defaultType.equals(double.class) || defaultType.equals(Double.class) || defaultType.equals(float.class) || defaultType.equals(Float.class)) {
this.defaultType = NUMBER;
+ } else if (defaultType.equals(Integer.class) || defaultType.equals(int.class)) {
+ this.defaultType = INTEGER;
+ } else if (defaultType.equals(long.class) || defaultType.equals(Long.class)) {
+ this.defaultType = LONG;
} else if (defaultType.equals(BigDecimal.class)) {
this.defaultType = BIGDECIMAL;
} else if (defaultType.equals(String.class)) {
@@ -597,15 +725,14 @@
return CellSetImage.class;
}
if (isBlob) {
- return BlobUploadComponent.class;
+ return BlobComponent.class;
}
return defaultType;
}
public PropertyLookup setImageService(String path, boolean hasParameter) {
isImage = true;
- // defaultType = STRING;
- imagePath = path;
+ imagePath = path;
if (hasParameter) {
String[] token = path.split("%");
// there must only be one parameter for the moment
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedBigDecimalConverter.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedBigDecimalConverter.java
index eab9713..92b5114 100644
--- a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedBigDecimalConverter.java
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedBigDecimalConverter.java
@@ -22,8 +22,6 @@
import org.apache.commons.lang.StringEscapeUtils;
import com.vaadin.data.util.converter.StringToBigDecimalConverter;
-//import com.vaadin.data.util.converter.StringToDoubleConverter;
-//import com.vaadin.data.util.converter.Converter.ConversionException;
public class StringToFormattedBigDecimalConverter extends StringToBigDecimalConverter {
private static final long serialVersionUID = -4298862937719948986L;
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedDateConverter.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedDateConverter.java
index 8cc2c20..eff3a87 100644
--- a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedDateConverter.java
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedDateConverter.java
@@ -23,25 +23,34 @@
public class StringToFormattedDateConverter extends StringToDateConverter {
private static final long serialVersionUID = 721600785465571493L;
private PropertyLookup lookup = null;
- private DateFormat dateFormat = null;
public void setLookup(PropertyLookup lookup) {
this.lookup = lookup;
}
- @Override
+ protected DateFormat getDefaultFormat(Locale locale) {
+ if (locale == null) {
+ locale = Locale.getDefault();
+ }
+
+ DateFormat f = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
+ f.setLenient(false);
+ return f;
+ }
+
+ @Override
protected DateFormat getFormat(Locale locale) {
if (locale == null) {
if (lookup == null) {
locale = Locale.getDefault();
- return super.getFormat(locale);
+ return getDefaultFormat(locale);
} else {
locale = lookup.getLocale();
}
}
if (lookup == null || lookup.getFormat() == null) {
- return super.getFormat(locale);
+ return getDefaultFormat(locale);
}
return SimpleDateFormatter.getFormat(StringEscapeUtils.unescapeHtml(lookup.getFormat()), locale);
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedIntegerConverter.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedIntegerConverter.java
new file mode 100644
index 0000000..5615584
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedIntegerConverter.java
@@ -0,0 +1,94 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.utils.vaadin;
+
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.ParsePosition;
+import java.util.Locale;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import com.vaadin.data.util.converter.StringToBigDecimalConverter;
+import com.vaadin.data.util.converter.StringToIntegerConverter;
+
+public class StringToFormattedIntegerConverter extends StringToIntegerConverter {
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1587429363693818150L;
+ private PropertyLookup lookup = null;
+ private DecimalFormat decimalFormat = null;
+
+ public void setLookup(PropertyLookup lookup) {
+ this.lookup = lookup;
+ }
+
+ protected DecimalFormat getFormat(Locale locale) {
+ if (locale == null) {
+ if (lookup == null) {
+ locale = Locale.getDefault();
+ return (DecimalFormat) DecimalFormat.getInstance(locale);
+ } else {
+ locale = lookup.getLocale();
+ }
+ }
+ if (lookup == null || lookup.getFormat() == null) {
+ return (DecimalFormat) DecimalFormat.getInstance(locale);
+ }
+ try {
+ decimalFormat = new DecimalFormat(StringEscapeUtils.unescapeHtml(lookup.getFormat()), new DecimalFormatSymbols(locale));
+ } catch (IllegalArgumentException e){
+ String msg = String.format("formatter %s is invalid for decimal numbers: %s", lookup.getFormat(), e.getLocalizedMessage());
+ throw new ConversionException(msg);
+ }
+
+ return decimalFormat;
+ }
+
+ @Override
+ protected Number convertToNumber(String value, Class<? extends Number> targetType, Locale locale) throws ConversionException {
+ if (value == null) {
+ return null;
+ }
+
+ // Remove leading and trailing white space
+ value = value.trim();
+
+ // Parse and detect errors. If the full string was not used, it is
+ // an error.
+ ParsePosition parsePosition = new ParsePosition(0);
+ Number parsedValue = getFormat(locale).parse(value, parsePosition);
+ if (parsePosition.getIndex() != value.length()) {
+ throw new ConversionException("Could not convert '" + value
+ + "' to " + getModelType().getName());
+ }
+
+ if (parsedValue == null) {
+ // Convert "" to null
+ return null;
+ }
+ return parsedValue;
+ }
+
+
+ @Override
+ public String convertToPresentation(Integer value, Class<? extends String> targetType, Locale locale) throws ConversionException {
+ if (value == null) {
+ return null;
+ }
+
+ return getFormat(locale).format(value);
+ }
+}
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedLongConverter.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedLongConverter.java
new file mode 100644
index 0000000..9c73560
--- /dev/null
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/StringToFormattedLongConverter.java
@@ -0,0 +1,95 @@
+/**
+ *
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ */
+ package org.eclipse.osbp.utils.vaadin;
+
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.ParsePosition;
+import java.util.Locale;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import com.vaadin.data.util.converter.StringToBigDecimalConverter;
+import com.vaadin.data.util.converter.StringToIntegerConverter;
+import com.vaadin.data.util.converter.StringToLongConverter;
+
+public class StringToFormattedLongConverter extends StringToLongConverter {
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1587429363693818150L;
+ private PropertyLookup lookup = null;
+ private DecimalFormat decimalFormat = null;
+
+ public void setLookup(PropertyLookup lookup) {
+ this.lookup = lookup;
+ }
+
+ protected DecimalFormat getFormat(Locale locale) {
+ if (locale == null) {
+ if (lookup == null) {
+ locale = Locale.getDefault();
+ return (DecimalFormat) DecimalFormat.getInstance(locale);
+ } else {
+ locale = lookup.getLocale();
+ }
+ }
+ if (lookup == null || lookup.getFormat() == null) {
+ return (DecimalFormat) DecimalFormat.getInstance(locale);
+ }
+ try {
+ decimalFormat = new DecimalFormat(StringEscapeUtils.unescapeHtml(lookup.getFormat()), new DecimalFormatSymbols(locale));
+ } catch (IllegalArgumentException e){
+ String msg = String.format("formatter %s is invalid for decimal numbers: %s", lookup.getFormat(), e.getLocalizedMessage());
+ throw new ConversionException(msg);
+ }
+
+ return decimalFormat;
+ }
+
+ @Override
+ protected Number convertToNumber(String value, Class<? extends Number> targetType, Locale locale) throws ConversionException {
+ if (value == null) {
+ return null;
+ }
+
+ // Remove leading and trailing white space
+ value = value.trim();
+
+ // Parse and detect errors. If the full string was not used, it is
+ // an error.
+ ParsePosition parsePosition = new ParsePosition(0);
+ Number parsedValue = getFormat(locale).parse(value, parsePosition);
+ if (parsePosition.getIndex() != value.length()) {
+ throw new ConversionException("Could not convert '" + value
+ + "' to " + getModelType().getName());
+ }
+
+ if (parsedValue == null) {
+ // Convert "" to null
+ return null;
+ }
+ return parsedValue;
+ }
+
+
+ @Override
+ public String convertToPresentation(Long value, Class<? extends String> targetType, Locale locale) throws ConversionException {
+ if (value == null) {
+ return null;
+ }
+
+ return getFormat(locale).format(value);
+ }
+}
diff --git a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/ViewLayoutManager.java b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/ViewLayoutManager.java
index 36bb229..bd17680 100644
--- a/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/ViewLayoutManager.java
+++ b/org.eclipse.osbp.utils.ui/src/org/eclipse/osbp/utils/vaadin/ViewLayoutManager.java
@@ -14,7 +14,7 @@
package org.eclipse.osbp.utils.vaadin;
import org.eclipse.osbp.ui.api.layout.IViewLayoutManager;
-import org.eclipse.osbp.utils.theme.EnumCssClass;
+import org.eclipse.osbp.ui.api.themes.EnumCssClass;
import com.vaadin.server.Extension;
import com.vaadin.shared.ui.MarginInfo;