[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 5 commits - connectivity/java connectivity/source
Damjan Jovanovic
damjan at apache.org
Tue Sep 19 11:26:15 UTC 2017
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/PostgresqlDriver.java | 2
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OCatalog.java | 9 ++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumn.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumnContainer.java | 34 +++++++++-
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OContainer.java | 4 -
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndex.java | 31 ++++++++-
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndexColumn.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKey.java | 26 +++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKeyColumn.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java | 8 +-
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java | 28 +++++++-
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java | 29 ++++++++
connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java | 29 ++++++++
connectivity/source/sdbcx/VColumn.cxx | 4 -
connectivity/source/sdbcx/VIndexColumn.cxx | 8 +-
connectivity/source/sdbcx/VKey.cxx | 4 -
connectivity/source/sdbcx/VKeyColumn.cxx | 4 -
20 files changed, 365 insertions(+), 29 deletions(-)
New commits:
commit 9e678c46ef60f5fb9f4e534f01275b2f1067389e
Author: Damjan Jovanovic <damjan at apache.org>
Date: Tue Sep 19 06:18:22 2017 +0000
Add support for adding and deleting columns in Java's SDBCX tables,
currently used by the PostgreSQL driver.
Patch by: me
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumnContainer.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumnContainer.java
index f37f68d3da7c..5ac10788385b 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumnContainer.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumnContainer.java
@@ -33,9 +33,13 @@ import com.sun.star.sdbc.ColumnValue;
import com.sun.star.sdbc.DataType;
import com.sun.star.sdbc.SQLException;
import com.sun.star.sdbc.XDatabaseMetaData;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.sdbcx.comp.postgresql.comphelper.CompHelper;
import com.sun.star.sdbcx.comp.postgresql.sdbcx.SqlTableHelper.ColumnDescription;
import com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors.SdbcxColumnDescriptor;
+import com.sun.star.sdbcx.comp.postgresql.util.ComposeRule;
import com.sun.star.sdbcx.comp.postgresql.util.DbTools;
+import com.sun.star.sdbcx.comp.postgresql.util.Osl;
import com.sun.star.uno.UnoRuntime;
public class OColumnContainer extends OContainer {
@@ -116,10 +120,38 @@ public class OColumnContainer extends OContainer {
@Override
protected XPropertySet appendObject(String _rForName, XPropertySet descriptor) throws SQLException {
- return null;
+ if (table == null) {
+ return cloneDescriptor(descriptor);
+ }
+ String sql = String.format("ALTER TABLE %s ADD %s",
+ DbTools.composeTableName(metadata, table, ComposeRule.InTableDefinitions, false, false, true),
+ DbTools.createStandardColumnPart(descriptor, table.getConnection(), null, table.getTypeCreatePattern()));
+ XStatement statement = null;
+ try {
+ statement = table.getConnection().createStatement();
+ statement.execute(sql);
+ } finally {
+ CompHelper.disposeComponent(statement);
+ }
+ return createObject(_rForName);
}
@Override
protected void dropObject(int index, String name) throws SQLException {
+ Osl.ensure(table, "Table is null!");
+ if (table == null) {
+ return;
+ }
+ String quote = metadata.getIdentifierQuoteString();
+ String sql = String.format("ALTER TABLE %s DROP %s",
+ DbTools.composeTableName(metadata, table, ComposeRule.InTableDefinitions, false, false, true),
+ DbTools.quoteName(quote, name));
+ XStatement statement = null;
+ try {
+ statement = table.getConnection().createStatement();
+ statement.execute(sql);
+ } finally {
+ CompHelper.disposeComponent(statement);
+ }
}
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
index bee2a90fdd24..036924cd7425 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
@@ -167,6 +167,10 @@ public abstract class OTable extends ODescriptor
return connection;
}
+ public String getTypeCreatePattern() {
+ return "";
+ }
+
protected abstract OContainer refreshColumns();
protected abstract OContainer refreshIndexes();
protected abstract OContainer refreshKeys();
commit 8c9c0f996842cc88f69bbe509cd71871e46f7dc9
Author: Damjan Jovanovic <damjan at apache.org>
Date: Tue Sep 19 02:20:32 2017 +0000
Implement XServiceInfo in all the Java SDBCX classes and standardize it
to a common form.
Patch by: me
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/PostgresqlDriver.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/PostgresqlDriver.java
index 2a57edd9b67a..59ad50e033b4 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/PostgresqlDriver.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/PostgresqlDriver.java
@@ -89,7 +89,7 @@ public class PostgresqlDriver extends ComponentBase implements XServiceInfo, XDr
@Override
public boolean supportsService(String serviceName) {
- for (String service : services) {
+ for (String service : getSupportedServiceNames()) {
if (service.equals(serviceName)) {
return true;
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumn.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumn.java
index c0f969c69266..aad4d3182f83 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumn.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OColumn.java
@@ -24,6 +24,7 @@ package com.sun.star.sdbcx.comp.postgresql.sdbcx;
import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XNamed;
+import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbc.ColumnValue;
import com.sun.star.sdbcx.XDataDescriptorFactory;
import com.sun.star.sdbcx.comp.postgresql.comphelper.CompHelper;
@@ -33,7 +34,12 @@ import com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors.SdbcxColumnDescripto
import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
import com.sun.star.uno.Type;
-public class OColumn extends ODescriptor implements XNamed, XDataDescriptorFactory {
+public class OColumn extends ODescriptor implements XNamed, XDataDescriptorFactory, XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.Column"
+ };
+
private String typeName;
private String description;
private String defaultValue;
@@ -234,6 +240,27 @@ public class OColumn extends ODescriptor implements XNamed, XDataDescriptorFacto
super.postDisposing();
}
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
// XDataDescriptorFactory
@Override
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OContainer.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OContainer.java
index 4776146950e7..9f9fab85a897 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OContainer.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OContainer.java
@@ -128,7 +128,7 @@ public abstract class OContainer extends WeakBase implements
// XServiceInfo
public String getImplementationName() {
- return "com.sun.star.sdbcx.VContainer";
+ return getClass().getName();
}
@Override
@@ -138,7 +138,7 @@ public abstract class OContainer extends WeakBase implements
@Override
public boolean supportsService(String serviceName) {
- for (String service : services) {
+ for (String service : getSupportedServiceNames()) {
if (service.equals(serviceName)) {
return true;
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndex.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndex.java
index 3e318aeaceb7..876077d214e6 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndex.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndex.java
@@ -27,6 +27,7 @@ import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.ElementExistException;
import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbc.SQLException;
import com.sun.star.sdbcx.XColumnsSupplier;
import com.sun.star.sdbcx.XDataDescriptorFactory;
@@ -37,7 +38,12 @@ import com.sun.star.sdbcx.comp.postgresql.util.DbTools;
import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
import com.sun.star.uno.Type;
-public class OIndex extends ODescriptor implements XColumnsSupplier, XDataDescriptorFactory {
+public class OIndex extends ODescriptor implements XColumnsSupplier, XDataDescriptorFactory, XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.Index"
+ };
+
protected String catalogName;
protected boolean isUnique;
protected boolean isPrimaryKeyIndex;
@@ -88,6 +94,29 @@ public class OIndex extends ODescriptor implements XColumnsSupplier, XDataDescri
}, null);
}
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // XDataDescriptorFactory
+
@Override
public XPropertySet createDataDescriptor() {
SdbcxIndexDescriptor descriptor = new SdbcxIndexDescriptor(isCaseSensitive());
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndexColumn.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndexColumn.java
index 5a7b7767e28a..8050a3d76499 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndexColumn.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OIndexColumn.java
@@ -23,13 +23,19 @@ package com.sun.star.sdbcx.comp.postgresql.sdbcx;
import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbcx.comp.postgresql.comphelper.CompHelper;
import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
import com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors.SdbcxIndexColumnDescriptor;
import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
import com.sun.star.uno.Type;
-public class OIndexColumn extends OColumn {
+public class OIndexColumn extends OColumn implements XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.IndexColumn"
+ };
+
protected boolean isAscending;
public OIndexColumn(
@@ -63,6 +69,27 @@ public class OIndexColumn extends OColumn {
}, null);
}
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
// XDataDescriptorFactory
@Override
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKey.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKey.java
index ffec0fe23178..cab0cd14c3b2 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKey.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKey.java
@@ -27,6 +27,7 @@ import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.ElementExistException;
import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbc.SQLException;
import com.sun.star.sdbcx.XColumnsSupplier;
import com.sun.star.sdbcx.XDataDescriptorFactory;
@@ -38,7 +39,11 @@ import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
import com.sun.star.uno.Type;
public class OKey extends ODescriptor
- implements XDataDescriptorFactory, XColumnsSupplier {
+ implements XDataDescriptorFactory, XColumnsSupplier, XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.Key"
+ };
protected OTable table;
protected String referencedTable;
@@ -130,5 +135,24 @@ public class OKey extends ODescriptor
+ ", name=" + getName() + "]";
}
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKeyColumn.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKeyColumn.java
index 0d78e0add049..0e0079c0bcda 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKeyColumn.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OKeyColumn.java
@@ -23,13 +23,19 @@ package com.sun.star.sdbcx.comp.postgresql.sdbcx;
import com.sun.star.beans.PropertyAttribute;
import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbcx.comp.postgresql.comphelper.CompHelper;
import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
import com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors.SdbcxKeyColumnDescriptor;
import com.sun.star.sdbcx.comp.postgresql.util.PropertyIds;
import com.sun.star.uno.Type;
-public class OKeyColumn extends OColumn {
+public class OKeyColumn extends OColumn implements XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.KeyColumn"
+ };
+
protected String referencedColumn;
protected OKeyColumn(boolean isCaseSensitive) {
@@ -68,6 +74,27 @@ public class OKeyColumn extends OColumn {
}, null);
}
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
// XDataDescriptorFactory
@Override
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
index d86be6e989c4..bee2a90fdd24 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OTable.java
@@ -117,7 +117,7 @@ public abstract class OTable extends ODescriptor
@Override
public String getImplementationName() {
- return "com.sun.star.sdbcx.Table";
+ return getClass().getName();
}
@Override
@@ -127,7 +127,7 @@ public abstract class OTable extends ODescriptor
@Override
public boolean supportsService(String serviceName) {
- for (String service : services) {
+ for (String service : getSupportedServiceNames()) {
if (serviceName.equals(service)) {
return true;
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java
index c7696be6a2a4..ebf87ab98a35 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxColumnDescriptor.java
@@ -21,13 +21,18 @@
package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+import com.sun.star.lang.XServiceInfo;
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 {
+public class SdbcxColumnDescriptor extends ODescriptor implements XServiceInfo {
+ private static final String[] services = {
+ "com.sun.star.sdbcx.ColumnDescriptor"
+ };
+
protected int type;
protected String typeName;
protected int precision;
@@ -186,4 +191,26 @@ public class SdbcxColumnDescriptor extends ODescriptor {
}
});
}
+
+ // XServiceInfo
+
+ @Override
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java
index c8e9800a6987..0069d7c0e029 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexColumnDescriptor.java
@@ -21,12 +21,18 @@
package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+import com.sun.star.lang.XServiceInfo;
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 {
+public class SdbcxIndexColumnDescriptor extends SdbcxColumnDescriptor implements XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.IndexColumnDescriptor"
+ };
+
protected boolean isAscending;
public SdbcxIndexColumnDescriptor(boolean isCaseSensitive) {
@@ -50,4 +56,25 @@ public class SdbcxIndexColumnDescriptor extends SdbcxColumnDescriptor {
}
});
}
+
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java
index cf5a120a9e53..a036ceaedb15 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxIndexDescriptor.java
@@ -21,6 +21,7 @@
package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+import com.sun.star.lang.XServiceInfo;
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;
@@ -28,7 +29,11 @@ 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 {
+public class SdbcxIndexDescriptor extends ODescriptor implements XColumnsSupplier, XServiceInfo {
+ private static final String[] services = {
+ "com.sun.star.sdbcx.IndexDescriptor"
+ };
+
protected String catalog = "";
protected boolean isUnique;
protected boolean isClustered;
@@ -86,4 +91,26 @@ public class SdbcxIndexDescriptor extends ODescriptor implements XColumnsSupplie
public SdbcxIndexColumnDescriptorContainer getColumns() {
return columns;
}
+
+ // XServiceInfo
+
+ @Override
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java
index f4b161283ca2..db8ce4ce507a 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyColumnDescriptor.java
@@ -21,12 +21,17 @@
package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
+import com.sun.star.lang.XServiceInfo;
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 {
+public class SdbcxKeyColumnDescriptor extends SdbcxColumnDescriptor implements XServiceInfo {
+ private static final String[] services = {
+ "com.sun.star.sdbcx.KeyColumnDescriptor"
+ };
+
protected String relatedColumn;
public SdbcxKeyColumnDescriptor(boolean isCaseSensitive) {
@@ -50,4 +55,25 @@ public class SdbcxKeyColumnDescriptor extends SdbcxColumnDescriptor {
}
});
}
+
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java
index 5050849bcb13..ccb3fd5b668e 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxKeyDescriptor.java
@@ -22,6 +22,7 @@
package com.sun.star.sdbcx.comp.postgresql.sdbcx.descriptors;
import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XServiceInfo;
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;
@@ -29,7 +30,12 @@ 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 {
+public class SdbcxKeyDescriptor extends ODescriptor implements XColumnsSupplier, XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.KeyDescriptor"
+ };
+
protected int type;
protected String referencedTable;
protected int updateRule;
@@ -105,4 +111,25 @@ public class SdbcxKeyDescriptor extends ODescriptor implements XColumnsSupplier
public XNameAccess getColumns() {
return columns;
}
+
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java
index a5fedfac14e1..fadbcb9695e2 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/descriptors/SdbcxTableDescriptor.java
@@ -23,6 +23,7 @@ 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.lang.XServiceInfo;
import com.sun.star.sdbcx.XColumnsSupplier;
import com.sun.star.sdbcx.XKeysSupplier;
import com.sun.star.sdbcx.comp.postgresql.comphelper.PropertySetAdapter.PropertyGetter;
@@ -32,7 +33,12 @@ 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 {
+public class SdbcxTableDescriptor extends ODescriptor implements XColumnsSupplier, XKeysSupplier, XServiceInfo {
+
+ private static final String[] services = {
+ "com.sun.star.sdbcx.TableDescriptor"
+ };
+
protected String catalogName;
protected String schemaName;
protected String description;
@@ -101,4 +107,25 @@ public class SdbcxTableDescriptor extends ODescriptor implements XColumnsSupplie
public XIndexAccess getKeys() {
return keys;
}
+
+ // XServiceInfo
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+
+ @Override
+ public String[] getSupportedServiceNames() {
+ return services.clone();
+ }
+
+ @Override
+ public boolean supportsService(String serviceName) {
+ for (String service : getSupportedServiceNames()) {
+ if (service.equals(serviceName)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
commit ccc4532f9ed95f4460941e2762ae3250d37805f5
Author: Damjan Jovanovic <damjan at apache.org>
Date: Tue Sep 19 02:16:41 2017 +0000
More naming errors. There are no "Descriptions" in the SDBCX module,
there are only "Descriptors".
Patch by: me
diff --git a/connectivity/source/sdbcx/VColumn.cxx b/connectivity/source/sdbcx/VColumn.cxx
index 1e0e1c4e59c9..ae62c4ea52a3 100644
--- a/connectivity/source/sdbcx/VColumn.cxx
+++ b/connectivity/source/sdbcx/VColumn.cxx
@@ -42,7 +42,7 @@ using namespace ::com::sun::star::sdbc;
::rtl::OUString SAL_CALL OColumn::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
{
if(isNew())
- return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VColumnDescription");
+ return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VColumnDescriptor");
return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VColumn");
}
// -----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ using namespace ::com::sun::star::sdbc;
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1);
if(isNew())
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.ColumnDescription");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.ColumnDescriptor");
else
aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.Column");
diff --git a/connectivity/source/sdbcx/VIndexColumn.cxx b/connectivity/source/sdbcx/VIndexColumn.cxx
index a1ec3f784321..6618117f2a45 100644
--- a/connectivity/source/sdbcx/VIndexColumn.cxx
+++ b/connectivity/source/sdbcx/VIndexColumn.cxx
@@ -34,7 +34,7 @@ using namespace ::com::sun::star::uno;
::rtl::OUString SAL_CALL OIndexColumn::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
{
if(isNew())
- return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndexColumnDescription");
+ return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndexColumnDescriptor");
return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndexColumn");
}
// -----------------------------------------------------------------------------
@@ -42,7 +42,7 @@ using namespace ::com::sun::star::uno;
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1);
if(isNew())
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexColumnDescription");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexColumnDescriptor");
else
aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexColumn");
diff --git a/connectivity/source/sdbcx/VKey.cxx b/connectivity/source/sdbcx/VKey.cxx
index d897c2649ca6..749e0c895e57 100644
--- a/connectivity/source/sdbcx/VKey.cxx
+++ b/connectivity/source/sdbcx/VKey.cxx
@@ -46,7 +46,7 @@ using namespace ::com::sun::star::lang;
::rtl::OUString SAL_CALL OKey::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
{
if(isNew())
- return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKeyDescription");
+ return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKeyDescriptor");
return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKey");
}
// -----------------------------------------------------------------------------
@@ -54,7 +54,7 @@ using namespace ::com::sun::star::lang;
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1);
if(isNew())
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.KeyDescription");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.KeyDescriptor");
else
aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.Key");
diff --git a/connectivity/source/sdbcx/VKeyColumn.cxx b/connectivity/source/sdbcx/VKeyColumn.cxx
index cd83c051c7bc..7809029e2435 100644
--- a/connectivity/source/sdbcx/VKeyColumn.cxx
+++ b/connectivity/source/sdbcx/VKeyColumn.cxx
@@ -35,7 +35,7 @@ using namespace cppu;
::rtl::OUString SAL_CALL OKeyColumn::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
{
if(isNew())
- return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKeyColumnDescription");
+ return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKeyColumnDescriptor");
return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VKeyColumn");
}
// -----------------------------------------------------------------------------
@@ -43,7 +43,7 @@ using namespace cppu;
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1);
if(isNew())
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.KeyColumnDescription");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.KeyColumnDescriptor");
else
aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.KeyColumn");
commit d2f0e14de2a52180ed84c0402e47a0de16589203
Author: Damjan Jovanovic <damjan at apache.org>
Date: Tue Sep 19 02:02:42 2017 +0000
Fix a typo in the XServiceInfo implementation
for main/connectivity/source/sdbcx/VIndexColumn.cxx.
It's implementation/service names are com.sun.star.sdbcx.VIndexColumn and
com.sun.star.sdbcx.IndexColumn, not com.sun.star.sdbcx.VIndex and
com.sun.star.sdbcx.Index.
Patch by: me
diff --git a/connectivity/source/sdbcx/VIndexColumn.cxx b/connectivity/source/sdbcx/VIndexColumn.cxx
index ff47c1fc8fef..a1ec3f784321 100644
--- a/connectivity/source/sdbcx/VIndexColumn.cxx
+++ b/connectivity/source/sdbcx/VIndexColumn.cxx
@@ -35,16 +35,16 @@ using namespace ::com::sun::star::uno;
{
if(isNew())
return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndexColumnDescription");
- return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndex");
+ return ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.VIndexColumn");
}
// -----------------------------------------------------------------------------
::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL OIndexColumn::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException)
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1);
if(isNew())
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexDescription");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexColumnDescription");
else
- aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.Index");
+ aSupported[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.IndexColumn");
return aSupported;
}
commit d84ff13f30982901a5601ed70b1a0d10e5013446
Author: Damjan Jovanovic <damjan at apache.org>
Date: Mon Sep 18 15:46:40 2017 +0000
In buildName(), schema should be the empty string, instead of null.
Add some JavaDoc for it, and use getClass().getName() for
getImplementationName(), which is most accurate for Java.
Patch by: me
diff --git a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OCatalog.java b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OCatalog.java
index cdc9786d9443..b2ab379e685c 100644
--- a/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OCatalog.java
+++ b/connectivity/java/sdbc_postgresql/src/com/sun/star/sdbcx/comp/postgresql/sdbcx/OCatalog.java
@@ -72,7 +72,7 @@ public abstract class OCatalog extends ComponentBase
@Override
public String getImplementationName() {
- return "com.sun.star.comp.connectivity.OCatalog";
+ return getClass().getName();
}
@Override
@@ -128,6 +128,11 @@ public abstract class OCatalog extends ComponentBase
return users;
}
+ /**
+ * Builds the name which should be used to access the object later on in the collection.
+ * Will only be called in fillNames.
+ * @param row The current row from the resultset
+ */
protected String buildName(XRow row) throws SQLException {
String catalog = row.getString(1);
if (row.wasNull()) {
@@ -135,7 +140,7 @@ public abstract class OCatalog extends ComponentBase
}
String schema = row.getString(2);
if (row.wasNull()) {
- schema = null;
+ schema = "";
}
String table = row.getString(3);
if (row.wasNull()) {
More information about the Libreoffice-commits
mailing list