Skip to content

Commit 87cb603

Browse files
committed
new version 1.0.2
1 parent e302942 commit 87cb603

File tree

12 files changed

+98
-77
lines changed

12 files changed

+98
-77
lines changed

HyperSQLOOo.oxt

43.7 KB
Binary file not shown.

source/HyperSQLOOo/description.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
xmlns="http://openoffice.org/extensions/description/2006"
2929
xmlns:d="http://openoffice.org/extensions/description/2006"
3030
xmlns:xlink="http://www.w3.org/1999/xlink">
31-
<version value="1.0.1"/>
31+
<version value="1.0.2"/>
3232
<identifier value="io.github.prrvchr.HyperSQLOOo"/>
3333
<platform value="all"/>
3434
<dependencies>
43.7 KB
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#Written by the OOEclipseIntegration
2-
#Sat Aug 12 12:18:30 CEST 2023
3-
contents=Drivers.xcu, HyperSQLOOo, HyperSQLOOo/DialogStrings_en_US.default, HyperSQLOOo/DialogStrings_en_US.properties, HyperSQLOOo/DialogStrings_fr_FR.properties, HyperSQLOOo/HyperSQLOOo.svg, HyperSQLOOo/LogDialog.xdl, HyperSQLOOo/LogWindow.xdl, HyperSQLOOo/OptionsDialog.xdl, HyperSQLOOo/OptionsDialog_en_US.default, HyperSQLOOo/OptionsDialog_en_US.properties, HyperSQLOOo/OptionsDialog_fr_FR.properties, HyperSQLOOo/dialog.xlb, META-INF, META-INF/manifest.xml, Options.xcs, Options.xcu, OptionsDialog.xcu, description, description/desc_en.txt, description/desc_fr.txt, description.xml, registration, registration/TermsOfUse_en.md, registration/TermsOfUse_fr.md, resource, resource/Driver_en_US.default, resource/Driver_en_US.properties, resource/Driver_fr_FR.properties, resource/Logger_en_US.default, resource/Logger_en_US.properties, resource/Logger_fr_FR.properties, resource/OptionsDialog_en_US.default, resource/OptionsDialog_en_US.properties, resource/OptionsDialog_fr_FR.properties, service, service/pythonpath, service/pythonpath/hypersql, service/pythonpath/hypersql/logger, service/pythonpath/hypersql/options, service/pythonpath/hypersql/sdbc, service/pythonpath/hypersql/sdbcx, service/pythonpath/hypersql/unotool
2+
#Mon Sep 25 17:15:09 CEST 2023
3+
contents=Drivers.xcu, HyperSQLOOo, HyperSQLOOo/DialogStrings_en_US.default, HyperSQLOOo/DialogStrings_en_US.properties, HyperSQLOOo/DialogStrings_fr_FR.properties, HyperSQLOOo/HyperSQLOOo.svg, HyperSQLOOo/LogDialog.xdl, HyperSQLOOo/LogWindow.xdl, HyperSQLOOo/OptionsDialog.xdl, HyperSQLOOo/OptionsDialog_en_US.default, HyperSQLOOo/OptionsDialog_en_US.properties, HyperSQLOOo/OptionsDialog_fr_FR.properties, HyperSQLOOo/dialog.xlb, META-INF, META-INF/manifest.xml, Options.xcs, Options.xcu, OptionsDialog.xcu, description, description/desc_en.txt, description/desc_fr.txt, description.xml, registration, registration/TermsOfUse_en.md, registration/TermsOfUse_fr.md, resource, resource/Driver_en_US.default, resource/Driver_en_US.properties, resource/Driver_fr_FR.properties, resource/Logger_en_US.default, resource/Logger_en_US.properties, resource/Logger_fr_FR.properties, resource/OptionsDialog_en_US.default, resource/OptionsDialog_en_US.properties, resource/OptionsDialog_fr_FR.properties, service, service/pythonpath, service/pythonpath/hypersql, service/pythonpath/hypersql/jdbcdriver, service/pythonpath/hypersql/logger, service/pythonpath/hypersql/options, service/pythonpath/hypersql/sdbc, service/pythonpath/hypersql/sdbcx, service/pythonpath/hypersql/unotool, service/pythonpath/packaging

