Tobias Krais wrote:
> Hi Juergen,
>
>> well, that can have different reasons. It works
normally quite well and
>> more interesting would be what are you doing in
detail.
>
> I tested many many times and I try to find out what is
wrong, to be able
> to reproduce my failure. The last thing I found out
is:
> 1. If I install my Extension (named
JudasComponent.oxt), the extension
> does NOT work.
> 2. Renaming the extension (e.g. JudasComponent01.oxt)
and installing it
> will install it and my extension works well!
> 3. The problem does not depend on my user profile.
> 4. I experienced the problem only on Ubuntu (amd64)
Feisty (OOo 2.2.0)
> and Gutsy (OOo 2.3). Up to now, I was not able to
reproduce the failure
> on Windows and I want to test on Debian Etch systems
next week.
> 5. The first 5 or six times worked also well on my
Ubuntu system.
> 6. The problem first occured when doing the following
steps via Java
> API: - detecting the version number of the installed
extension. Then
> removing the extension. At least installing a newer
version of the
> extension.
>
> -> Is my OpenOffice registry broken?
you can easy test it. Run your office with
soffice -env:UserInstalltion=./mynewuserdir
Install and test your extensions in this new fresh user
directory.
Juergen
>
>> When did you get this error, when you install the
extensions or when you
>> remove it.
>
> I got the one specific error on installing my
extension. Normally, there
> is no error messages.
>
>> When you get error when you remove the extensions i
would be interested
>> what exactly are you doing in your extension. It's
quite easy to crash
>> the office or doing some strange things in
extensions.
>
> My extension contains two protocol handler.
> 1. The first one dispatches the save dialog.
> 2. The second reads my file and prints the current
document on a printer
> and a printer tray I specified on the file.
>
> Here is the code I use for adding the package:
> -----%<-----
> public class UNOPackageManager implements
XCommandEnvironment {
>
> public void addPackage(String packageURL, String
packageManagerType) {
> String packageUNOURL = createUNOFileURL(packageURL);
>
> XComponentContext xComponentContext =
> OOWorkbench.getXComponentContext();
>
> // Package manager name
> String packageManagerName =
>
"/singletons/com.sun.star.deployment.thePackageManager
Factory";
>
> XPackageManager xPM = null;
> try {
> XPackageManagerFactory xPMF =
(XPackageManagerFactory)
> AnyConverter.toObject(XPackageManagerFactory.class,
>
xComponentContext.getValueByName(packageManagerName));
>
> // Getting the package manager representative
> xPM = xPMF.getPackageManager(pmType);
> }
> catch (Exception e) {
> }
> try {
> XAbortChannel xAbortChannel =
xPM.createAbortChannel();
> xPM.addPackage(packageUNOURL, "",
xAbortChannel, this);
> }
> catch (Exception e) {
> }
> }
>
> /**
> * Implementation of the getProgressHandler method of
the
> * XCommandEnvironment.
> * return An implementation of the XProgressHandler.
> */
> public XProgressHandler getProgressHandler() {
> return new ProgressImpl();
> }
>
> /**
> * Implementation of the getInteractionHandler method
of the
> * XCommandEnvironment.
> * return An implementation of the XInteractionHandler.
> */
> public XInteractionHandler getInteractionHandler() {
> return new InteractionImpl();
> }
>
> }
>
> /**
> * InteractionImpl implements the XInteractionHandler.
It is needed to
> * add a UNO package.
> * author tobias
> */
> class InteractionImpl implements XInteractionHandler
> {
> /**
> * Implementation of the handle method of the
XInteractionHandler.
> * It handles the add request of a package.
> * param xRequest The XInteractionRequest needed to
handle the
> * interaction.
> */
> public void handle (XInteractionRequest xRequest)
> {
> boolean approve = true;
> XInteractionContinuation[] conts =
xRequest.getContinuations();
>
> for (int i = 0; i < conts.length; i++)
> {
> if (approve)
> {
> XInteractionApprove xApprove =
(XInteractionApprove)
>
UnoRuntime.queryInterface(XInteractionApprove.class,
> conts[i]);
> if (xApprove != null)
> xApprove.select();
> //don't query again for ongoing
extensions
> approve = false;
> }
> }
> }
> }
>
> /**
> * ProgressImpl implements the XProgressHandler. This
class is quiete empty,
> * but nothing more is needed to add UNO packages.
> * author tobias
> */
> class ProgressImpl implements XProgressHandler {
> /**
> * Implementation of the push method of the
XProgressHandler. Empty.
> * param status Object
> */
> public void push(Object status) {
> }
>
> /**
> * Implementation of the update method of the
XProgressHandler. Empty.
> * param status Object
> */
> public void update(Object status) {
> }
>
> /**
> * Implementation of the pop method of the
XProgressHandler. Empty.
> */
> public void pop() {
> }
> }
> -----%<-----
>
> Now I continued testing with renamed packages. Adding
the package via
> API does install the package, but it is not working. Is
there a failure
> in the code?
>
> Maybe that helps to give me a hint how to continue.
>
> Greetings, Tobias
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: dev-unsubscribe api.openoffice.org
> For additional commands, e-mail: dev-help api.openoffice.org
>
------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribe api.openoffice.org
For additional commands, e-mail: dev-help api.openoffice.org
|