Salve sono uno sviluppatore Java ed attualmente stò programmando un utility che deve permettermi di aggiungere alcuni campi(testo) provenienti da un server in documenti OpenOffice.Se inserisco i campi nel documento tutto funziona correttamente.Il problema nasce quando creo una tabella e voglio inserire il campo al suo interno(nella cella in cui risiede il cursore di testo).

Di seguito riporto il codice che uso per inserire il campo:

public void inserisciCampo(XTextDocument Doc, String nomeCampo, XPropertySet xMasterPropSet)throws java.lang.Exception
{
XMultiServiceFactory docFactory = (XMultiServiceFactory)
UnoRuntime.queryInterface(XMultiServiceFactory.cla ss, Doc);

xUserField = (XDependentTextField) UnoRuntime.queryInterface(
XDependentTextField.class,
docFactory.createInstance("com.sun.star.text.TextF ield.User"));

xMasterPropSet = (XPropertySet) UnoRuntime.queryInterface(
XPropertySet.class, docFactory.createInstance(
"com.sun.star.text.FieldMaster.User"));

// Per settare il nome del campo utente
xMasterPropSet.setPropertyValue("Name", nomeCampo);

// SE vuoi settare il valore..
//xMasterPropSet.setPropertyValue("Value", valoreCampo);

xUserField.attachTextFieldMaster(xMasterPropSet);

// NEW
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(
XDesktop.class, desktop);

XComponent xCurrentComponent = xDesktop.getCurrentComponent();

XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class,
xCurrentComponent);

XController xController = xModel.getCurrentController();

XTextViewCursorSupplier xViewCursorSupplier =
(XTextViewCursorSupplier)UnoRuntime.queryInterface (
XTextViewCursorSupplier.class, xController);

XTextViewCursor xViewCursor = xViewCursorSupplier.getViewCursor();

XText xDocumentText = xViewCursor.getText();

XTextCursor xModelCursor =
xDocumentText.createTextCursorByRange(xViewCursor. getStart());

XTextCursor xParagraphCursor =
(XTextCursor)UnoRuntime.queryInterface(
XTextCursor.class, xModelCursor);

Doc.getText().insertTextContent(xParagraphCursor, xUserField,
false);
System.out.println("INS OK");
}

Non sono molto pratico di OpenOffice e non sono riuscito a trovare molte indicazioni in rete.Se qualcuno ha delle idee o può indicarmi dei link utili mi farebbe un grande favore.