You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2017/08/20 19:16:29 UTC

svn commit: r1805579 [5/7] - in /openoffice/trunk/main: ./ apache-commons/java/lang/ connectivity/ connectivity/java/sdbc_postgresql/ connectivity/java/sdbc_postgresql/src/ connectivity/java/sdbc_postgresql/src/com/ connectivity/java/sdbc_postgresql/sr...

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,194 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.ODescriptor;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxColumnDescriptor extends ODescriptor {
+    protected int type;
+    protected String typeName;
+    protected int precision;
+    protected int scale;
+    protected int isNullable;
+    protected boolean isAutoIncrement;
+    protected boolean isRowVersion;
+    protected String description;
+    protected String defaultValue;
+    protected boolean isCurrency;
+    
+    protected SdbcxColumnDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, "", isCaseSensitive, false);
+        registerProperties();
+    }
+    
+    public static SdbcxColumnDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxColumnDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.TYPE.name, PropertyIds.TYPE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return type;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        type = (int) value;
+                    }
+                });
+        registerProperty(PropertyIds.TYPENAME.name, PropertyIds.TYPENAME.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return typeName;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        typeName = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.PRECISION.name, PropertyIds.PRECISION.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return precision;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        precision = (Integer) value;
+                    }
+                });
+        registerProperty(PropertyIds.SCALE.name, PropertyIds.SCALE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return scale;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        scale = (Integer) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISNULLABLE.name, PropertyIds.ISNULLABLE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isNullable;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isNullable = (Integer) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISAUTOINCREMENT.name, PropertyIds.ISAUTOINCREMENT.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isAutoIncrement;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isAutoIncrement = (Boolean) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISROWVERSION.name, PropertyIds.ISROWVERSION.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isRowVersion;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isRowVersion = (Boolean) value;
+                    }
+                });
+        registerProperty(PropertyIds.DESCRIPTION.name, PropertyIds.DESCRIPTION.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return description;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        description = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.DEFAULTVALUE.name, PropertyIds.DEFAULTVALUE.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return defaultValue;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        defaultValue = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISCURRENCY.name, PropertyIds.ISCURRENCY.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isCurrency;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isCurrency = (Boolean) value;
+                    }
+                });
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,36 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.beans.XPropertySet;
+
+public class SdbcxColumnDescriptorContainer extends SdbcxDescriptorContainer {
+    
+    public SdbcxColumnDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+    }
+    
+    @Override
+    public XPropertySet createDescriptor() {
+        return SdbcxColumnDescriptor.create(isCaseSensitive());
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,59 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import java.util.Collections;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.OContainer;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.Resources;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.SharedResources;
+import com.sun.star.sdbcx.comp.postgresql.util.StandardSQLState;
+
+public abstract class SdbcxDescriptorContainer extends OContainer {
+    public SdbcxDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive, Collections.<String>emptyList());
+    }
+    
+    @Override
+    public XPropertySet createObject(String name) throws SQLException {
+        // This should never be called. DescriptorContainer always starts off empty,
+        // and only grows as a result of appending.
+        String error = SharedResources.getInstance().getResourceString(
+                Resources.STR_ERRORMSG_SEQUENCE);
+        throw new SQLException(error, this, StandardSQLState.SQL_FUNCTION_SEQUENCE_ERROR.text(), 0, null);
+    }
+    
+    @Override
+    public void dropObject(int index, String name) throws SQLException {
+    }
+    
+    @Override
+    public void impl_refresh() {
+    }
+    
+    @Override
+    public XPropertySet appendObject(String _rForName, XPropertySet descriptor) throws SQLException {
+        return cloneDescriptor(descriptor);
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,58 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxIndexColumnDescriptor extends SdbcxColumnDescriptor {
+    protected boolean isAscending;
+    
+    protected SdbcxIndexColumnDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+        registerProperties();
+    }
+    
+    public static SdbcxIndexColumnDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxIndexColumnDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.ISASCENDING.name, PropertyIds.ISASCENDING.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isAscending;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isAscending = (boolean) value;
+                    }
+                });
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,35 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.beans.XPropertySet;
+
+public class SdbcxIndexColumnDescriptorContainer extends SdbcxDescriptorContainer {
+    public SdbcxIndexColumnDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+    }
+
+    @Override
+    public XPropertySet createDescriptor() {
+        return SdbcxIndexColumnDescriptor.create(isCaseSensitive());
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,94 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.ODescriptor;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxIndexDescriptor extends ODescriptor implements XColumnsSupplier {
+    protected String catalog = "";
+    protected boolean isUnique;
+    protected boolean isClustered;
+    
+    private SdbcxIndexColumnDescriptorContainer columns;
+    
+    protected SdbcxIndexDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, "", isCaseSensitive, false);
+        columns = new SdbcxIndexColumnDescriptorContainer(this.lock, isCaseSensitive());
+        registerProperties();
+    }
+    
+    public static SdbcxIndexDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxIndexDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.CATALOG.name, PropertyIds.CATALOG.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return catalog;
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        catalog = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISUNIQUE.name, PropertyIds.ISUNIQUE.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isUnique;
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isUnique = (boolean) value;
+                    }
+                });
+        registerProperty(PropertyIds.ISCLUSTERED.name, PropertyIds.ISCLUSTERED.id, Type.BOOLEAN, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return isClustered;
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        isClustered = (boolean) value;
+                    }
+                });
+    }
+    
+    public SdbcxIndexColumnDescriptorContainer getColumns() {
+        return columns;
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,44 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbcx.comp.postgresql.util.DbTools;
+
+public class SdbcxIndexDescriptorContainer extends SdbcxDescriptorContainer {
+    public SdbcxIndexDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+    }
+    
+    @Override
+    public XPropertySet createDescriptor() {
+        return SdbcxIndexDescriptor.create(isCaseSensitive());
+    }
+    
+    @Override
+    public XPropertySet appendObject(String _rForName, XPropertySet descriptor) throws SQLException {
+        XPropertySet newDescriptor = cloneDescriptor(descriptor);
+        DbTools.cloneDescriptorColumns(descriptor, newDescriptor);
+        return newDescriptor;
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,58 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxKeyColumnDescriptor extends SdbcxColumnDescriptor {
+    protected String relatedColumn;
+    
+    protected SdbcxKeyColumnDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+        registerProperties();
+    }
+    
+    public static SdbcxKeyColumnDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxKeyColumnDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.RELATEDCOLUMN.name, PropertyIds.RELATEDCOLUMN.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return relatedColumn;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        relatedColumn = (String) value;
+                    }
+                });
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,35 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.beans.XPropertySet;
+
+public class SdbcxKeyColumnDescriptorContainer extends SdbcxDescriptorContainer {
+    public SdbcxKeyColumnDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+    }
+
+    @Override
+    public XPropertySet createDescriptor() {
+        return SdbcxKeyColumnDescriptor.create(isCaseSensitive());
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,113 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.ODescriptor;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxKeyDescriptor extends ODescriptor implements XColumnsSupplier {
+    protected int type;
+    protected String referencedTable;
+    protected int updateRule;
+    protected int deleteRule;
+    
+    private SdbcxKeyColumnDescriptorContainer columns;
+    
+    protected SdbcxKeyDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, "", isCaseSensitive, false);
+        registerProperties();
+        columns = new SdbcxKeyColumnDescriptorContainer(this.lock, isCaseSensitive());
+    }
+    
+    public static SdbcxKeyDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxKeyDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.TYPE.name, PropertyIds.TYPE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return type;
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        type = (int) value;
+                    }
+                });
+        registerProperty(PropertyIds.REFERENCEDTABLE.name, PropertyIds.REFERENCEDTABLE.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return referencedTable;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        referencedTable = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.UPDATERULE.name, PropertyIds.UPDATERULE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return updateRule;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        updateRule = (int) value;
+                    }
+                });
+        registerProperty(PropertyIds.DELETERULE.name, PropertyIds.DELETERULE.id, Type.LONG, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return deleteRule;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        deleteRule = (int) value;
+                    }
+                });
+    }
+    
+    @Override
+    public XNameAccess getColumns() {
+        return columns;
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptorContainer.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptorContainer.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptorContainer.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptorContainer.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,44 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbcx.comp.postgresql.util.DbTools;
+
+public class SdbcxKeyDescriptorContainer extends SdbcxDescriptorContainer {
+    public SdbcxKeyDescriptorContainer(Object lock, boolean isCaseSensitive) {
+        super(lock, isCaseSensitive);
+    }
+    
+    @Override
+    public XPropertySet createDescriptor() {
+        return SdbcxKeyDescriptor.create(isCaseSensitive());
+    }
+    
+    @Override
+    public XPropertySet appendObject(String _rForName, XPropertySet descriptor) throws SQLException {
+        XPropertySet newDescriptor = cloneDescriptor(descriptor);
+        DbTools.cloneDescriptorColumns(descriptor, newDescriptor);
+        return newDescriptor;
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptorContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,109 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.sdbcx.XKeysSupplier;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertySetter;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.OContainer;
+import com.sun.star.sdbcx.comp.postgresql.sdbcx.ODescriptor;
+import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
+import com.sun.star.uno.Type;
+
+public class SdbcxTableDescriptor extends ODescriptor implements XColumnsSupplier, XKeysSupplier {
+    protected String catalogName;
+    protected String schemaName;
+    protected String description;
+    
+    private OContainer columns;
+    private OContainer keys;
+    
+    protected SdbcxTableDescriptor(Object lock, boolean isCaseSensitive) {
+        super(lock, "", isCaseSensitive, false);
+        columns = new SdbcxColumnDescriptorContainer(this.lock, isCaseSensitive());
+        keys = new SdbcxKeyDescriptorContainer(this.lock, isCaseSensitive());
+        registerProperties();
+    }
+    
+    public static SdbcxTableDescriptor create(boolean isCaseSensitive) {
+        final Object lock = new Object();
+        return new SdbcxTableDescriptor(lock, isCaseSensitive);
+    }
+    
+    private void registerProperties() {
+        registerProperty(PropertyIds.CATALOGNAME.name, PropertyIds.CATALOGNAME.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return catalogName;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        catalogName = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.SCHEMANAME.name, PropertyIds.SCHEMANAME.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return schemaName;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        schemaName = (String) value;
+                    }
+                });
+        registerProperty(PropertyIds.DESCRIPTION.name, PropertyIds.DESCRIPTION.id, Type.STRING, (short)0,
+                new PropertyGetter() {
+                    @Override
+                    public Object getValue() {
+                        return description;
+                        
+                    }
+                },
+                new PropertySetter() {
+                    @Override
+                    public void setValue(Object value) {
+                        description = (String) value;
+                    }
+                });
+    }
+    
+    @Override
+    public XNameAccess getColumns() {
+        return columns;
+    }
+    
+    @Override
+    public XIndexAccess getKeys() {
+        return keys;
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/ComposeRule.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/ComposeRule.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/ComposeRule.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/ComposeRule.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,31 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.util;
+
+public enum ComposeRule {
+    InTableDefinitions,
+    InIndexDefinitions,
+    InDataManipulation,
+    InProcedureCalls,
+    InPrivilegeDefinitions,
+    Complete
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/ComposeRule.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DBTypeConversion.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DBTypeConversion.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DBTypeConversion.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DBTypeConversion.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,426 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.util;
+
+import java.util.StringTokenizer;
+
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+public class DBTypeConversion {
+    private static final int MAX_DAYS = 3636532;
+    private static Date standardDate = new Date((short)1, (short)1, (short)1900);
+    private static int aDaysInMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
+    private static final double fMilliSecondsPerDay = 86400000.0;
+    
+    public static double safeParseDouble(String value) {
+        try {
+            return Double.parseDouble(value);
+        } catch (NumberFormatException numberFormatException) {
+            return 0.0;
+        }
+    }
+
+    public static float safeParseFloat(String value) {
+        try {
+            return Float.parseFloat(value);
+        } catch (NumberFormatException numberFormatException) {
+            return 0.0f;
+        }
+    }
+    
+    public static int safeParseInt(String value) {
+        try {
+            return Integer.parseInt(value);
+        } catch (NumberFormatException numberFormatException) {
+            return 0;
+        }
+    }
+
+    public static long safeParseLong(String value) {
+        try {
+            return Long.parseLong(value);
+        } catch (NumberFormatException numberFormatException) {
+            return 0;
+        }
+    }
+
+    public static float unsignedLongToFloat(long value) {
+        float f = value & 0x7fffFFFFffffFFFFL;
+        if (value < 0) {
+            f += 0x1p63f;
+        }
+        return f;
+    }
+
+    public static double unsignedLongToDouble(long value) {
+        double d = value & 0x7fffFFFFffffFFFFL;
+        if (value < 0) {
+            d += 0x1p63f;
+        }
+        return d;
+    }
+
+    public static void addDays(int nDays, Date _rDate) {
+        int   nTempDays = implRelativeToAbsoluteNull( _rDate );
+
+        nTempDays += nDays;
+        if ( nTempDays > MAX_DAYS )
+        {
+            _rDate.Day      = 31;
+            _rDate.Month    = 12;
+            _rDate.Year     = 9999;
+        }
+        else if ( nTempDays <= 0 )
+        {
+            _rDate.Day      = 1;
+            _rDate.Month    = 1;
+            _rDate.Year     = 00;
+        }
+        else
+            implBuildFromRelative( nTempDays, _rDate );
+    }
+
+    public static void subDays(int nDays, Date _rDate) {
+        int   nTempDays = implRelativeToAbsoluteNull( _rDate );
+
+        nTempDays -= nDays;
+        if ( nTempDays > MAX_DAYS )
+        {
+            _rDate.Day      = 31;
+            _rDate.Month    = 12;
+            _rDate.Year     = 9999;
+        }
+        else if ( nTempDays <= 0 )
+        {
+            _rDate.Day      = 1;
+            _rDate.Month    = 1;
+            _rDate.Year     = 00;
+        }
+        else
+            implBuildFromRelative( nTempDays, _rDate );
+    }
+
+    public static int getMsFromTime(final Time rVal) {
+        int   nHour     = rVal.Hours;
+        int   nMin      = rVal.Minutes;
+        int   nSec      = rVal.Seconds;
+        int   n100Sec   = rVal.HundredthSeconds;
+
+        return ((nHour*3600000)+(nMin*60000)+(nSec*1000)+(n100Sec*10));
+    }
+
+    public static Date getStandardDate() {
+        return standardDate;
+    }
+    
+    private static int implDaysInMonth(int _nMonth, int _nYear) {
+        if (_nMonth != 2)
+            return aDaysInMonth[_nMonth-1];
+        else {
+            if (implIsLeapYear(_nYear))
+                return aDaysInMonth[_nMonth-1] + 1;
+            else
+                return aDaysInMonth[_nMonth-1];
+        }
+    }
+
+    private static void implBuildFromRelative( int nDays, Date date ) {
+        int   nTempDays;
+        int   i = 0;
+        boolean    bCalc;
+
+        do {
+            nTempDays = nDays;
+            date.Year = (short)((nTempDays / 365) - i);
+            nTempDays -= (date.Year-1) * 365;
+            nTempDays -= ((date.Year-1) / 4) - ((date.Year-1) / 100) + ((date.Year-1) / 400);
+            bCalc = false;
+            if ( nTempDays < 1 )
+            {
+                i++;
+                bCalc = true;
+            }
+            else
+            {
+                if ( nTempDays > 365 )
+                {
+                    if ( (nTempDays != 366) || !implIsLeapYear( date.Year ) )
+                    {
+                        i--;
+                        bCalc = true;
+                    }
+                }
+            }
+        }
+        while ( bCalc );
+
+        date.Month = 1;
+        while ( nTempDays > implDaysInMonth( date.Month, date.Year ) )
+        {
+            nTempDays -= implDaysInMonth( date.Month, date.Year );
+            date.Month++;
+        }
+        date.Day = (short)nTempDays;
+    }
+
+    private static boolean implIsLeapYear(int _nYear) {
+        return  (   (   ((_nYear % 4) == 0)
+                    &&  ((_nYear % 100) != 0)
+                    )
+                )
+                ||  ((_nYear % 400) == 0)
+                ;
+    }
+
+    
+    private static int implRelativeToAbsoluteNull(final Date _rDate) {
+        int nDays = 0;
+
+        // ripped this code from the implementation of tools::Date
+        int nNormalizedYear = _rDate.Year - 1;
+        nDays = nNormalizedYear * 365;
+        // leap years
+        nDays += (nNormalizedYear / 4) - (nNormalizedYear / 100) + (nNormalizedYear / 400);
+
+        for (int i = 1; i < _rDate.Month; ++i)
+            nDays += implDaysInMonth(i, _rDate.Year);
+
+        nDays += _rDate.Day;
+        return nDays;
+    }
+
+    public static int toDays(Date rVal) {
+        return toDays(rVal, getStandardDate());
+    }
+    
+    public static int toDays(Date rVal, Date rNullDate) {
+        return implRelativeToAbsoluteNull(rVal) - implRelativeToAbsoluteNull(rNullDate);
+    }
+    
+    public static double toDouble(Date rVal) {
+        return toDouble(rVal, getStandardDate());
+    }
+    
+    public static double toDouble(Date rVal, Date _rNullDate) {
+        return (double)toDays(rVal, _rNullDate);
+    }
+    
+    public static double toDouble(DateTime _rVal) {
+        return toDouble(_rVal, getStandardDate());
+    }
+    
+    public static double toDouble(DateTime _rVal, Date _rNullDate) {
+        long   nTime     = toDays(new Date(_rVal.Day, _rVal.Month, _rVal.Year), _rNullDate);
+        Time aTimePart = new Time();
+
+        aTimePart.Hours             = _rVal.Hours;
+        aTimePart.Minutes           = _rVal.Minutes;
+        aTimePart.Seconds           = _rVal.Seconds;
+        aTimePart.HundredthSeconds  = _rVal.HundredthSeconds;
+
+        return ((double)nTime) + toDouble(aTimePart);
+    }
+    
+    public static double toDouble(Time rVal) {
+        return (double)getMsFromTime(rVal) / fMilliSecondsPerDay;
+    }
+    
+    public static Date toDate(double dVal) {
+        return toDate(dVal, getStandardDate());
+    }
+    
+    public static Date toDate(double dVal, Date _rNullDate) {
+        Date aRet = _rNullDate;
+
+        if (dVal >= 0)
+            addDays((int)dVal,aRet);
+        else
+            subDays((int)(-dVal),aRet);
+            //  x -= (sal_uInt32)(-nDays);
+
+        return aRet;
+    }
+    
+    public static Date toDate(String value) {
+        String[] tokens = value.split("-");
+        
+        short  nYear   = 0,
+                nMonth  = 0,
+                nDay    = 0;
+        if (tokens.length > 0) {
+            nYear   = (short)safeParseInt(tokens[0]);
+        }
+        if (tokens.length > 1) {
+            nMonth = (short)safeParseInt(tokens[1]);
+        }
+        if (tokens.length > 2) {
+            nDay = (short)safeParseInt(tokens[2]);
+        }
+
+        return new Date(nDay,nMonth,nYear);
+    }
+    
+    public static DateTime toDateTime(double dVal) {
+        return toDateTime(dVal, getStandardDate());
+    }
+    
+    public static DateTime toDateTime(double dVal, Date _rNullDate) {
+        Date aDate = toDate(dVal, _rNullDate);
+        Time aTime = toTime(dVal);
+
+        DateTime xRet = new DateTime();
+
+        xRet.Day                = aDate.Day;
+        xRet.Month              = aDate.Month;
+        xRet.Year               = aDate.Year;
+
+        xRet.HundredthSeconds   = aTime.HundredthSeconds;
+        xRet.Minutes            = aTime.Minutes;
+        xRet.Seconds            = aTime.Seconds;
+        xRet.Hours              = aTime.Hours;
+
+
+        return xRet;
+    }
+
+    public static DateTime toDateTime(String _sSQLString) {
+        // the date part
+        int nSeparation = _sSQLString.indexOf( ' ' );
+        String dateString;
+        String timeString = "";
+        if (nSeparation >= 0) {
+            dateString = _sSQLString.substring(0, nSeparation);
+            timeString = _sSQLString.substring(nSeparation + 1);
+        } else {
+            dateString = _sSQLString;
+        }
+        Date aDate = toDate(dateString);
+        Time aTime = new Time();
+        
+        if ( -1 != nSeparation )
+            aTime = toTime( timeString );
+
+        return new DateTime(aTime.HundredthSeconds,aTime.Seconds,aTime.Minutes,aTime.Hours,aDate.Day,aDate.Month,aDate.Year);
+    }
+    
+    public static Time toTime(int _nVal) {
+        Time aReturn = new Time();
+        aReturn.Hours = (short)(((int)(_nVal >= 0 ? _nVal : _nVal*-1)) / 1000000);
+        aReturn.Minutes = (short)((((int)(_nVal >= 0 ? _nVal : _nVal*-1)) / 10000) % 100);
+        aReturn.Seconds = (short)((((int)(_nVal >= 0 ? _nVal : _nVal*-1)) / 100) % 100);
+        aReturn.HundredthSeconds = (short)(((int)(_nVal >= 0 ? _nVal : _nVal*-1)) % 100);
+        return aReturn;
+    }
+    
+    public static Time toTime(double dVal) {
+        int nDays     = (int)dVal;
+        int nMS = (int)((dVal - (double)nDays) * fMilliSecondsPerDay + 0.5);
+
+        short nSign;
+        if ( nMS < 0 )
+        {
+            nMS *= -1;
+            nSign = -1;
+        }
+        else
+            nSign = 1;
+
+        Time xRet = new Time();
+        // Zeit normalisieren
+        // we have to sal_Int32 here because otherwise we get an overflow
+        int nHundredthSeconds = nMS/10;
+        int nSeconds          = nHundredthSeconds / 100;
+        int nMinutes          = nSeconds / 60;
+
+        xRet.HundredthSeconds       = (short)(nHundredthSeconds % 100);
+        xRet.Seconds                = (short)(nSeconds % 60);
+        xRet.Hours                  = (short)(nMinutes / 60);
+        xRet.Minutes                = (short)(nMinutes % 60);
+
+        // Zeit zusammenbauen
+        int nTime = (int)(xRet.HundredthSeconds + (xRet.Seconds*100) + (xRet.Minutes*10000) + (xRet.Hours*1000000)) * nSign;
+
+        if(nTime < 0)
+        {
+            xRet.HundredthSeconds   = 99;
+            xRet.Minutes            = 59;
+            xRet.Seconds            = 59;
+            xRet.Hours              = 23;
+        }
+        return xRet;
+    }
+    
+    public static Time toTime(String _sSQLString) {
+        short  nHour   = 0,
+                    nMinute = 0,
+                    nSecond = 0,
+                    nHundredthSeconds   = 0;
+        StringTokenizer tokenizer = new StringTokenizer(_sSQLString, ":");
+        if (tokenizer.hasMoreTokens()) {
+            nHour = (short)safeParseInt(tokenizer.nextToken());
+        }
+        if (tokenizer.hasMoreTokens()) {
+            nMinute = (short)safeParseInt(tokenizer.nextToken());
+        }
+        if (tokenizer.hasMoreTokens()) {
+            String secondAndNano = tokenizer.nextToken();
+            int dot = secondAndNano.indexOf(".");
+            if (dot >= 0) {
+                nSecond = (short)safeParseInt(secondAndNano.substring(0, dot));
+                String nano = secondAndNano.substring(dot + 1);
+                nano = nano.substring(0, 2);
+                nano = nano + "00".substring(0, 2 - nano.length());
+                nHundredthSeconds = (short)safeParseInt(nano);
+            } else {
+                nSecond = (short)safeParseInt(secondAndNano);
+            }
+        }
+        return new Time(nHundredthSeconds,nSecond,nMinute,nHour);
+    }
+    
+    public static String toDateString(Date date) {
+        return String.format("%04d-%02d-%02d",
+                Short.toUnsignedInt(date.Year),
+                Short.toUnsignedInt(date.Month),
+                Short.toUnsignedInt(date.Day));
+    }
+    
+    public static String toTimeString(Time time) {
+        return String.format("%02d:%02d:%02d",
+                Short.toUnsignedInt(time.Hours),
+                Short.toUnsignedInt(time.Minutes),
+                Short.toUnsignedInt(time.Seconds));
+    }
+    
+    public static String toDateTimeString(DateTime dateTime) {
+        return String.format("%04d-%02d-%02d %02d:%02d:%02d.%d",
+                Short.toUnsignedInt(dateTime.Year),
+                Short.toUnsignedInt(dateTime.Month),
+                Short.toUnsignedInt(dateTime.Day),
+                Short.toUnsignedInt(dateTime.Hours),
+                Short.toUnsignedInt(dateTime.Minutes),
+                Short.toUnsignedInt(dateTime.Seconds),
+                Short.toUnsignedInt(dateTime.HundredthSeconds));
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DBTypeConversion.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DatabaseMetaDataResultSet.java
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DatabaseMetaDataResultSet.java?rev=1805579&view=auto
==============================================================================
--- openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DatabaseMetaDataResultSet.java (added)
+++ openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DatabaseMetaDataResultSet.java Sun Aug 20 19:16:28 2017
@@ -0,0 +1,489 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+package com.sun.star.sdbcx.comp.postgresql.util;
+
+import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lib.uno.helper.ComponentBase;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XArray;
+import com.sun.star.sdbc.XBlob;
+import com.sun.star.sdbc.XClob;
+import com.sun.star.sdbc.XCloseable;
+import com.sun.star.sdbc.XColumnLocate;
+import com.sun.star.sdbc.XRef;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XResultSetMetaData;
+import com.sun.star.sdbc.XResultSetMetaDataSupplier;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbcx.CompareBookmark;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.sdbcx.comp.postgresql.PostgresqlResultSetMetaData;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+public class DatabaseMetaDataResultSet extends ComponentBase
+        implements XResultSet, XCloseable, XColumnsSupplier, XRowLocate, XPropertySet, XColumnLocate, XRow, XResultSetMetaDataSupplier {
+
+    private XCloseable implCloseable;
+    private XResultSetMetaDataSupplier implResultSetMetaDataSupplier;
+    private XColumnLocate implColumnLocate;
+    private XPropertySet implPropertySet;
+    private XColumnsSupplier implColumnSupplier;
+    private ArrayList<ORowSetValue[]> rows;
+    private AtomicBoolean isDisposed = new AtomicBoolean(false);
+    /// 0-based:
+    private int currentRow = -1;
+    /// 1-based:
+    private int currentColumn;
+    
+    public DatabaseMetaDataResultSet(XResultSet impl, ArrayList<ORowSetValue[]> rows) {
+        implCloseable = UnoRuntime.queryInterface(XCloseable.class, impl);
+        implPropertySet = UnoRuntime.queryInterface(XPropertySet.class, impl);
+        implColumnSupplier = UnoRuntime.queryInterface(XColumnsSupplier.class, impl);
+        implColumnLocate = UnoRuntime.queryInterface(XColumnLocate.class, impl);
+        implResultSetMetaDataSupplier = UnoRuntime.queryInterface(XResultSetMetaDataSupplier.class, impl);
+        this.rows = rows;
+    }
+    
+    // XComponent:
+    @Override
+    protected void postDisposing() {
+        isDisposed.set(true);
+        try {
+            implCloseable.close();
+        } catch (SQLException sqlException) {
+        }
+    }
+
+    private void checkDisposed() throws DisposedException {
+        if (isDisposed.get()) {
+            throw new DisposedException();
+        }
+    }
+    
+    // XCloseable:
+    
+    public void close() throws SQLException {
+        dispose();
+    }
+
+    // XResultSet:
+    
+    private ORowSetValue getField(int columnIndex) throws SQLException {
+        if (isBeforeFirst() || isAfterLast()) {
+            throw new SQLException("Row out of range");
+        }
+        ORowSetValue[] fields = rows.get(currentRow);
+        if (columnIndex < 1 || fields.length < columnIndex) {
+            throw new SQLException("Column out of range");
+        }
+        currentColumn = columnIndex;
+        return fields[columnIndex - 1];
+    }
+    
+    public synchronized boolean absolute(int position) throws SQLException {
+        checkDisposed();
+        if (position >= 0) {
+            currentRow = position;
+        } else {
+            currentRow = rows.size() + position;
+        }
+        if (currentRow <= -1) {
+            currentRow = -1;
+            return false;
+        }
+        if (currentRow >= rows.size()) {
+            currentRow = rows.size();
+            return false;
+        }
+        return true;
+    }
+
+    public synchronized void afterLast() throws SQLException {
+        checkDisposed();
+        currentRow = rows.size();
+    }
+
+    public synchronized void beforeFirst() throws SQLException {
+        checkDisposed();
+        currentRow = -1;
+    }
+
+    public synchronized boolean first() throws SQLException {
+        checkDisposed();
+        currentRow = 0;
+        return true;
+    }
+
+    public synchronized int getRow() throws SQLException {
+        checkDisposed();
+        return currentRow + 1;
+    }
+
+    public Object getStatement() throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public synchronized boolean isAfterLast() throws SQLException {
+        checkDisposed();
+        return currentRow == rows.size();
+    }
+
+    public synchronized boolean isBeforeFirst() throws SQLException {
+        checkDisposed();
+        return currentRow == -1;
+    }
+
+    public synchronized boolean isFirst() throws SQLException {
+        checkDisposed();
+        return currentRow == 0;
+    }
+
+    public synchronized boolean isLast() throws SQLException {
+        checkDisposed();
+        return currentRow == (rows.size() - 1);
+    }
+
+    public synchronized boolean last() throws SQLException {
+        checkDisposed();
+        currentRow = rows.size() - 1;
+        return true;
+    }
+
+    public synchronized boolean next() throws SQLException {
+        checkDisposed();
+        if (currentRow < rows.size()) {
+            ++currentRow;
+        }
+        return currentRow < rows.size();
+    }
+
+    public synchronized boolean previous() throws SQLException {
+        checkDisposed();
+        if (currentRow > -1) {
+            --currentRow;
+        }
+        return currentRow > -1;
+    }
+
+    public void refreshRow() throws SQLException {
+        checkDisposed();
+    }
+
+    public synchronized boolean relative(int offset) throws SQLException {
+        checkDisposed();
+        currentRow += offset;
+        if (currentRow <= -1) {
+            currentRow = -1;
+            return false;
+        }
+        if (currentRow >= rows.size()) {
+            currentRow = rows.size();
+            return false;
+        }
+        return true;
+    }
+
+    public boolean rowDeleted() throws SQLException {
+        checkDisposed();
+        return false;
+    }
+
+    public boolean rowInserted() throws SQLException {
+        checkDisposed();
+        return false;
+    }
+
+    public boolean rowUpdated() throws SQLException {
+        checkDisposed();
+        return false;
+    }
+
+    // XResultSetMetaDataSupplier:
+    
+    public XResultSetMetaData getMetaData() throws SQLException {
+        checkDisposed();
+        return new PostgresqlResultSetMetaData(implResultSetMetaDataSupplier.getMetaData());
+    }
+
+    // XRow:
+    
+    public XArray getArray(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public XInputStream getBinaryStream(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public XBlob getBlob(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public synchronized boolean getBoolean(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getBoolean();
+    }
+
+    public synchronized byte getByte(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getInt8();
+    }
+
+    public synchronized byte[] getBytes(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getSequence();
+    }
+
+    public XInputStream getCharacterStream(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public XClob getClob(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public synchronized Date getDate(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getDate();
+    }
+
+    public synchronized double getDouble(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getDouble();
+    }
+
+    public synchronized float getFloat(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getFloat();
+    }
+
+    public synchronized int getInt(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getInt32();
+    }
+
+    public synchronized long getLong(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getLong();
+    }
+
+    public synchronized Object getObject(int columnIndex, XNameAccess arg1) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.makeAny();
+    }
+
+    public XRef getRef(int columnIndex) throws SQLException {
+        checkDisposed();
+        return null;
+    }
+
+    public synchronized short getShort(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getInt16();
+    }
+
+    public synchronized String getString(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getString();
+    }
+
+    public synchronized Time getTime(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getTime();
+    }
+
+    public synchronized DateTime getTimestamp(int columnIndex) throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(columnIndex);
+        return field.getDateTime();
+    }
+
+    public synchronized boolean wasNull() throws SQLException {
+        checkDisposed();
+        ORowSetValue field = getField(currentColumn);
+        return field.isNull();
+    }
+
+    // XColumnLocate:
+    
+    public int findColumn(String arg0) throws SQLException {
+        checkDisposed();
+        return implColumnLocate.findColumn(arg0);
+    }
+
+    // XPropertySet:
+    
+    public void addPropertyChangeListener(String arg0, XPropertyChangeListener arg1) throws UnknownPropertyException, WrappedTargetException {
+        checkDisposed();
+        implPropertySet.addPropertyChangeListener(arg0, arg1);
+    }
+
+    public void addVetoableChangeListener(String arg0, XVetoableChangeListener arg1) throws UnknownPropertyException, WrappedTargetException {
+        checkDisposed();
+        implPropertySet.addVetoableChangeListener(arg0, arg1);
+    }
+
+    public XPropertySetInfo getPropertySetInfo() {
+        checkDisposed();
+        return implPropertySet.getPropertySetInfo();
+    }
+
+    public Object getPropertyValue(String arg0) throws UnknownPropertyException, WrappedTargetException {
+        checkDisposed();
+        return implPropertySet.getPropertyValue(arg0);
+    }
+
+    public void removePropertyChangeListener(String arg0, XPropertyChangeListener arg1) throws UnknownPropertyException, WrappedTargetException {
+        checkDisposed();
+        implPropertySet.removePropertyChangeListener(arg0, arg1);
+    }
+
+    public void removeVetoableChangeListener(String arg0, XVetoableChangeListener arg1) throws UnknownPropertyException, WrappedTargetException {
+        checkDisposed();
+        implPropertySet.removeVetoableChangeListener(arg0, arg1);
+    }
+
+    public void setPropertyValue(String arg0, Object arg1)
+            throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException {
+        checkDisposed();
+        implPropertySet.setPropertyValue(arg0, arg1);
+    }
+    
+    // XRowLocate:    
+
+    public int compareBookmarks(Object arg0, Object arg1) throws SQLException {
+        checkDisposed();
+        
+        int bookmark1, bookmark2;
+        try {
+            bookmark1 = AnyConverter.toInt(arg0);
+            bookmark2 = AnyConverter.toInt(arg1);
+        } catch (IllegalArgumentException illegalArgumentException) {
+            return CompareBookmark.NOT_COMPARABLE;
+        }
+        
+        if (bookmark1 < bookmark2) {
+            return CompareBookmark.LESS;
+        } else if (bookmark1 > bookmark2) {
+            return CompareBookmark.GREATER;
+        } else {
+            return CompareBookmark.EQUAL;
+        }
+    }
+
+    public Object getBookmark() throws SQLException {
+        checkDisposed();
+        return currentRow;
+    }
+
+    public boolean hasOrderedBookmarks() throws SQLException {
+        checkDisposed();
+        return true;
+    }
+
+    public int hashBookmark(Object arg0) throws SQLException {
+        checkDisposed();
+        int bookmark;
+        try {
+            bookmark = AnyConverter.toInt(arg0);
+        } catch (IllegalArgumentException illegalArgumentException) {
+            throw new SQLException("Bad bookmark", this, StandardSQLState.SQL_INVALID_BOOKMARK_VALUE.text(), 0, null);
+        }
+        return bookmark;
+    }
+
+    public boolean moveRelativeToBookmark(Object arg0, int arg1) throws SQLException {
+        checkDisposed();
+        int bookmark;
+        boolean moved = false;
+        try {
+            bookmark = AnyConverter.toInt(arg0);
+            moved = absolute(bookmark);
+            if (moved) {
+                moved = relative(arg1);
+            }
+        } catch (IllegalArgumentException illegalArgumentException) {
+        }
+        if (!moved) {
+            afterLast();
+        }
+        return moved;
+    }
+
+    public boolean moveToBookmark(Object arg0) throws SQLException {
+        checkDisposed();
+        int bookmark;
+        boolean moved = false;
+        try {
+            bookmark = AnyConverter.toInt(arg0);
+            moved = absolute(bookmark);
+        } catch (IllegalArgumentException illegalArgumentException) {
+        }
+        if (!moved) {
+            afterLast();
+        }
+        return moved;
+    }
+
+    // XColumnSupplier:
+    
+    public XNameAccess getColumns() {
+        checkDisposed();
+        return implColumnSupplier.getColumns();
+    }
+}

Propchange: openoffice/trunk/main/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/util/DatabaseMetaDataResultSet.java
------------------------------------------------------------------------------
    svn:eol-style = native