source/HyperSQLOOo/service/pythonpath/hypersql/configuration.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@
2828
"""
2929

3030
# General configuration
31-
g_extension = 'HyperSQLOOo'
31+
g_dbname = 'HyperSQL'
32+
g_extension = '%sOOo' % g_dbname
3233
g_identifier = 'io.github.prrvchr.%s' % g_extension
3334
g_resource = 'resource'
3435
g_basename = 'Driver'
35-
g_defaultlog = 'HyperSQLLogger'
36-
g_errorlog = 'HyperSQLError'
36+
g_defaultlog = '%sLogger' % g_dbname
37+
g_errorlog = '%sError' % g_dbname
3738

3839
# DataBase configuration
3940
g_protocol = 'xdbc:hsqldb:'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../uno/lib/uno/jdbcdriver
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../uno/lib/python/packaging

source/HyperSQLOOo/types.rdb

1 KB
Binary file not shown.

uno/lib/uno/embedded/driver.py

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,20 @@
4040

4141
from .documenthandler import DocumentHandler
4242

43+
from .unotool import checkVersion
4344
from .unotool import createService
4445
from .unotool import getConfiguration
46+
from .unotool import getExtensionVersion
4547
from .unotool import getPropertyValueSet
4648

4749
from .logger import getLogger
4850

51+
from .jdbcdriver import g_extension as g_jdbcext
52+
from .jdbcdriver import g_identifier as g_jdbcid
53+
from .jdbcdriver import g_version as g_jdbcver
54+
55+
from .configuration import g_dbname
56+
from .configuration import g_extension
4957
from .configuration import g_identifier
5058
from .configuration import g_defaultlog
5159
from .configuration import g_basename
@@ -78,43 +86,39 @@ def connect(self, url, infos):
7886
try:
7987
newinfos, document, storage, location = self._getConnectionInfo(infos)
8088
if storage is None or location is None:
81-
code = self._logger.resolveString(111)
82-
msg = self._logger.resolveString(112, url)
83-
raise self._getException(code, 1001, msg, self)
84-
driver = self._getDriver()
89+
self._logException(112, url, ' ')
90+
raise self._getException(1001, None, 111, url, '\n')
8591
handler = self._getDocumentHandler(location)
8692
path = handler.getConnectionUrl(document, storage, location)
8793
print("driver.connect() Path: %s" % path)
8894
self._logger.logprb(INFO, 'Driver', 'connect()', 113, location)
89-
connection = driver.connect(path, newinfos)
95+
connection = self._getDriver().connect(path, newinfos)
9096
version = connection.getMetaData().getDriverVersion()
91-
self._logger.logprb(INFO, 'Driver', 'connect()', 114, version, g_user)
97+
self._logger.logprb(INFO, 'Driver', 'connect()', 114, g_dbname, version, g_user)
9298
return connection
9399
except SQLException as e:
94-
self._logger.logp(SEVERE, 'Driver', 'connect()', e.Message)
95100
raise e
96101
except Exception as e:
97-
self._logger.logprb(SEVERE, 'Driver', 'connect()', 117, e, traceback.format_exc())
102+
self._logger.logprb(SEVERE, 'Driver', 'connect()', 115, str(e), traceback.format_exc())
98103
raise e
99104

100105
def acceptsURL(self, url):
101106
accept = url.startswith(g_url)
102-
self._logger.logprb(INFO, 'Driver', 'acceptsURL()', 121, url, accept)
107+
self._logger.logprb(INFO, 'Driver', 'acceptsURL()', 131, url, accept)
103108
return accept
104109

105110
def getPropertyInfo(self, url, infos):
106111
try:
107-
self._logger.logprb(INFO, 'Driver', 'getPropertyInfo()', 131, url)
108-
driver = self._getDriver()
109-
drvinfo = driver.getPropertyInfo(g_protocol, infos)
112+
self._logger.logprb(INFO, 'Driver', 'getPropertyInfo()', 141, url)
113+
drvinfo = self._getDriver().getPropertyInfo(g_protocol, infos)
110114
for info in drvinfo:
111-
self._logger.logprb(INFO, 'Driver', 'getPropertyInfo()', 132, info.Name, info.Value)
115+
self._logger.logprb(INFO, 'Driver', 'getPropertyInfo()', 142, info.Name, info.Value)
112116
return drvinfo
113117
except SQLException as e:
114118
self._logger.logp(SEVERE, 'Driver', 'getPropertyInfo()', e.Message)
115119
raise e
116120
except Exception as e:
117-
self._logger.logprb(SEVERE, 'Driver', 'getPropertyInfo()', 133, e, traceback.format_exc())
121+
self._logger.logprb(SEVERE, 'Driver', 'getPropertyInfo()', 143, e, traceback.format_exc())
118122
raise e
119123

120124
def getMajorVersion(self):
@@ -135,12 +139,15 @@ def _getDriver(self):
135139
# FIXME: If jdbcDriverOOo is not installed,
136140
# FIXME: we need to throw SQLException
137141
if self._driver is None:
138-
driver = createService(self._ctx, self._service)
139-
if driver is None:
140-
code = self._logger.resolveString(181)
141-
msg = self._logger.resolveString(182, self._service)
142-
raise self._getException(code, 1001, msg, self)
143-
self._driver = driver
142+
version = getExtensionVersion(self._ctx, g_jdbcid)
143+
if version is None:
144+
self._logException(122, g_jdbcext, ' ', g_extension)
145+
raise self._getException(1001, None, 121, g_jdbcext, '\n', g_extension)
146+
elif not checkVersion(version, g_jdbcver):
147+
self._logException(124, version, g_jdbcext, ' ', g_jdbcver)
148+
raise self._getException(1001, None, 123, version, g_jdbcext, '\n', g_jdbcver)
149+
else:
150+
self._driver = createService(self._ctx, self._service)
144151
return self._driver
145152

146153
def _getConnectionInfo(self, infos):
@@ -177,12 +184,15 @@ def _getDocumentHandler(self, location):
177184
self._handlers.append(handler)
178185
return handler
179186

180-
def _getException(self, state, code, message, context=None, exception=None):
187+
def _logException(self, resource, *args):
188+
self._logger.logprb(SEVERE, 'Driver', 'connect()', resource, *args)
189+
190+
def _getException(self, code, exception, resource, *args):
181191
error = SQLException()
182-
error.SQLState = state
183192
error.ErrorCode = code
184193
error.NextException = exception
185-
error.Message = message
186-
error.Context = context
194+
error.SQLState = self._logger.resolveString(resource)
195+
error.Message = self._logger.resolveString(resource +1, *args)
196+
error.Context = self
187197
return error
188198

uno/lib/uno/embedded/sdbcx/driver.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,23 @@ def __init__(self, ctx, lock, service, name):
5252
# XDataDefinitionSupplier
5353
def getDataDefinitionByConnection(self, connection):
5454
try:
55-
self._logger.logprb(INFO, 'Driver', 'getDataDefinitionByConnection()', 141)
55+
self._logger.logprb(INFO, 'Driver', 'getDataDefinitionByConnection()', 151)
5656
driver = self._getDriver()
5757
return driver.getDataDefinitionByConnection(connection)
5858
except SQLException as e:
5959
raise e
6060
except Exception as e:
61-
self._logger.logprb(SEVERE, 'Driver', 'getDataDefinitionByConnection()', 142, e, traceback.format_exc())
61+
self._logger.logprb(SEVERE, 'Driver', 'getDataDefinitionByConnection()', 152, e, traceback.format_exc())
6262

6363
def getDataDefinitionByURL(self, url, infos):
64-
self._logger.logprb(INFO, 'Driver', 'getDataDefinitionByURL()', 151, url)
64+
self._logger.logprb(INFO, 'Driver', 'getDataDefinitionByURL()', 161, url)
6565
return self.getDataDefinitionByConnection(connect(url, infos))
6666

6767
# XCreateCatalog
6868
def createCatalog(self, info):
69-
self._logger.logprb(INFO, 'Driver', 'createCatalog()', 161)
69+
self._logger.logprb(INFO, 'Driver', 'createCatalog()', 171)
7070

7171
# XDropCatalog
7272
def dropCatalog(self, name, info):
73-
self._logger.logprb(INFO, 'Driver', 'dropCatalog()', 171, name)
73+
self._logger.logprb(INFO, 'Driver', 'dropCatalog()', 181, name)
7474

0 commit comments

Comments
 (0)