Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: AOO417, AOO420-Dev-m1, AOO416, AOO416-RC1, AOO415, AOO414
# 5b780c4a 16-Sep-2017 Damjan Jovanovic

Locking and disposal cleanup.

Firstly, add isDisposed() and checkDisposed() methods to
main/javaunohelper's com.sun.star.lib.uno.helper.ComponentBase, so that
Java components can eas

Locking and disposal cleanup.

Firstly, add isDisposed() and checkDisposed() methods to
main/javaunohelper's com.sun.star.lib.uno.helper.ComponentBase, so that
Java components can easily test and assert their disposal state. Comment
these for a clearer understanding of how disposal works, namely that
locking against disposal must cover all access of that component, so that
the component can't be disposed half-way through being used. These methods
are stricter than before, where only bDisposed was checked, which allowed
the component to be used during disposal (as postDisposing() runs before
bDisposed is set)!!

Fix and simplify locking in the PostgreSQL driver, first by using the new
methods in ComponentBase instead of tracking disposal separately with our
own variable, then expand locking to entire methods so components can't be
disposed during a method's execution, and finally eliminate disposal
tracking in components that purely wrap another component and modify
data in transit, as all disposal management is done by the wrapped
component and we don't have to worry as long as our postDispose() has
nothing special to do and just delegates to the wrapped component.

Also eliminate internal locks in objects, and use "this" as the lock for
the non-container objects like Table / Column / Key, while using the
parent's "this" as the lock for contain objects like Tables, Columns, Keys
etc., as this further simplifies locking, allow using method-level locking
instead of "synchronized (this)", reduces the number of fields, simplifies
locking in subclasses, and theoretically allows callers to hold the lock
across multiple method invocations.

Other minor fixes, some exception cleanup, use of AtomicInteger to generate
numbers in PropertySetAdapter, etc.

Patch by: me



git-svn-id: https://svn.apache.org/repos/asf/openoffice/trunk@1808517 13f79535-47bb-0310-9956-ffa450edef68

show more ...


# 3c5114b8 20-Aug-2017 Damjan Jovanovic

#i127350# - Table design: can't change length of Postgresql char types

Add the initial version of a new SDBC driver, for the PostgreSQL database.

Also its build changes: since it ne

#i127350# - Table design: can't change length of Postgresql char types

Add the initial version of a new SDBC driver, for the PostgreSQL database.

Also its build changes: since it needs Apache Commons Lang version 3,
get configure.ac to check for that, and get that to always build,
just like our driver does.

Patch by: me



git-svn-id: https://svn.apache.org/repos/asf/openoffice/trunk@1805579 13f79535-47bb-0310-9956-ffa450edef68

show more ...