summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/db/FieldColumn.java
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/db/FieldColumn.java')
-rw-r--r--wizards/com/sun/star/wizards/db/FieldColumn.java337
1 files changed, 203 insertions, 134 deletions
diff --git a/wizards/com/sun/star/wizards/db/FieldColumn.java b/wizards/com/sun/star/wizards/db/FieldColumn.java
index 4638a05045a8..2b2826b40d02 100644
--- a/wizards/com/sun/star/wizards/db/FieldColumn.java
+++ b/wizards/com/sun/star/wizards/db/FieldColumn.java
@@ -31,20 +31,22 @@ package com.sun.star.wizards.db;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XNameAccess;
-import com.sun.star.lang.IllegalArgumentException;
+// import com.sun.star.lang.IllegalArgumentException;
import com.sun.star.sdbc.DataType;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.Exception;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.wizards.common.*;
-public class FieldColumn {
+public class FieldColumn
+{
+
public Object DefaultValue;
- public String FieldName;
- public String DisplayFieldName;
- public String FieldTitle;
+ public String m_sFieldName;
+ private String m_sDisplayFieldName;
+ private String FieldTitle;
public int ColIndex;
- public String CommandName;
+ private String m_sCommandName;
public int FieldWidth;
public int DBFormatKey;
public int FieldType;
@@ -59,323 +61,390 @@ public class FieldColumn {
protected int iTimeFormatKey;
protected int iLogicalFormatKey;
- public FieldColumn(CommandMetaData oCommandMetaData, String _DisplayFieldName) {
- DisplayFieldName = _DisplayFieldName;
- CommandName = oCommandMetaData.getCommandName();
- FieldName = getFieldName(DisplayFieldName, CommandName);
- FieldTitle = _DisplayFieldName; // oCommandMetaData.getFieldTitle(FieldName);
- FieldTitle = FieldName;
- DBMetaData.CommandObject oTable = oCommandMetaData.getTableByName(CommandName);
+ public FieldColumn(CommandMetaData oCommandMetaData, String _DisplayFieldName)
+ {
+ m_sDisplayFieldName = _DisplayFieldName;
+ m_sCommandName = oCommandMetaData.getCommandName();
+ m_sFieldName = getOnlyFieldName(m_sDisplayFieldName, m_sCommandName);
+// TODO: could be wrong here!
+ FieldTitle = _DisplayFieldName; // oCommandMetaData.getFieldTitle(m_sFieldName);
+ FieldTitle = m_sFieldName;
+ DBMetaData.CommandObject oTable = oCommandMetaData.getTableByName(m_sCommandName);
setFormatKeys(oCommandMetaData, oTable.xColumns);
}
-
- public FieldColumn(CommandMetaData oCommandMetaData, String _FieldName, String _CommandName, boolean _bInstantiateByDisplayName) {
- CommandName = _CommandName;
- if (_bInstantiateByDisplayName){
- DisplayFieldName = _FieldName;
- FieldName = getFieldName(_FieldName, _CommandName);
+ public FieldColumn(CommandMetaData oCommandMetaData, String _FieldName, String _CommandName, boolean _bInstantiateByDisplayName)
+ {
+ m_sCommandName = _CommandName;
+ if (_bInstantiateByDisplayName)
+ {
+ m_sDisplayFieldName = _FieldName;
+ m_sFieldName = getOnlyFieldName(_FieldName, _CommandName);
}
- else{
- FieldName = _FieldName;
- DisplayFieldName = composeDisplayFieldName(FieldName, _CommandName);
+ else
+ {
+ m_sFieldName = _FieldName;
+ m_sDisplayFieldName = composeDisplayFieldName(_CommandName, m_sFieldName);
}
- FieldTitle = FieldName;
- DBMetaData.CommandObject oTable = oCommandMetaData.getTableByName(CommandName);
+ FieldTitle = m_sFieldName;
+ DBMetaData.CommandObject oTable = oCommandMetaData.getTableByName(m_sCommandName);
setFormatKeys(oCommandMetaData, oTable.xColumns);
}
-
- public FieldColumn(CommandMetaData oCommandMetaData, XNameAccess _xColumns, String _FieldName) {
- FieldName = _FieldName;
- FieldTitle = FieldName;
- DisplayFieldName = FieldName;
- ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), FieldName) + 1;
+ public FieldColumn(CommandMetaData oCommandMetaData, XNameAccess _xColumns, String _FieldName)
+ {
+ m_sFieldName = _FieldName;
+ FieldTitle = m_sFieldName;
+ m_sDisplayFieldName = m_sFieldName;
+ ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), m_sFieldName) + 1;
setFormatKeys(oCommandMetaData, _xColumns);
}
-
- private String getFieldName(String _DisplayFieldName, String _CommandName){
- return _DisplayFieldName.substring(_CommandName.length()+1, _DisplayFieldName.length());
+ /**
+ * Remove the pre name, we want the name after the 'dot'
+ * @param _DisplayFieldName
+ * @param _CommandName
+ * @return
+ */
+ private String getOnlyFieldName(String _DisplayFieldName, String _CommandName)
+ {
+ final String sName = _DisplayFieldName.substring(_CommandName.length() + 1, _DisplayFieldName.length());
+ return sName;
}
-
- public static String composeDisplayFieldName(String _sFieldName, String _sCommandName){
+ public static String composeDisplayFieldName(String _sCommandName, String _sFieldName)
+ {
return _sCommandName + "." + _sFieldName;
}
- private void setFormatKeys(CommandMetaData oCommandMetaData, XNameAccess _xColumns){
- try {
- m_xColPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, _xColumns.getByName(FieldName));
- ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), FieldName) + 1;
- iType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
- iDateFormatKey = oCommandMetaData.getNumberFormatter().getDateFormatKey();
- iDateTimeFormatKey = oCommandMetaData.getNumberFormatter().getDateTimeFormatKey();
- iNumberFormatKey = oCommandMetaData.getNumberFormatter().getNumberFormatKey();
- iTextFormatKey = oCommandMetaData.getNumberFormatter().getTextFormatKey();
- iTimeFormatKey = oCommandMetaData.getNumberFormatter().getTimeFormatKey();
- iLogicalFormatKey = oCommandMetaData.getNumberFormatter().getLogicalFormatKey();
- DefaultValue = getTyperelatedFieldData();
- } catch (Exception e) {
- e.printStackTrace(System.out);
- }}
-
-
- public XPropertySet getXColumnPropertySet(){
+ private void setFormatKeys(CommandMetaData oCommandMetaData, XNameAccess _xColumns)
+ {
+ try
+ {
+ m_xColPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, _xColumns.getByName(m_sFieldName));
+ ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), m_sFieldName) + 1;
+ iType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
+
+ final NumberFormatter aNumberFormatter = oCommandMetaData.getNumberFormatter();
+ iDateFormatKey = aNumberFormatter.getDateFormatKey();
+ iDateTimeFormatKey = aNumberFormatter.getDateTimeFormatKey();
+ iNumberFormatKey = aNumberFormatter.getNumberFormatKey();
+ iTextFormatKey = aNumberFormatter.getTextFormatKey();
+ iTimeFormatKey = aNumberFormatter.getTimeFormatKey();
+ iLogicalFormatKey = aNumberFormatter.getLogicalFormatKey();
+
+ DefaultValue = getTyperelatedFieldData();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace(System.out);
+ }
+ }
+
+ public XPropertySet getXColumnPropertySet()
+ {
return m_xColPropertySet;
}
+ public void setCommandName(String _CommandName)
+ {
+ m_sCommandName = _CommandName;
+ }
- public void setCommandName(String _CommandName) {
- CommandName = _CommandName;
+ public String getDisplayFieldName()
+ {
+ return m_sDisplayFieldName;
}
+ public String getCommandName()
+ {
+ return m_sCommandName;
+ }
- public String getCommandName() {
- return CommandName;
+ public String getFieldName()
+ {
+ return m_sFieldName;
}
+ public String getFieldTitle()
+ {
+ return FieldTitle;
+ }
- public String getFieldName(){
- return FieldName;
+ public void setFieldTitle(String _sTitle)
+ {
+ FieldTitle = _sTitle;
}
- public static String getCommandName(String _DisplayName) {
+ public static String getCommandName(String _DisplayName)
+ {
String locCommandName = null;
String[] sFieldMetaData = JavaTools.ArrayoutofString(_DisplayName, ".");
- if (sFieldMetaData.length >= 2) {
+ if (sFieldMetaData.length >= 2)
+ {
String locfieldname = sFieldMetaData[sFieldMetaData.length - 1];
locCommandName = _DisplayName.substring(0, _DisplayName.length() - locfieldname.length() - 1);
}
return locCommandName;
}
- public int getFormatKey() {
- try {
- int iKey;
- Object oKey = m_xColPropertySet.getPropertyValue( "FormatKey");
- if (AnyConverter.isVoid(oKey))
- DBFormatKey = StandardFormatKey;
- else
- DBFormatKey = AnyConverter.toInt(oKey);
- return DBFormatKey;
- } catch (Exception exception) {
- exception.printStackTrace(System.out);
- return StandardFormatKey;
- }}
-
-
- public boolean isBoolean(){
- boolean bIsBoolean = false;
- try{
- FieldType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
- switch (FieldType) {
- case DataType.BIT : // == -7;
- case DataType.BOOLEAN :
- bIsBoolean = true;
- break;
- default:
- bIsBoolean = false;
+ public int getFormatKey()
+ {
+ try
+ {
+ // int iKey;
+ int nDBFormatKey;
+ Object oKey = m_xColPropertySet.getPropertyValue("FormatKey");
+ if (AnyConverter.isVoid(oKey))
+ {
+ nDBFormatKey = StandardFormatKey;
+ }
+ else
+ {
+ nDBFormatKey = AnyConverter.toInt(oKey);
+ }
+ return nDBFormatKey;
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace(System.out);
+ return StandardFormatKey;
}
- } catch (Exception exception) {
- exception.printStackTrace(System.out);
}
+
+ public boolean isBoolean()
+ {
+ boolean bIsBoolean = false;
+ try
+ {
+ FieldType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
+ switch (FieldType)
+ {
+ case DataType.BIT: // == -7;
+ case DataType.BOOLEAN:
+ bIsBoolean = true;
+ break;
+ default:
+ bIsBoolean = false;
+ }
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace(System.out);
+ }
return bIsBoolean;
}
- private Object getTyperelatedFieldData() {
- try {
+ private Object getTyperelatedFieldData()
+ {
+ try
+ {
FieldType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
- switch (FieldType) {
- case DataType.BIT : // == -7;
- case DataType.BOOLEAN :
+ switch (FieldType)
+ {
+ case DataType.BIT: // == -7;
+ case DataType.BOOLEAN:
// Todo: Look if the defaultvalue has been set in the Datasource
StandardFormatKey = iLogicalFormatKey;
FieldWidth = 5;
bIsNumberFormat = true;
break;
- case DataType.TINYINT : // == -6;
+ case DataType.TINYINT: // == -6;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 5;
bIsNumberFormat = true;
break;
- case DataType.SMALLINT : // == 5;
+ case DataType.SMALLINT: // == 5;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 5;
bIsNumberFormat = true;
break;
- case DataType.INTEGER : // == 4;
+ case DataType.INTEGER: // == 4;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 10;
bIsNumberFormat = true;
break;
- case DataType.BIGINT : // == -5;
+ case DataType.BIGINT: // == -5;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 15;
bIsNumberFormat = true;
break;
- case DataType.CHAR : // == 1;
+ case DataType.CHAR: // == 1;
StandardFormatKey = iTextFormatKey;
getTextFieldWidth(10);
bIsNumberFormat = false;
break;
- case DataType.VARCHAR : // == 12;
+ case DataType.VARCHAR: // == 12;
StandardFormatKey = iTextFormatKey;
getTextFieldWidth(30);
bIsNumberFormat = false;
break;
- case DataType.LONGVARCHAR : // == -1;
+ case DataType.LONGVARCHAR: // == -1;
StandardFormatKey = iTextFormatKey;
getTextFieldWidth(60);
bIsNumberFormat = false;
break;
- case DataType.NUMERIC : // == 2;
+ case DataType.NUMERIC: // == 2;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 20;
bIsNumberFormat = true;
break;
- case DataType.DECIMAL : // == 3; [mit Nachkommastellen]
+ case DataType.DECIMAL: // == 3; [mit Nachkommastellen]
StandardFormatKey = iNumberFormatKey;
FieldWidth = 10 + AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Scale")) + 1;
bIsNumberFormat = true;
break;
- case DataType.FLOAT : // == 6;
+ case DataType.FLOAT: // == 6;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 10 + AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Scale")) + 1;
bIsNumberFormat = true;
break;
- case DataType.REAL : // == 7;
+ case DataType.REAL: // == 7;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 10 + AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Scale")) + 1;
bIsNumberFormat = true;
break;
- case DataType.DOUBLE : // == 8;
+ case DataType.DOUBLE: // == 8;
StandardFormatKey = iNumberFormatKey;
FieldWidth = 10 + AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Scale")) + 1;
bIsNumberFormat = true;
break;
- case DataType.DATE : // == 91;
+ case DataType.DATE: // == 91;
StandardFormatKey = iDateFormatKey;
FieldWidth = 10;
bIsNumberFormat = true;
break;
- case DataType.TIME : // == 92;
+ case DataType.TIME: // == 92;
StandardFormatKey = iTimeFormatKey;
FieldWidth = 10;
bIsNumberFormat = true;
break;
- case DataType.TIMESTAMP : // == 93;
+ case DataType.TIMESTAMP: // == 93;
StandardFormatKey = iDateTimeFormatKey;
FieldWidth = 20;
bIsNumberFormat = true;
break;
}
DBFormatKey = getFormatKey();
+ // TODO: the DefaultValue is not set in this function!!!
return DefaultValue;
- } catch (Exception exception) {
+ }
+ catch (Exception exception)
+ {
exception.printStackTrace(System.out);
return null;
}
}
- private void getTextFieldWidth(int iWidth) {
- int iNewWidth = iWidth;
- try {
+ private void getTextFieldWidth(int iWidth)
+ {
+ // int iNewWidth = iWidth;
+ try
+ {
FieldWidth = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Precision"));
- if (FieldWidth > 0) {
+ if (FieldWidth > 0)
+ {
if (FieldWidth > (2 * iWidth))
+ {
FieldWidth = 2 * iWidth;
+ }
else if (FieldWidth == 0)
+ {
FieldWidth = iWidth;
+ }
}
- } catch (Exception exception) {
+ }
+ catch (Exception exception)
+ {
exception.printStackTrace(System.out);
}
}
- public Object getDefaultValue() {
- switch (FieldType) {
- case DataType.BIT : // == -7;
+ public Object getDefaultValue()
+ {
+ switch (FieldType)
+ {
+ case DataType.BIT: // == -7;
case DataType.BOOLEAN:
DefaultValue = (Object) Integer.valueOf("1");
break;
- case DataType.TINYINT : // == -6;
+ case DataType.TINYINT: // == -6;
DefaultValue = (Object) Integer.valueOf("98");
break;
- case DataType.SMALLINT : // == 5;
+ case DataType.SMALLINT: // == 5;
DefaultValue = (Object) Integer.valueOf("987");
break;
- case DataType.INTEGER : // == 4;
+ case DataType.INTEGER: // == 4;
DefaultValue = (Object) Integer.valueOf("9876");
break;
- case DataType.BIGINT : // == -5;
+ case DataType.BIGINT: // == -5;
DefaultValue = (Object) Integer.valueOf("98765");
break;
- case DataType.CHAR : // == 1;
+ case DataType.CHAR: // == 1;
DefaultValue = (Object) String.valueOf('x');
break;
- case DataType.VARCHAR : // == 12;
+ case DataType.VARCHAR: // == 12;
DefaultValue = (Object) BlindtextCreator.getBlindTextString(FieldTitle, FieldWidth, FieldWidth);
break;
- case DataType.LONGVARCHAR : // == -1;
+ case DataType.LONGVARCHAR: // == -1;
DefaultValue = (Object) BlindtextCreator.getBlindTextString(FieldTitle, FieldWidth, FieldWidth);
break;
- case DataType.NUMERIC : // == 2;
+ case DataType.NUMERIC: // == 2;
DefaultValue = (Object) Double.valueOf("9876.5");
break;
- case DataType.DECIMAL : // == 3; [mit Nachkommastellen]
+ case DataType.DECIMAL: // == 3; [mit Nachkommastellen]
DefaultValue = (Object) Double.valueOf("9876.5");
break;
- case DataType.FLOAT : // == 6;
+ case DataType.FLOAT: // == 6;
DefaultValue = (Object) Double.valueOf("9876.5");
break;
- case DataType.REAL : // == 7;
+ case DataType.REAL: // == 7;
DefaultValue = (Object) Double.valueOf("9876.5");
break;
- case DataType.DOUBLE : // == 8;
+ case DataType.DOUBLE: // == 8;
DefaultValue = (Object) Double.valueOf("9876.54");
break;
- case DataType.DATE : // == 91;
+ case DataType.DATE: // == 91;
DefaultValue = (Object) Double.valueOf("42510");
break;
- case DataType.TIME : // == 92;
+ case DataType.TIME: // == 92;
DefaultValue = (Object) Double.valueOf("10");
break;
- case DataType.TIMESTAMP : // == 93;
+ case DataType.TIMESTAMP: // == 93;
DefaultValue = (Object) Double.valueOf("5454110");
break;
- default :
+ default:
break;
}
return DefaultValue;