summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
Diffstat (limited to 'ucb')
-rw-r--r--ucb/prj/build.lst4
-rw-r--r--ucb/prj/d.lst15
-rwxr-xr-xucb/qa/complex/tdoc/CheckContentProvider.java247
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsContent.java81
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java83
-rwxr-xr-xucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java94
-rw-r--r--ucb/qa/complex/tdoc/TestDocument.java39
-rwxr-xr-xucb/qa/complex/tdoc/_XChild.java (renamed from ucb/qa/complex/tdoc/interfaces/_XChild.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XCommandInfoChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XCommandInfoChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XCommandProcessor.java (renamed from ucb/qa/complex/tdoc/interfaces/_XCommandProcessor.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XComponent.java (renamed from ucb/qa/complex/tdoc/interfaces/_XComponent.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XContent.java (renamed from ucb/qa/complex/tdoc/interfaces/_XContent.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertiesChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertiesChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertyContainer.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertyContainer.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XPropertySetInfoChangeNotifier.java (renamed from ucb/qa/complex/tdoc/interfaces/_XPropertySetInfoChangeNotifier.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XServiceInfo.java (renamed from ucb/qa/complex/tdoc/interfaces/_XServiceInfo.java)2
-rwxr-xr-xucb/qa/complex/tdoc/_XTypeProvider.java (renamed from ucb/qa/complex/tdoc/interfaces/_XTypeProvider.java)2
-rwxr-xr-xucb/qa/complex/tdoc/interfaces/makefile.mk4
-rwxr-xr-xucb/qa/complex/tdoc/makefile.mk83
-rw-r--r--ucb/qa/complex/tdoc/test_documents/Iterator.sxw (renamed from ucb/qa/complex/test_documents/Iterator.sxw)bin5627 -> 5627 bytes
-rw-r--r--ucb/qa/complex/tdoc/test_documents/chinese.sxw (renamed from ucb/qa/complex/test_documents/chinese.sxw)bin5757 -> 5757 bytes
-rw-r--r--ucb/qa/complex/tdoc/test_documents/filter.sxw (renamed from ucb/qa/complex/test_documents/filter.sxw)bin14359 -> 14359 bytes
-rwxr-xr-xucb/qa/complex/ucb/UCB.java171
-rwxr-xr-xucb/qa/complex/ucb/makefile.mk58
-rw-r--r--ucb/source/cacher/cached1.component43
-rw-r--r--ucb/source/cacher/cacheserv.cxx77
-rw-r--r--ucb/source/cacher/makefile.mk8
-rwxr-xr-x[-rw-r--r--]ucb/source/core/cmdenv.cxx2
-rw-r--r--ucb/source/core/exports2.dxp1
-rw-r--r--ucb/source/core/makefile.mk8
-rw-r--r--ucb/source/core/ucb.cxx151
-rw-r--r--ucb/source/core/ucb.hxx6
-rw-r--r--ucb/source/core/ucb1.component46
-rw-r--r--ucb/source/core/ucbserv.cxx87
-rw-r--r--ucb/source/core/ucbstore.cxx39
-rw-r--r--ucb/source/core/ucbstore.hxx6
-rw-r--r--ucb/source/sorter/makefile.mk8
-rw-r--r--ucb/source/sorter/sortmain.cxx55
-rw-r--r--ucb/source/sorter/srtrs1.component34
-rw-r--r--ucb/source/ucp/expand/makefile.mk8
-rw-r--r--ucb/source/ucp/expand/ucpexpand.cxx8
-rw-r--r--ucb/source/ucp/expand/ucpexpand1.component34
-rw-r--r--ucb/source/ucp/ext/makefile.mk8
-rw-r--r--ucb/source/ucp/ext/ucpext.component34
-rw-r--r--ucb/source/ucp/ext/ucpext_services.cxx6
-rw-r--r--ucb/source/ucp/file/exports2.dxp1
-rw-r--r--ucb/source/ucp/file/makefile.mk8
-rw-r--r--ucb/source/ucp/file/prov.cxx54
-rw-r--r--ucb/source/ucp/file/shell.cxx8
-rw-r--r--ucb/source/ucp/file/ucpfile1.component34
-rw-r--r--ucb/source/ucp/ftp/ftpservices.cxx54
-rw-r--r--ucb/source/ucp/ftp/makefile.mk8
-rw-r--r--ucb/source/ucp/ftp/ucpftp1.component34
-rw-r--r--ucb/source/ucp/gio/gio_provider.cxx43
-rw-r--r--ucb/source/ucp/gio/makefile.mk10
-rw-r--r--ucb/source/ucp/gio/ucpgio-ucd.txt6
-rw-r--r--ucb/source/ucp/gio/ucpgio.component34
-rw-r--r--ucb/source/ucp/gvfs/gvfs_provider.cxx45
-rw-r--r--ucb/source/ucp/gvfs/makefile.mk9
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs-ucd.txt6
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs.component34
-rw-r--r--ucb/source/ucp/hierarchy/hierarchyservices.cxx63
-rw-r--r--ucb/source/ucp/hierarchy/makefile.mk8
-rw-r--r--ucb/source/ucp/hierarchy/ucphier1.component38
-rw-r--r--ucb/source/ucp/odma/odma_lib.cxx4
-rw-r--r--ucb/source/ucp/odma/odma_services.cxx39
-rw-r--r--ucb/source/ucp/package/makefile.mk9
-rw-r--r--ucb/source/ucp/package/pkgservices.cxx59
-rw-r--r--ucb/source/ucp/package/pkguri.cxx36
-rw-r--r--ucb/source/ucp/package/ucppkg1.component34
-rw-r--r--ucb/source/ucp/tdoc/makefile.mk8
-rw-r--r--ucb/source/ucp/tdoc/tdoc_services.cxx62
-rw-r--r--ucb/source/ucp/tdoc/ucptdoc1.component37
-rw-r--r--ucb/source/ucp/webdav/DAVResourceAccess.cxx3
-rw-r--r--ucb/source/ucp/webdav/makefile.mk8
-rw-r--r--ucb/source/ucp/webdav/ucpdav1.component34
-rw-r--r--ucb/source/ucp/webdav/webdavservices.cxx54
77 files changed, 1216 insertions, 1236 deletions
diff --git a/ucb/prj/build.lst b/ucb/prj/build.lst
index dad79213047e..8d8c87f3ae4b 100644
--- a/ucb/prj/build.lst
+++ b/ucb/prj/build.lst
@@ -16,3 +16,7 @@ uc ucb\source\ucp\tdoc nmake - all uc_tdoc uc_inc NULL
uc ucb\source\ucp\expand nmake - all uc_expand uc_inc NULL
uc ucb\source\ucp\ext nmake - all uc_ext uc_inc NULL
uc ucb\qa\unoapi nmake - all uc_qa_unoapi NULL
+
+uc ucb\qa\complex\ucb nmake - all uc_complex_ucb uc_inc NULL
+# fails, please fix
+# uc ucb\qa\complex\tdoc nmake - all uc_complex_tdoc uc_complex_tdoc_interfaces uc_inc NULL
diff --git a/ucb/prj/d.lst b/ucb/prj/d.lst
index b02c8184a6e9..65a32e21fba3 100644
--- a/ucb/prj/d.lst
+++ b/ucb/prj/d.lst
@@ -31,5 +31,16 @@
..\source\ucp\gvfs\ucpgvfs.xml %_DEST%\xml%_EXT%\ucpgvfs.xml
..\source\ucp\tdoc\ucptdoc.xml %_DEST%\xml%_EXT%\ucptdoc.xml
-..\%__SRC%\misc\ucpgvfs-ucd.txt %_DEST%\bin%_EXT%\ucpgvfs-ucd.txt
-..\%__SRC%\misc\ucpgio-ucd.txt %_DEST%\bin%_EXT%\ucpgio-ucd.txt
+..\%__SRC%\misc\ucpgvfs.component %_DEST%\xml%_EXT%\ucpgvfs.component
+..\%__SRC%\misc\ucpgio.component %_DEST%\xml%_EXT%\ucpgio.component
+..\%__SRC%\misc\cached1.component %_DEST%\xml%_EXT%\cached1.component
+..\%__SRC%\misc\srtrs1.component %_DEST%\xml%_EXT%\srtrs1.component
+..\%__SRC%\misc\ucb1.component %_DEST%\xml%_EXT%\ucb1.component
+..\%__SRC%\misc\ucpdav1.component %_DEST%\xml%_EXT%\ucpdav1.component
+..\%__SRC%\misc\ucpexpand1.component %_DEST%\xml%_EXT%\ucpexpand1.component
+..\%__SRC%\misc\ucpext.component %_DEST%\xml%_EXT%\ucpext.component
+..\%__SRC%\misc\ucpfile1.component %_DEST%\xml%_EXT%\ucpfile1.component
+..\%__SRC%\misc\ucpftp1.component %_DEST%\xml%_EXT%\ucpftp1.component
+..\%__SRC%\misc\ucphier1.component %_DEST%\xml%_EXT%\ucphier1.component
+..\%__SRC%\misc\ucppkg1.component %_DEST%\xml%_EXT%\ucppkg1.component
+..\%__SRC%\misc\ucptdoc1.component %_DEST%\xml%_EXT%\ucptdoc1.component
diff --git a/ucb/qa/complex/tdoc/CheckContentProvider.java b/ucb/qa/complex/tdoc/CheckContentProvider.java
index a20a96829e0b..a039c0c14e87 100755
--- a/ucb/qa/complex/tdoc/CheckContentProvider.java
+++ b/ucb/qa/complex/tdoc/CheckContentProvider.java
@@ -42,20 +42,15 @@ import com.sun.star.ucb.XContentIdentifier;
import com.sun.star.ucb.XContentIdentifierFactory;
import com.sun.star.ucb.XContentProvider;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
-import complex.tdoc.interfaces._XChild;
-import complex.tdoc.interfaces._XCommandInfoChangeNotifier;
-import complex.tdoc.interfaces._XComponent;
-import complex.tdoc.interfaces._XServiceInfo;
-import complex.tdoc.interfaces._XTypeProvider;
-import complex.tdoc.interfaces._XCommandProcessor;
-import complex.tdoc.interfaces._XContent;
-import complex.tdoc.interfaces._XPropertiesChangeNotifier;
-import complex.tdoc.interfaces._XPropertyContainer;
-import complex.tdoc.interfaces._XPropertySetInfoChangeNotifier;
-import lib.TestEnvironment;
import util.WriterTools;
-import util.utils;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
* Check the TransientDocumentsContentProvider (TDOC). Three documents are
@@ -66,7 +61,7 @@ import util.utils;
* with an accept parameter (writer is initially opened). Otherwise loaded
* documents are not found.
*/
-public class CheckContentProvider extends ComplexTestCase {
+public class CheckContentProvider {
private final String testDocuments[] = new String[]{"filter.sxw", "chinese.sxw", "Iterator.sxw"};
private final int countDocs = testDocuments.length;
private XMultiServiceFactory xMSF = null;
@@ -89,37 +84,38 @@ public class CheckContentProvider extends ComplexTestCase {
* Important is, that the test of the element comes first, then the test of
* its interfaces.
**/
- public String[] getTestMethodNames() {
- return new String[]{"checkTDOCRoot",
- "checkTDOCRootInterfaces",
- "checkTDOCDocument",
- "checkTDOCDocumentInterfaces",
- "checkTDOCFolder",
- "checkTDOCFolderInterfaces",
- "checkTDOCStream",
- "checkTDOCStreamInterfaces",
- };
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkTDOCRoot",
+// "checkTDOCRootInterfaces",
+// "checkTDOCDocument",
+// "checkTDOCDocumentInterfaces",
+// "checkTDOCFolder",
+// "checkTDOCFolderInterfaces",
+// "checkTDOCStream",
+// "checkTDOCStreamInterfaces",
+// };
+// }
/**
* Open some documents before the test
*/
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
xTextDoc = new XTextDocument[countDocs];
- log.println("Open some new documents.");
+ System.out.println("Open some new documents.");
for (int i=0; i<countDocs; i++) {
- String fileName = utils.getFullTestURL(testDocuments[i]);
+ String fileName = TestDocument.getUrl(testDocuments[i]);
System.out.println("Doc " + i + ": " + fileName);
xTextDoc[i] = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull("Can't load document " + fileName, xTextDoc[i]);
}
}
/**
* Close the documents
*/
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all documents.");
for (int i=0; i<countDocs; i++) {
xTextDoc[i].dispose();
}
@@ -128,18 +124,16 @@ public class CheckContentProvider extends ComplexTestCase {
/**
* Check the tdcp root.
*/
- public void checkTDOCRoot() {
+ @Test public void checkTDOCRoot() {
try {
// create a content provider
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/");
@@ -147,7 +141,7 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Content root: " + content);
+ System.out.println("#### Content root: " + content);
// try to get some documents: should be "countDocs" at least.
XContentIdentifier[] xContentId = new XContentIdentifier[countDocs+5];
@@ -160,66 +154,68 @@ public class CheckContentProvider extends ComplexTestCase {
int returnVal = xContentProvider.compareContentIds(xContentId[i], xContentIdentifier);
String cont = null;
if (xCont[i] != null)
+ {
cont = xCont[i].getContentType();
- log.println("Document Content " + i + ": " + cont + " compare with root: " + returnVal);
+ }
+ System.out.println("Document Content " + i + ": " + cont + " compare with root: " + returnVal);
xContentId[i] = xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/" + i + "/content.xml");
// get content
xCont[i] = xContentProvider.queryContent(xContentId[i]);
cont = null;
if (xCont[i] != null)
+ {
cont = xCont[i].getContentType();
- log.println("\tContent.xml Content " + i + ": " + cont);
+ }
+ System.out.println("\tContent.xml Content " + i + ": " + cont);
}
util.dbg.printInterfaces(xContent);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces of the root.
*/
- public void checkTDOCRootInterfaces() {
+ @Test public void checkTDOCRootInterfaces() {
checkInterfaces(false);
}
/**
* Check the tdcp document: document 3 is used.
*/
- public void checkTDOCDocument() {
+ @Test public void checkTDOCDocument() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/3");
// get content
xContent = xContentProvider.queryContent(xContentIdentifier);
-
+ // assertNotNull(xContent);
String content = xContent.getContentType();
- log.println("#### Document root: " + content);
+ System.out.println("#### Document root: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the document.
*/
- public void checkTDOCDocumentInterfaces() {
+ @Test public void checkTDOCDocumentInterfaces() {
checkInterfaces(true);
}
@@ -227,17 +223,15 @@ public class CheckContentProvider extends ComplexTestCase {
* Check a folder on document 2 (document 2 contains an embedded picture and
* therefore contans a subfolder "Pictures"
*/
- public void checkTDOCFolder() {
+ @Test public void checkTDOCFolder() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/2/Pictures");
@@ -245,36 +239,34 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Folder type: " + content);
+ System.out.println("#### Folder type: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the folder.
*/
- public void checkTDOCFolderInterfaces() {
+ @Test public void checkTDOCFolderInterfaces() {
checkInterfaces(true);
}
/**
* Open a stream to the embedded picture of document 1.
*/
- public void checkTDOCStream() {
+ @Test public void checkTDOCStream() {
try {
xContent = null;
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/1/Pictures/10000000000000640000004B9C743800.gif");
@@ -282,18 +274,18 @@ public class CheckContentProvider extends ComplexTestCase {
xContent = xContentProvider.queryContent(xContentIdentifier);
String content = xContent.getContentType();
- log.println("#### Folder type: " + content);
+ System.out.println("#### Folder type: " + content);
}
catch(Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Unexpected Exception: " + e.getMessage());
+ e.printStackTrace();
+ fail("Unexpected Exception: " + e.getMessage());
}
}
/**
* Check the interfaces on the stream.
*/
- public void checkTDOCStreamInterfaces() {
+ @Test public void checkTDOCStreamInterfaces() {
checkInterfaces(true);
}
@@ -319,80 +311,105 @@ public class CheckContentProvider extends ComplexTestCase {
private void checkInterfaces(boolean hasParent) {
// check the XTypeProvider interface
_XTypeProvider xTypeProvider = new _XTypeProvider();
- xTypeProvider.oObj = (XTypeProvider)UnoRuntime.queryInterface(XTypeProvider.class, xContent);
- xTypeProvider.log = log;
- assure("getImplementationId()", xTypeProvider._getImplementationId());
- assure("getTypes()", xTypeProvider._getTypes());
+ xTypeProvider.oObj = UnoRuntime.queryInterface(XTypeProvider.class, xContent);
+ // xTypeProvider.log = log;
+ assertNotNull("getImplementationId()", xTypeProvider._getImplementationId());
+ assertNotNull("getTypes()", xTypeProvider._getTypes());
// check the XSewrviceInfo interface
_XServiceInfo xServiceInfo = new _XServiceInfo();
- xServiceInfo.oObj = (XServiceInfo)UnoRuntime.queryInterface(XServiceInfo.class, xContent);
- xServiceInfo.log = log;
- assure("getImplementationName()", xServiceInfo._getImplementationName());
- assure("getSupportedServiceNames()", xServiceInfo._getSupportedServiceNames());
- assure("supportsService()", xServiceInfo._supportsService());
+ xServiceInfo.oObj = UnoRuntime.queryInterface(XServiceInfo.class, xContent);
+ // xServiceInfo.log = log;
+ assertNotNull("getImplementationName()", xServiceInfo._getImplementationName());
+ assertNotNull("getSupportedServiceNames()", xServiceInfo._getSupportedServiceNames());
+ assertNotNull("supportsService()", xServiceInfo._supportsService());
// check the XCommandProcessor interface
_XCommandProcessor xCommandProcessor = new _XCommandProcessor();
- xCommandProcessor.oObj = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
- xCommandProcessor.log = log;
- xCommandProcessor.before((XMultiServiceFactory)param.getMSF());
- assure("createCommandIdentifier()", xCommandProcessor._createCommandIdentifier());
- assure("execute()", xCommandProcessor._execute());
- assure("abort()", xCommandProcessor._abort());
+ xCommandProcessor.oObj = UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
+ // xCommandProcessor.log = log;
+ xCommandProcessor.before(getMSF());
+ assertNotNull("createCommandIdentifier()", xCommandProcessor._createCommandIdentifier());
+ assertNotNull("execute()", xCommandProcessor._execute());
+ assertNotNull("abort()", xCommandProcessor._abort());
// check the XChild interface
_XChild xChild = new _XChild();
- xChild.oObj = (XChild)UnoRuntime.queryInterface(XChild.class, xContent);
- xChild.log = log;
+ xChild.oObj = UnoRuntime.queryInterface(XChild.class, xContent);
+ // xChild.log = log;
// hasParent dermines, if this content has a parent
- assure("getParent()", xChild._getParent(hasParent));
+ assertNotNull("getParent()", xChild._getParent(hasParent));
// parameter does dermine, if this funczion is supported: generally not supported with tdcp content
- assure("setParent()", xChild._setParent(false));
+ assertNotNull("setParent()", xChild._setParent(false));
// check the XPropertyChangeNotifier interface
_XPropertiesChangeNotifier xPropChange = new _XPropertiesChangeNotifier();
- xPropChange.oObj = (XPropertiesChangeNotifier)UnoRuntime.queryInterface(XPropertiesChangeNotifier.class, xContent);
- xPropChange.log = log;
- assure("addPropertiesChangeListener()", xPropChange._addPropertiesChangeListener());
- assure("removePropertiesChangeListener()", xPropChange._removePropertiesChangeListener());
+ xPropChange.oObj = UnoRuntime.queryInterface(XPropertiesChangeNotifier.class, xContent);
+ // xPropChange.log = log;
+ assertNotNull("addPropertiesChangeListener()", xPropChange._addPropertiesChangeListener());
+ assertNotNull("removePropertiesChangeListener()", xPropChange._removePropertiesChangeListener());
// check the XPropertySetInfoChangeNotifier interface
_XPropertySetInfoChangeNotifier xPropSetInfo = new _XPropertySetInfoChangeNotifier();
- xPropSetInfo.oObj = (XPropertySetInfoChangeNotifier)UnoRuntime.queryInterface(XPropertySetInfoChangeNotifier.class, xContent);
- xPropSetInfo.log = log;
- assure("addPropertiesChangeListener()", xPropSetInfo._addPropertiesChangeListener());
- assure("removePropertiesChangeListener()", xPropSetInfo._removePropertiesChangeListener());
+ xPropSetInfo.oObj = UnoRuntime.queryInterface(XPropertySetInfoChangeNotifier.class, xContent);
+ // xPropSetInfo.log = log;
+ assertNotNull("addPropertiesChangeListener()", xPropSetInfo._addPropertiesChangeListener());
+ assertNotNull("removePropertiesChangeListener()", xPropSetInfo._removePropertiesChangeListener());
// check the XCommandInfoChangeNotifier interface
_XCommandInfoChangeNotifier xCommandChange = new _XCommandInfoChangeNotifier();
- xCommandChange.oObj = (XCommandInfoChangeNotifier)UnoRuntime.queryInterface(XCommandInfoChangeNotifier.class, xContent);
- xCommandChange.log = log;
- assure("addCommandInfoChangeListener()", xCommandChange._addCommandInfoChangeListener());
- assure("removeCommandInfoChangeListener()", xCommandChange._removeCommandInfoChangeListener());
+ xCommandChange.oObj = UnoRuntime.queryInterface(XCommandInfoChangeNotifier.class, xContent);
+ // xCommandChange.log = log;
+ assertNotNull("addCommandInfoChangeListener()", xCommandChange._addCommandInfoChangeListener());
+ assertNotNull("removeCommandInfoChangeListener()", xCommandChange._removeCommandInfoChangeListener());
// check the XContent interface
_XContent xCont = new _XContent();
- xCont.oObj = (XContent)UnoRuntime.queryInterface(XContent.class, xContent);
- xCont.log = log;
- assure("addContentEventListener()", xCont._addContentEventListener());
- assure("getContentType()", xCont._getContentType());
- assure("getIdentifier()", xCont._getIdentifier());
- assure("removeContentEventListener()", xCont._removeContentEventListener());
+ xCont.oObj = UnoRuntime.queryInterface(XContent.class, xContent);
+ // xCont.log = log;
+ assertNotNull("addContentEventListener()", xCont._addContentEventListener());
+ assertNotNull("getContentType()", xCont._getContentType());
+ assertNotNull("getIdentifier()", xCont._getIdentifier());
+ assertNotNull("removeContentEventListener()", xCont._removeContentEventListener());
// check the XPropertyContainer interface
_XPropertyContainer xPropCont = new _XPropertyContainer();
- xPropCont.oObj = (XPropertyContainer)UnoRuntime.queryInterface(XPropertyContainer.class, xContent);
- xPropCont.log = log;
- assure("addProperty()", xPropCont._addProperty());
- assure("removeProperty()", xPropCont._removeProperty());
+ xPropCont.oObj = UnoRuntime.queryInterface(XPropertyContainer.class, xContent);
+ // xPropCont.log = log;
+ assertNotNull("addProperty()", xPropCont._addProperty());
+ assertNotNull("removeProperty()", xPropCont._removeProperty());
// check the XComponent interface
_XComponent xComponent = new _XComponent();
- xComponent.oObj = (XComponent)UnoRuntime.queryInterface(XComponent.class, xContent);
- xComponent.log = log;
- assure("addEventListener()", xComponent._addEventListener());
- assure("removeEventListener()", xComponent._removeEventListener());
+ xComponent.oObj = UnoRuntime.queryInterface(XComponent.class, xContent);
+ // xComponent.log = log;
+ assertNotNull("addEventListener()", xComponent._addEventListener());
+ assertNotNull("removeEventListener()", xComponent._removeEventListener());
// assure("dispose()", xComponent._dispose());
}
+
+
+
+
+ private XMultiServiceFactory getMSF()
+ {
+ final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
+ return xMSF1;
+ }
+
+ // setup and close connections
+ @BeforeClass public static void setUpConnection() throws Exception {
+ System.out.println("setUpConnection()");
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ System.out.println("tearDownConnection()");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java b/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
index b492fd219119..ed121e92f9f1 100755
--- a/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
+++ b/ucb/qa/complex/tdoc/CheckTransientDocumentsContent.java
@@ -30,28 +30,28 @@ import com.sun.star.beans.Property;
import com.sun.star.beans.XPropertySetInfo;
import com.sun.star.frame.XModel;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XServiceInfo;
-import com.sun.star.sdbc.XResultSet;
import com.sun.star.text.XTextDocument;
import com.sun.star.ucb.Command;
-import com.sun.star.ucb.OpenCommandArgument2;
-import com.sun.star.ucb.OpenMode;
import com.sun.star.ucb.XCommandProcessor;
import com.sun.star.ucb.XContent;
-import com.sun.star.ucb.XContentAccess;
import com.sun.star.ucb.XContentIdentifier;
import com.sun.star.ucb.XContentIdentifierFactory;
import com.sun.star.ucb.XContentProvider;
-import com.sun.star.ucb.XDynamicResultSet;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
import util.WriterTools;
-import util.utils;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
*
*/
-public class CheckTransientDocumentsContent extends ComplexTestCase{
+public class CheckTransientDocumentsContent {
+ // TODO: document doesn't exists
private final String testDocuments[] = new String[]{"sForm.sxw"};//, "chinese.sxw", "Iterator.sxw"};
private final int countDocs = testDocuments.length;
private XMultiServiceFactory xMSF = null;
@@ -61,17 +61,18 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
return new String[] {"checkTransientDocumentsContent"};
}
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
xTextDoc = new XTextDocument[countDocs];
- log.println("Open some documents.");
+ System.out.println("Open some documents.");
for (int i=0; i<countDocs; i++) {
- String fileName = utils.getFullTestURL(testDocuments[i]);
+ String fileName = TestDocument.getUrl(testDocuments[i]);
xTextDoc[i] = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull("Can't load document " + fileName, xTextDoc[i]);
}
}
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all documents.");
for (int i=0; i<countDocs; i++) {
xTextDoc[i].dispose();
}
@@ -80,15 +81,13 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
/**
* Check the content of one document
*/
- public void checkTransientDocumentsContent() {
+ @Test public void checkTransientDocumentsContent() {
try {
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, xContentIdentifierFactory);
+ UnoRuntime.queryInterface(XContentProvider.class, xContentIdentifierFactory);
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/1");
@@ -96,7 +95,7 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
XContent xContent = xContentProvider.queryContent(xContentIdentifier);
// actual test: commands to get some properties
- XCommandProcessor xCommandProcessor = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
+ XCommandProcessor xCommandProcessor = UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
// build up the command
Command command = new Command();
command.Name = "getPropertySetInfo";
@@ -106,16 +105,16 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
Object result = xCommandProcessor.execute(command, 0, null);
// check the result
- log.println("Result: "+ result.getClass().toString());
- XPropertySetInfo xPropertySetInfo = (XPropertySetInfo)UnoRuntime.queryInterface(XPropertySetInfo.class, result);
+ System.out.println("Result: "+ result.getClass().toString());
+ XPropertySetInfo xPropertySetInfo = UnoRuntime.queryInterface(XPropertySetInfo.class, result);
Property[] props = xPropertySetInfo.getProperties();
boolean res = false;
for(int i=0; i<props.length; i++) {
String propName = props[i].Name;
res |= propName.equals("DocumentModel");
- log.println("Found property: " + propName + " type: " + props[i].Type.getTypeName());
+ System.out.println("Found property: " + propName + " type: " + props[i].Type.getTypeName());
}
- assure("Did not find property 'DocumentModel' in the Property array.", res);
+ assertNotNull("Did not find property 'DocumentModel' in the Property array.", res);
// get on property
command.Name = "getPropertyValues";
@@ -130,16 +129,38 @@ public class CheckTransientDocumentsContent extends ComplexTestCase{
result = xCommandProcessor.execute(command, 0, null);
// check the result
- log.println("Result: "+ result.getClass().toString());
+ System.out.println("Result: "+ result.getClass().toString());
- XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class, result);
- assure("Did not get property 'DocumentModel'.", xModel == null);
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, result);
+ assertTrue("Did not get property 'DocumentModel'.", xModel == null);
}
catch (com.sun.star.uno.Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Could not create test objects.");
+ e.printStackTrace();
+ fail("Could not create test objects.");
}
}
+ private XMultiServiceFactory getMSF()
+ {
+ final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
+ return xMSF1;
+ }
+
+ // setup and close connections
+ @BeforeClass public static void setUpConnection() throws Exception {
+ System.out.println("setUpConnection()");
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ System.out.println("tearDownConnection()");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
+
}
diff --git a/ucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java b/ucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java
index ddac0cbb2d47..d5aebc7fc3cd 100755
--- a/ucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java
+++ b/ucb/qa/complex/tdoc/CheckTransientDocumentsContentProvider.java
@@ -41,15 +41,23 @@ import com.sun.star.ucb.XContentIdentifierFactory;
import com.sun.star.ucb.XContentProvider;
import com.sun.star.ucb.XDynamicResultSet;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
+// import complexlib.ComplexTestCase;
import util.WriterTools;
-import util.utils;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
*
*/
-public class CheckTransientDocumentsContentProvider extends ComplexTestCase {
- private final String testDocuments[] = new String[]{"sForm.sxw", "chinese.sxw", "Iterator.sxw"};
+public class CheckTransientDocumentsContentProvider {
+ // TODO: document doesn't exists
+ private final String testDocuments[] = new String[]{/*"sForm.sxw",*/ "chinese.sxw", "Iterator.sxw"};
private final int countDocs = testDocuments.length;
private XMultiServiceFactory xMSF = null;
private XTextDocument[] xTextDoc = null;
@@ -58,17 +66,18 @@ public class CheckTransientDocumentsContentProvider extends ComplexTestCase {
return new String[]{"checkTransientDocumentsContentProvider"};
}
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
+ @Before public void before() {
+ xMSF = getMSF();
xTextDoc = new XTextDocument[countDocs];
- log.println("Open some documents.");
+ System.out.println("Open some documents.");
for (int i=0; i<countDocs; i++) {
- String fileName = utils.getFullTestURL(testDocuments[i]);
+ String fileName = TestDocument.getUrl(testDocuments[i]);
xTextDoc[i] = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull("Can't load document " + fileName, xTextDoc[i]);
}
}
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all documents.");
for (int i=0; i<countDocs; i++) {
xTextDoc[i].dispose();
}
@@ -78,18 +87,16 @@ public class CheckTransientDocumentsContentProvider extends ComplexTestCase {
* Check the provider of document content: open some documents
* and look if they are accessible.
*/
- public void checkTransientDocumentsContentProvider() {
+ @Test public void checkTransientDocumentsContentProvider() {
try {
// create a content provider
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsContentProvider");
XContentProvider xContentProvider =
- (XContentProvider)UnoRuntime.queryInterface(XContentProvider.class, o);
+ UnoRuntime.queryInterface(XContentProvider.class, o);
// create the ucb
XContentIdentifierFactory xContentIdentifierFactory =
- (XContentIdentifierFactory)UnoRuntime.queryInterface(
- XContentIdentifierFactory.class, xMSF.createInstance(
- "com.sun.star.ucb.UniversalContentBroker"));
+ UnoRuntime.queryInterface(XContentIdentifierFactory.class, xMSF.createInstance("com.sun.star.ucb.UniversalContentBroker"));
// create a content identifier from the ucb for tdoc
XContentIdentifier xContentIdentifier =
xContentIdentifierFactory.createContentIdentifier("vnd.sun.star.tdoc:/");
@@ -97,7 +104,7 @@ public class CheckTransientDocumentsContentProvider extends ComplexTestCase {
XContent xContent = xContentProvider.queryContent(xContentIdentifier);
// actual test: execute an "open" command with the content
- XCommandProcessor xCommandProcessor = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
+ XCommandProcessor xCommandProcessor = UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
// build up the command
Command command = new Command();
OpenCommandArgument2 commandarg2 = new OpenCommandArgument2();
@@ -109,35 +116,59 @@ public class CheckTransientDocumentsContentProvider extends ComplexTestCase {
Object result = xCommandProcessor.execute(command, 0, null);
// check the result
- log.println("Result: "+ result.getClass().toString());
- XDynamicResultSet xDynamicResultSet = (XDynamicResultSet)UnoRuntime.queryInterface(XDynamicResultSet.class, result);
+ System.out.println("Result: "+ result.getClass().toString());
+ XDynamicResultSet xDynamicResultSet = UnoRuntime.queryInterface(XDynamicResultSet.class, result);
// check bug of wrong returned service name.
- XServiceInfo xServiceInfo = (XServiceInfo)UnoRuntime.queryInterface(XServiceInfo.class, xDynamicResultSet);
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface(XServiceInfo.class, xDynamicResultSet);
String[] sNames = xServiceInfo.getSupportedServiceNames();
String serviceName = sNames[0];
if (sNames.length > 1)
- failed("Implementation has been changed. Check this test!");
- assure("The service name '" + serviceName + "' is not valid.", !serviceName.equals("com.sun.star.ucb.DynamicContentResultSet"), true);
+ {
+ fail("Implementation has been changed. Check this test!");
+ }
+ assertTrue("The service name '" + serviceName + "' is not valid.", !serviceName.equals("com.sun.star.ucb.DynamicContentResultSet"));
XResultSet xResultSet = xDynamicResultSet.getStaticResultSet();
- XContentAccess xContentAccess = (XContentAccess)UnoRuntime.queryInterface(XContentAccess.class, xResultSet);
+ XContentAccess xContentAccess = UnoRuntime.queryInterface(XContentAccess.class, xResultSet);
// iterate over the result: three docs were opened, we should have at least three content identifier strings
int countContentIdentifiers = 0;
while(xResultSet.next()) {
countContentIdentifiers++;
String identifier = xContentAccess.queryContentIdentifierString();
- log.println("Identifier of row " + xResultSet.getRow() + ": " + identifier);
+ System.out.println("Identifier of row " + xResultSet.getRow() + ": " + identifier);
}
// some feeble test: if the amount >2, we're ok.
// 2do: check better
- assure("Did only find " + countContentIdentifiers + " open documents." +
+ assertTrue("Did only find " + countContentIdentifiers + " open documents." +
" Should have been at least 3.", countContentIdentifiers>2);
}
catch (com.sun.star.uno.Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Could not create test objects.");
+ e.printStackTrace();
+ fail("Could not create test objects.");
}
}
+
+ private XMultiServiceFactory getMSF()
+ {
+ final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
+ return xMSF1;
+ }
+
+ // setup and close connections
+ @BeforeClass public static void setUpConnection() throws Exception {
+ System.out.println("setUpConnection()");
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ System.out.println("tearDownConnection()");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/ucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java b/ucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java
index 229f5d388697..30411458daee 100755
--- a/ucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java
+++ b/ucb/qa/complex/tdoc/CheckTransientDocumentsDocumentContent.java
@@ -34,49 +34,50 @@ import com.sun.star.embed.XStorage;
import com.sun.star.frame.XModel;
import com.sun.star.frame.XTransientDocumentsDocumentContentFactory;
import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XServiceInfo;
import com.sun.star.sdbc.XResultSet;
import com.sun.star.sdbc.XRow;
import com.sun.star.text.XTextDocument;
import com.sun.star.ucb.Command;
import com.sun.star.ucb.ContentInfo;
-import com.sun.star.ucb.InsertCommandArgument;
import com.sun.star.ucb.OpenCommandArgument2;
import com.sun.star.ucb.OpenMode;
import com.sun.star.ucb.XCommandProcessor;
import com.sun.star.ucb.XContent;
-import com.sun.star.ucb.XContentAccess;
-import com.sun.star.ucb.XContentIdentifier;
-import com.sun.star.ucb.XContentIdentifierFactory;
-import com.sun.star.ucb.XContentProvider;
import com.sun.star.ucb.XDynamicResultSet;
import com.sun.star.uno.UnoRuntime;
-import complexlib.ComplexTestCase;
import util.WriterTools;
import util.utils;
-
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
/**
*
*/
-public class CheckTransientDocumentsDocumentContent extends ComplexTestCase {
+public class CheckTransientDocumentsDocumentContent {
+ // TODO: document doesn't exists
private final String testDocuments = "sForm.sxw";
private final String folderName = "TestFolder";
private XMultiServiceFactory xMSF = null;
private XTextDocument xTextDoc = null;
- public String[] getTestMethodNames() {
- return new String[]{"checkTransientDocumentsDocumentContent"};
- }
+// public String[] getTestMethodNames() {
+// return new String[]{"checkTransientDocumentsDocumentContent"};
+// }
- public void before() {
- xMSF = (XMultiServiceFactory)param.getMSF();
- log.println("Open a document.");
- String fileName = utils.getFullTestURL(testDocuments);
+ @Before public void before() {
+ xMSF = getMSF();
+ System.out.println("Open a document.");
+ String fileName = TestDocument.getUrl(testDocuments);
xTextDoc = WriterTools.loadTextDoc(xMSF, fileName);
+ assertNotNull(xTextDoc);
}
- public void after() {
- log.println("Close all documents.");
+ @After public void after() {
+ System.out.println("Close all documents.");
xTextDoc.dispose();
}
@@ -84,30 +85,28 @@ public class CheckTransientDocumentsDocumentContent extends ComplexTestCase {
* Check the provider of document content: open some documents
* and look if they are accessible.
*/
- public void checkTransientDocumentsDocumentContent() {
+ @Test public void checkTransientDocumentsDocumentContent() {
try {
// create a content provider
Object o = xMSF.createInstance("com.sun.star.comp.ucb.TransientDocumentsDocumentContentFactory");
XTransientDocumentsDocumentContentFactory xTransientDocumentsDocumentContentFactory =
- (XTransientDocumentsDocumentContentFactory)UnoRuntime.queryInterface(
- XTransientDocumentsDocumentContentFactory.class, o);
+ UnoRuntime.queryInterface(XTransientDocumentsDocumentContentFactory.class, o);
// get the model from the opened document
XModel xModel = xTextDoc.getCurrentController().getModel();
// a little additional check for 114733
- XDocumentSubStorageSupplier xDocumentSubStorageSupplier = (XDocumentSubStorageSupplier)
- UnoRuntime.queryInterface(XDocumentSubStorageSupplier.class, xModel);
+ XDocumentSubStorageSupplier xDocumentSubStorageSupplier = UnoRuntime.queryInterface(XDocumentSubStorageSupplier.class, xModel);
String[]names = xDocumentSubStorageSupplier.getDocumentSubStoragesNames();
for (int i=0; i<names.length; i++) {
- log.println("SubStorage names " + i + ": " +names[i]);
+ System.out.println("SubStorage names " + i + ": " +names[i]);
}
XStorage xStorage = xDocumentSubStorageSupplier.getDocumentSubStorage(names[0], ElementModes.READWRITE);
- assure("Could not get a storage from the XDocumentStorageSupplier.", xStorage != null);
+ assertTrue("Could not get a storage from the XDocumentStorageSupplier.", xStorage != null);
// get content
XContent xContent = xTransientDocumentsDocumentContentFactory.createDocumentContent(xModel);
// actual test: execute some commands
- XCommandProcessor xCommandProcessor = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
+ XCommandProcessor xCommandProcessor = UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
// create the command and arguments
Command command = new Command();
@@ -123,19 +122,19 @@ public class CheckTransientDocumentsDocumentContent extends ComplexTestCase {
command.Argument = cmargs2;
Object result = xCommandProcessor.execute(command, 0, null);
- XDynamicResultSet xDynamicResultSet = (XDynamicResultSet)UnoRuntime.queryInterface(XDynamicResultSet.class, result);
+ XDynamicResultSet xDynamicResultSet = UnoRuntime.queryInterface(XDynamicResultSet.class, result);
XResultSet xResultSet = xDynamicResultSet.getStaticResultSet();
- XRow xRow = (XRow)UnoRuntime.queryInterface(XRow.class, xResultSet);
+ XRow xRow = UnoRuntime.queryInterface(XRow.class, xResultSet);
// create the new folder 'folderName': first, check if it's already there
while(xResultSet.next()) {
String existingFolderName = xRow.getString(1);
- log.println("Found existing folder: '" + existingFolderName + "'");
+ System.out.println("Found existing folder: '" + existingFolderName + "'");
if (folderName.equals(existingFolderName)) {
- failed("Cannot create a new folder: folder already exists: adapt test or choose a different document.");
+ fail("Cannot create a new folder: folder already exists: adapt test or choose a different document.");
}
}
// create a folder
- log.println("Create new folder "+ folderName);
+ System.out.println("Create new folder "+ folderName);
ContentInfo contentInfo = new ContentInfo();
contentInfo.Type = "application/vnd.sun.star.tdoc-folder";
@@ -143,10 +142,10 @@ public class CheckTransientDocumentsDocumentContent extends ComplexTestCase {
command.Argument = contentInfo;
result = xCommandProcessor.execute(command, 0, null);
- XContent xNewFolder = (XContent)UnoRuntime.queryInterface(XContent.class, result);
+ XContent xNewFolder = UnoRuntime.queryInterface(XContent.class, result);
- XCommandProcessor xFolderCommandProcessor = (XCommandProcessor)UnoRuntime.queryInterface(XCommandProcessor.class, xNewFolder);
- log.println("Got the new folder: " + utils.getImplName(xNewFolder));
+ XCommandProcessor xFolderCommandProcessor = UnoRuntime.queryInterface(XCommandProcessor.class, xNewFolder);
+ System.out.println("Got the new folder: " + utils.getImplName(xNewFolder));
// name the new folder
PropertyValue[] titleProp = new PropertyValue[1];
@@ -170,10 +169,33 @@ public class CheckTransientDocumentsDocumentContent extends ComplexTestCase {
xFolderCommandProcessor.execute(commitCommand, 0, null); */
}
catch (com.sun.star.uno.Exception e) {
- e.printStackTrace((java.io.PrintWriter)log);
- failed("Could not create test objects.");
+ e.printStackTrace();
+ fail("Could not create test objects.");
}
}
+
+ private XMultiServiceFactory getMSF()
+ {
+ final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
+ return xMSF1;
+ }
+
+ // setup and close connections
+ @BeforeClass public static void setUpConnection() throws Exception {
+ System.out.println("setUpConnection()");
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ System.out.println("tearDownConnection()");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
+
}
diff --git a/ucb/qa/complex/tdoc/TestDocument.java b/ucb/qa/complex/tdoc/TestDocument.java
new file mode 100644
index 000000000000..875b75ccb0d0
--- /dev/null
+++ b/ucb/qa/complex/tdoc/TestDocument.java
@@ -0,0 +1,39 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+package complex.tdoc;
+
+import java.io.File;
+import org.openoffice.test.OfficeFileUrl;
+
+final class TestDocument {
+ public static String getUrl(String name) {
+ return OfficeFileUrl.getAbsolute(new File("test_documents", name));
+ }
+
+ private TestDocument() {}
+}
diff --git a/ucb/qa/complex/tdoc/interfaces/_XChild.java b/ucb/qa/complex/tdoc/_XChild.java
index 351fc6f84aa1..4ed71e62008a 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XChild.java
+++ b/ucb/qa/complex/tdoc/_XChild.java
@@ -25,7 +25,7 @@
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import lib.MultiMethodTest;
import lib.Status;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XCommandInfoChangeNotifier.java b/ucb/qa/complex/tdoc/_XCommandInfoChangeNotifier.java
index 9800c5c0a398..ab32873e9ffb 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XCommandInfoChangeNotifier.java
+++ b/ucb/qa/complex/tdoc/_XCommandInfoChangeNotifier.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.ucb.XCommandInfoChangeListener;
import com.sun.star.ucb.XCommandInfoChangeNotifier;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XCommandProcessor.java b/ucb/qa/complex/tdoc/_XCommandProcessor.java
index 2fc31a4bd586..92411d05456f 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XCommandProcessor.java
+++ b/ucb/qa/complex/tdoc/_XCommandProcessor.java
@@ -25,7 +25,7 @@
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.beans.Property;
import com.sun.star.beans.XPropertySetInfo;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XComponent.java b/ucb/qa/complex/tdoc/_XComponent.java
index 1716e51d1358..16d5c9bebeea 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XComponent.java
+++ b/ucb/qa/complex/tdoc/_XComponent.java
@@ -25,7 +25,7 @@
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.container.XNameContainer;
import lib.MultiMethodTest;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XContent.java b/ucb/qa/complex/tdoc/_XContent.java
index 4c84ecc1d8df..820d2cef0fc7 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XContent.java
+++ b/ucb/qa/complex/tdoc/_XContent.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.ucb.XContent;
import com.sun.star.ucb.XContentEventListener;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XPropertiesChangeNotifier.java b/ucb/qa/complex/tdoc/_XPropertiesChangeNotifier.java
index 790f295c7be5..88e080cd9ec2 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XPropertiesChangeNotifier.java
+++ b/ucb/qa/complex/tdoc/_XPropertiesChangeNotifier.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.beans.XPropertiesChangeListener;
import com.sun.star.beans.XPropertiesChangeNotifier;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XPropertyContainer.java b/ucb/qa/complex/tdoc/_XPropertyContainer.java
index fd7ff94c8f8f..e425a703d403 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XPropertyContainer.java
+++ b/ucb/qa/complex/tdoc/_XPropertyContainer.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.beans.XPropertyContainer;
import share.LogWriter;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XPropertySetInfoChangeNotifier.java b/ucb/qa/complex/tdoc/_XPropertySetInfoChangeNotifier.java
index ec1d7d64ada5..4671a0d21571 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XPropertySetInfoChangeNotifier.java
+++ b/ucb/qa/complex/tdoc/_XPropertySetInfoChangeNotifier.java
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import com.sun.star.beans.XPropertySetInfoChangeListener;
import com.sun.star.beans.XPropertySetInfoChangeNotifier;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XServiceInfo.java b/ucb/qa/complex/tdoc/_XServiceInfo.java
index 761cca87998a..9c2089f212f9 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XServiceInfo.java
+++ b/ucb/qa/complex/tdoc/_XServiceInfo.java
@@ -25,7 +25,7 @@
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import lib.MultiMethodTest;
diff --git a/ucb/qa/complex/tdoc/interfaces/_XTypeProvider.java b/ucb/qa/complex/tdoc/_XTypeProvider.java
index aef931bdeef1..f8247e7016fe 100755
--- a/ucb/qa/complex/tdoc/interfaces/_XTypeProvider.java
+++ b/ucb/qa/complex/tdoc/_XTypeProvider.java
@@ -25,7 +25,7 @@
*
************************************************************************/
-package complex.tdoc.interfaces;
+package complex.tdoc;
import lib.MultiMethodTest;
diff --git a/ucb/qa/complex/tdoc/interfaces/makefile.mk b/ucb/qa/complex/tdoc/interfaces/makefile.mk
index 3a57d1501ca4..5399383f19e6 100755
--- a/ucb/qa/complex/tdoc/interfaces/makefile.mk
+++ b/ucb/qa/complex/tdoc/interfaces/makefile.mk
@@ -25,10 +25,10 @@
#
#*************************************************************************
-PRJ = ..$/..$/..$/..
+PRJ = ../../../..
TARGET = TransientDocument
PRJNAME = $(TARGET)
-PACKAGE = complex$/tdoc$/interfaces
+PACKAGE = complex/tdoc/interfaces
# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk
diff --git a/ucb/qa/complex/tdoc/makefile.mk b/ucb/qa/complex/tdoc/makefile.mk
index 175184de0f27..01f8ec0f76fa 100755
--- a/ucb/qa/complex/tdoc/makefile.mk
+++ b/ucb/qa/complex/tdoc/makefile.mk
@@ -25,62 +25,49 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = TransientDocument
-PRJNAME = $(TARGET)
-PACKAGE = complex.tdoc
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = CheckContentProvider.java \
- CheckTransientDocumentsContent.java \
- CheckTransientDocumentsContentProvider.java \
- CheckTransientDocumentsDocumentContent.java
-
-# CheckSimpleFileAccess.java \
-#----- make a jar from compiled files ------------------------------
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-MAXLINELENGTH = 100000
+PRJ = ../../..
+PRJNAME = sc
+TARGET = qa_complex_tdoc
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/tdoc
-# --- Parameters for the test --------------------------------------
+JAVATESTFILES = \
+ CheckContentProvider.java \
+ CheckTransientDocumentsContent.java \
+ CheckTransientDocumentsContentProvider.java \
+ CheckTransientDocumentsDocumentContent.java
-# start an office if the parameter is set for the makefile
-.IF "$(OFFICE)" == ""
-CT_APPEXECCOMMAND =
-.ELSE
-CT_APPEXECCOMMAND = -AppExecutionCommand \
- "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-.ENDIF
+JAVAFILES = $(JAVATESTFILES) \
+ TestDocument.java \
+ _XChild.java \
+ _XCommandInfoChangeNotifier.java \
+ _XCommandProcessor.java \
+ _XComponent.java \
+ _XContent.java \
+ _XPropertiesChangeNotifier.java \
+ _XPropertyContainer.java \
+ _XPropertySetInfoChangeNotifier.java \
+ _XServiceInfo.java \
+ _XTypeProvider.java
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# replace $/ with . in package name
-CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
-# start the runner application
-CT_APP = org.openoffice.Runner
+.END
-# test document path
-CT_TESTDOCS = -tdoc $(PWD)$/..$/test_documents
-
-# --- Targets ------------------------------------------------------
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-run: ALLTAR
- @echo .
- @echo "The followig tests are available:"
- @echo $(foreach,i,$(JAVAFILES) "dmake $(i:b) ")
+ALLTAR : javatest
-.INCLUDE : target.mk
+.END
-Check%:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_TESTDOCS) $(CT_APPEXECCOMMAND) $(CT_PACKAGE).$@
diff --git a/ucb/qa/complex/test_documents/Iterator.sxw b/ucb/qa/complex/tdoc/test_documents/Iterator.sxw
index 9a7f8961bb47..9a7f8961bb47 100644
--- a/ucb/qa/complex/test_documents/Iterator.sxw
+++ b/ucb/qa/complex/tdoc/test_documents/Iterator.sxw
Binary files differ
diff --git a/ucb/qa/complex/test_documents/chinese.sxw b/ucb/qa/complex/tdoc/test_documents/chinese.sxw
index 53b242a292c3..53b242a292c3 100644
--- a/ucb/qa/complex/test_documents/chinese.sxw
+++ b/ucb/qa/complex/tdoc/test_documents/chinese.sxw
Binary files differ
diff --git a/ucb/qa/complex/test_documents/filter.sxw b/ucb/qa/complex/tdoc/test_documents/filter.sxw
index e4b077c65f11..e4b077c65f11 100644
--- a/ucb/qa/complex/test_documents/filter.sxw
+++ b/ucb/qa/complex/tdoc/test_documents/filter.sxw
Binary files differ
diff --git a/ucb/qa/complex/ucb/UCB.java b/ucb/qa/complex/ucb/UCB.java
index f7b1d2a8e918..445525927703 100755
--- a/ucb/qa/complex/ucb/UCB.java
+++ b/ucb/qa/complex/ucb/UCB.java
@@ -34,7 +34,6 @@ package complex.ucb;
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
*/
-import complexlib.ComplexTestCase;
import java.util.List;
import java.util.Vector;
@@ -42,13 +41,22 @@ import com.sun.star.beans.Property;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.sdbc.XResultSet;
import com.sun.star.sdbc.XRow;
-import com.sun.star.uno.XComponentContext;
+// import com.sun.star.uno.XComponentContext;
import com.sun.star.ucb.*;
-import com.sun.star.bridge.XUnoUrlResolver;
+// import com.sun.star.bridge.XUnoUrlResolver;
import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XComponentContext;
-import com.sun.star.lang.XMultiComponentFactory;
-import com.sun.star.beans.XPropertySet;
+// import com.sun.star.uno.XComponentContext;
+// import com.sun.star.lang.XMultiComponentFactory;
+// import com.sun.star.beans.XPropertySet;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openoffice.test.OfficeConnection;
+import static org.junit.Assert.*;
+
/**
* @author rpiterman
* This class is used to copy the content of a folder to
@@ -56,12 +64,12 @@ import com.sun.star.beans.XPropertySet;
* There is an incosistency with argument order.
* It should be always: dir,filename.
*/
-public class UCB extends ComplexTestCase {
+public class UCB {
private Object ucb;
- public String[] getTestMethodNames() {
- return new String[] {"checkWrongFtpConnection"};
- }
+// public String[] getTestMethodNames() {
+// return new String[] {"checkWrongFtpConnection"};
+// }
public void init(XMultiServiceFactory xmsf) throws Exception {
String[] keys = new String[2];
@@ -79,11 +87,13 @@ public class UCB extends ComplexTestCase {
/**
* target name can be "", in which case the name stays lige the source name
- * @param sourceDir
- * @param filename
- * @param targetDir
- * @param targetName
- * @return
+
+ * @param xContent
+ * @param aCommandName
+ * @param aArgument
+ * @return
+ * @throws com.sun.star.ucb.CommandAbortedException
+ * @throws com.sun.star.uno.Exception
*/
public Object executeCommand(
@@ -92,9 +102,7 @@ public class UCB extends ComplexTestCase {
Object aArgument)
throws com.sun.star.ucb.CommandAbortedException, com.sun.star.uno.Exception {
XCommandProcessor xCmdProcessor =
- (XCommandProcessor) UnoRuntime.queryInterface(
- XCommandProcessor.class,
- xContent);
+ UnoRuntime.queryInterface(XCommandProcessor.class, xContent);
Command aCommand = new Command();
aCommand.Name = aCommandName;
aCommand.Handle = -1; // not available
@@ -118,39 +126,44 @@ public class UCB extends ComplexTestCase {
XDynamicResultSet xSet;
xSet =
- (XDynamicResultSet) UnoRuntime.queryInterface(
- XDynamicResultSet.class,
- executeCommand(xContent, "open", aArg));
+ UnoRuntime.queryInterface(XDynamicResultSet.class, executeCommand(xContent, "open", aArg));
XResultSet xResultSet = xSet.getStaticResultSet();
List files = new Vector();
- if (xResultSet.first()) {
+ if (xResultSet.first())
+ {
// obtain XContentAccess interface for child content access and XRow for properties
- XContentAccess xContentAccess =
- (XContentAccess) UnoRuntime.queryInterface(
- XContentAccess.class,
- xResultSet);
- XRow xRow =
- (XRow) UnoRuntime.queryInterface(XRow.class, xResultSet);
- do {
+ XContentAccess xContentAccess = UnoRuntime.queryInterface(XContentAccess.class, xResultSet);
+ XRow xRow = UnoRuntime.queryInterface(XRow.class, xResultSet);
+ do
+ {
// Obtain URL of child.
String aId = xContentAccess.queryContentIdentifierString();
// First column: Title (column numbers are 1-based!)
String aTitle = xRow.getString(1);
- if (aTitle.length() == 0 && xRow.wasNull());
- //ignore
+ if (aTitle.length() == 0 && xRow.wasNull())
+ {
+ //ignore
+ }
else
- files.add(aTitle);
+ {
+ files.add(aTitle);
+ }
} while (xResultSet.next()); // next child
}
if (verifier != null)
- for (int i = 0; i < files.size(); i++)
- if (!verifier.verify(files.get(i)))
- files.remove(i--);
-
+ {
+ for (int i = 0; i < files.size(); i++)
+ {
+ if (!verifier.verify(files.get(i)))
+ {
+ files.remove(i--);
+ }
+ }
+ }
return files;
}
@@ -165,45 +178,46 @@ public class UCB extends ComplexTestCase {
pv[0].Handle = -1;
Object row = executeCommand(content, "getPropertyValues", pv);
- XRow xrow = (XRow) UnoRuntime.queryInterface(XRow.class, row);
+ XRow xrow = UnoRuntime.queryInterface(XRow.class, row);
if (type.equals(String.class))
- return xrow.getString(1);
+ {
+ return xrow.getString(1);
+ }
else if (type.equals(Boolean.class))
- return xrow.getBoolean(1) ? Boolean.TRUE : Boolean.FALSE;
+ {
+ return xrow.getBoolean(1) ? Boolean.TRUE : Boolean.FALSE;
+ }
else if (type.equals(Integer.class))
- return new Integer(xrow.getInt(1));
+ {
+ return new Integer(xrow.getInt(1));
+ }
else if (type.equals(Short.class))
- return new Short(xrow.getShort(1));
+ {
+ return new Short(xrow.getShort(1));
+ }
else
- return null;
+ {
+ return null;
+ }
}
- public Object getContent(String path) throws Exception {
- XContentIdentifier id =
- (
- (XContentIdentifierFactory) UnoRuntime.queryInterface(
- XContentIdentifierFactory.class,
- ucb)).createContentIdentifier(
- path);
-
- return (
- (XContentProvider) UnoRuntime.queryInterface(
- XContentProvider.class,
- ucb)).queryContent(
- id);
+ public Object getContent(String path) throws Exception
+ {
+ XContentIdentifier id = (UnoRuntime.queryInterface(XContentIdentifierFactory.class, ucb)).createContentIdentifier(path);
+ return (UnoRuntime.queryInterface(XContentProvider.class, ucb)).queryContent(id);
}
public static interface Verifier {
public boolean verify(Object object);
}
- public void checkWrongFtpConnection() {
+ @Test public void checkWrongFtpConnection() {
//localhost ;Lo-1.Germany.sun.com; 10.16.65.155
try {
- XMultiServiceFactory xLocMSF = (XMultiServiceFactory)param.getMSF();
+ XMultiServiceFactory xLocMSF = getMSF();
String acountUrl = "ftp://noname:nopasswd@nohost";
- log.println(acountUrl);
+ System.out.println(acountUrl);
init(xLocMSF);
Object content = getContent(acountUrl);
@@ -211,22 +225,45 @@ public class UCB extends ComplexTestCase {
aArg.Mode = OpenMode.ALL; // FOLDER, DOCUMENTS -> simple filter
aArg.Priority = 32768; // Ignored by most implementations
- log.println("now executing open");
+ System.out.println("now executing open");
executeCommand(content, "open", aArg);
- failed("Expected 'IllegalArgumentException' was not thrown.");
+ fail("Expected 'IllegalArgumentException' was not thrown.");
} catch (com.sun.star.lang.IllegalArgumentException ex) {
//TODO error message;
- log.println("Correct exception thrown: " + ex.getClass().toString());
- } catch(com.sun.star.ucb.InteractiveNetworkResolveNameException ex) {
- log.println("This Exception is correctly thrown when no Proxy in StarOffice is used.");
- log.println("To reproduce the bug behaviour, use a Proxy and try again.");
+ System.out.println("Correct exception thrown: " + ex.getClass().toString());
+ } catch(com.sun.star.ucb.InteractiveNetworkException ex) {
+ System.out.println("This Exception is correctly thrown when no Proxy in StarOffice is used.");
+ System.out.println("To reproduce the bug behaviour, use a Proxy and try again.");
} catch (Exception ex) {
- ex.printStackTrace((java.io.PrintWriter)log);
+ ex.printStackTrace();
String exceptionName = ex.toString();
- log.println("ExName: '"+exceptionName+"'");
- failed("Wrong exception thrown: " + exceptionName);
+ System.out.println("ExName: '"+exceptionName+"'");
+ fail("Wrong exception thrown: " + exceptionName);
}
// System.exit(0);
}
+
+
+ private XMultiServiceFactory getMSF()
+ {
+ final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
+ return xMSF1;
+ }
+
+ // setup and close connections
+ @BeforeClass public static void setUpConnection() throws Exception {
+ System.out.println("setUpConnection()");
+ connection.setUp();
+ }
+
+ @AfterClass public static void tearDownConnection()
+ throws InterruptedException, com.sun.star.uno.Exception
+ {
+ System.out.println("tearDownConnection()");
+ connection.tearDown();
+ }
+
+ private static final OfficeConnection connection = new OfficeConnection();
+
}
diff --git a/ucb/qa/complex/ucb/makefile.mk b/ucb/qa/complex/ucb/makefile.mk
index 4664bd3cfae7..4ac3928c9e5e 100755
--- a/ucb/qa/complex/ucb/makefile.mk
+++ b/ucb/qa/complex/ucb/makefile.mk
@@ -25,54 +25,38 @@
#
#*************************************************************************
-PRJ = ..$/..$/..
-TARGET = UCB
-PRJNAME = $(TARGET)
-PACKAGE = complex$/ucb
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = UCB.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
-#----- make a jar from compiled files ------------------------------
+PRJ = ../../..
+PRJNAME = UCB
+TARGET = qa_complex_ucb
-MAXLINELENGTH = 100000
+.IF "$(OOO_JUNIT_JAR)" != ""
+PACKAGE = complex/ucb
+JAVATESTFILES = \
+ UCB.java
-JARCLASSDIRS = $(PACKAGE)
-JARTARGET = $(TARGET).jar
-JARCOMPRESS = TRUE
+JAVAFILES = $(JAVATESTFILES)
-# --- Parameters for the test --------------------------------------
+JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar jurt.jar
+EXTRAJARFILES = $(OOO_JUNIT_JAR)
-# start an office if the parameter is set for the makefile
-.IF "$(OFFICE)" == ""
-CT_APPEXECCOMMAND =
-.ELSE
-CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-.ENDIF
+# Sample how to debug
+# JAVAIFLAGS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9003,suspend=y
+.END
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+.INCLUDE: installationtest.mk
-# test looks something like the.full.package.TestName
-CT_TEST = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)
+ALLTAR : javatest
-# start the runner application
-CT_APP = org.openoffice.Runner
+.END
-# --- Targets ------------------------------------------------------
-.INCLUDE : target.mk
-RUN:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
-run: RUN
diff --git a/ucb/source/cacher/cached1.component b/ucb/source/cacher/cached1.component
new file mode 100644
index 000000000000..aa19e54b5da3
--- /dev/null
+++ b/ucb/source/cacher/cached1.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.CachedContentResultSetFactory">
+ <service name="com.sun.star.ucb.CachedContentResultSetFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedContentResultSetStubFactory">
+ <service name="com.sun.star.ucb.CachedContentResultSetStubFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedDynamicResultSetFactory">
+ <service name="com.sun.star.ucb.CachedDynamicResultSetFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory">
+ <service name="com.sun.star.ucb.CachedDynamicResultSetStubFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/cacher/cacheserv.cxx b/ucb/source/cacher/cacheserv.cxx
index 3aa0f1de5357..f429286cfdee 100644
--- a/ucb/source/cacher/cacheserv.cxx
+++ b/ucb/source/cacher/cacheserv.cxx
@@ -41,45 +41,6 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::registry;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** )
{
@@ -87,44 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedContentResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedContentResultSetFactory::getImplementationName_Static(),
- CachedContentResultSetFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedContentResultSetStubFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedContentResultSetStubFactory::getImplementationName_Static(),
- CachedContentResultSetStubFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedDynamicResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedDynamicResultSetFactory::getImplementationName_Static(),
- CachedDynamicResultSetFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // CachedDynamicResultSetStubFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- CachedDynamicResultSetStubFactory::getImplementationName_Static(),
- CachedDynamicResultSetStubFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/cacher/makefile.mk b/ucb/source/cacher/makefile.mk
index 600fefc174f7..24d245ec6ce8 100644
--- a/ucb/source/cacher/makefile.mk
+++ b/ucb/source/cacher/makefile.mk
@@ -66,3 +66,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/cached1.component
+
+$(MISC)/cached1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ cached1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt cached1.component
diff --git a/ucb/source/core/cmdenv.cxx b/ucb/source/core/cmdenv.cxx
index 0f425e814400..5c0136fab063 100644..100755
--- a/ucb/source/core/cmdenv.cxx
+++ b/ucb/source/core/cmdenv.cxx
@@ -183,7 +183,7 @@ UcbCommandEnvironment::createServiceFactory(
const uno::Reference< lang::XMultiServiceFactory >& rxServiceMgr )
{
return uno::Reference< lang::XSingleServiceFactory >(
- cppu::createOneInstanceFactory(
+ cppu::createSingleFactory(
rxServiceMgr,
UcbCommandEnvironment::getImplementationName_Static(),
UcbCommandEnvironment_CreateInstance,
diff --git a/ucb/source/core/exports2.dxp b/ucb/source/core/exports2.dxp
index a1936474f752..8091459f4d84 100644
--- a/ucb/source/core/exports2.dxp
+++ b/ucb/source/core/exports2.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
_ZTIN3com3sun4star3ucb34InteractiveBadTransferURLExceptionE
diff --git a/ucb/source/core/makefile.mk b/ucb/source/core/makefile.mk
index 34765eb74289..6360f82320d2 100644
--- a/ucb/source/core/makefile.mk
+++ b/ucb/source/core/makefile.mk
@@ -74,3 +74,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucb1.component
+
+$(MISC)/ucb1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucb1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucb1.component
diff --git a/ucb/source/core/ucb.cxx b/ucb/source/core/ucb.cxx
index c13ec9d367c8..30f7e32f3828 100644
--- a/ucb/source/core/ucb.cxx
+++ b/ucb/source/core/ucb.cxx
@@ -43,6 +43,7 @@
#include <com/sun/star/ucb/XParameterizedContentProvider.hpp>
#include <com/sun/star/ucb/XContentProviderFactory.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/uno/Any.hxx>
#include <ucbhelper/cancelcommandexecution.hxx>
@@ -182,6 +183,63 @@ void makeAndAppendXMLName(
}
}
+bool createContentProviderData(
+ const rtl::OUString & rProvider,
+ const uno::Reference< container::XHierarchicalNameAccess >& rxHierNameAccess,
+ ContentProviderData & rInfo)
+{
+ // Obtain service name.
+ rtl::OUStringBuffer aKeyBuffer (rProvider);
+ aKeyBuffer.appendAscii( "/ServiceName" );
+
+ rtl::OUString aValue;
+ try
+ {
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+ }
+ catch (container::NoSuchElementException &)
+ {
+ return false;
+ }
+
+ rInfo.ServiceName = aValue;
+
+ // Obtain URL Template.
+ aKeyBuffer.append(rProvider);
+ aKeyBuffer.appendAscii( "/URLTemplate" );
+
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+
+ rInfo.URLTemplate = aValue;
+
+ // Obtain Arguments.
+ aKeyBuffer.append(rProvider);
+ aKeyBuffer.appendAscii( "/Arguments" );
+
+ if ( !( rxHierNameAccess->getByHierarchicalName(
+ aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
+ {
+ OSL_ENSURE( false,
+ "UniversalContentBroker::getContentProviderData - "
+ "Error getting item value!" );
+ }
+
+ rInfo.Arguments = aValue;
+ return true;
+}
+
}
//=========================================================================
@@ -647,28 +705,10 @@ void SAL_CALL UniversalContentBroker::changesOccurred( const util::ChangesEvent&
sal_Int32 nCount = Event.Changes.getLength();
if ( nCount )
{
+ uno::Reference< container::XHierarchicalNameAccess > xHierNameAccess;
+ Event.Base >>= xHierNameAccess;
- uno::Reference< lang::XMultiServiceFactory > xConfigProv(
- m_xSMgr->createInstance(
- rtl::OUString::createFromAscii(
- "com.sun.star.configuration.ConfigurationProvider" ) ),
- uno::UNO_QUERY_THROW );
-
- uno::Sequence< uno::Any > aArguments( 1 );
- beans::PropertyValue aProperty;
- aProperty.Name
- = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nodepath" ) );
- aProperty.Value <<= Event.Base;
- aArguments[ 0 ] <<= aProperty;
-
- uno::Reference< uno::XInterface > xInterface(
- xConfigProv->createInstanceWithArguments(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.ConfigurationAccess" ) ),
- aArguments ) );
-
- uno::Reference< container::XHierarchicalNameAccess >
- xHierNameAccess( xInterface, uno::UNO_QUERY_THROW );
+ OSL_ASSERT( xHierNameAccess.is() );
const util::ElementChange* pElementChanges
= Event.Changes.getConstArray();
@@ -682,9 +722,18 @@ void SAL_CALL UniversalContentBroker::changesOccurred( const util::ChangesEvent&
ContentProviderData aInfo;
- createContentProviderData(aKey, xHierNameAccess, aInfo);
-
- aData.push_back(aInfo);
+ // Removal of UCPs from the configuration leads to changesOccurred
+ // notifications, too, but it is hard to tell for a given
+ // ElementChange whether it is an addition or a removal, so as a
+ // heuristic consider as removals those that cause a
+ // NoSuchElementException in createContentProviderData.
+ //
+ // For now, removal of UCPs from the configuration is simply ignored
+ // (and not reflected in the UCB's data structures):
+ if (createContentProviderData(aKey, xHierNameAccess, aInfo))
+ {
+ aData.push_back(aInfo);
+ }
}
prepareAndRegister(aData);
@@ -852,7 +901,10 @@ bool UniversalContentBroker::getContentProviderData(
makeAndAppendXMLName( aElemBuffer, pElems[ n ] );
aElemBuffer.appendAscii( "']" );
- createContentProviderData(aElemBuffer.makeStringAndClear(), xHierNameAccess, aInfo);
+ OSL_VERIFY(
+ createContentProviderData(
+ aElemBuffer.makeStringAndClear(), xHierNameAccess,
+ aInfo));
rListToFill.push_back( aInfo );
}
@@ -884,55 +936,6 @@ bool UniversalContentBroker::getContentProviderData(
return true;
}
-void UniversalContentBroker::createContentProviderData(
- const rtl::OUString & rProvider,
- const uno::Reference< container::XHierarchicalNameAccess >& rxHierNameAccess,
- ContentProviderData & rInfo)
-{
- // Obtain service name.
- rtl::OUStringBuffer aKeyBuffer (rProvider);
- aKeyBuffer.appendAscii( "/ServiceName" );
-
- rtl::OUString aValue;
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.ServiceName = aValue;
-
- // Obtain URL Template.
- aKeyBuffer.append(rProvider);
- aKeyBuffer.appendAscii( "/URLTemplate" );
-
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.URLTemplate = aValue;
-
- // Obtain Arguments.
- aKeyBuffer.append(rProvider);
- aKeyBuffer.appendAscii( "/Arguments" );
-
- if ( !( rxHierNameAccess->getByHierarchicalName(
- aKeyBuffer.makeStringAndClear() ) >>= aValue ) )
- {
- OSL_ENSURE( false,
- "UniversalContentBroker::getContentProviderData - "
- "Error getting item value!" );
- }
-
- rInfo.Arguments = aValue;
-}
-
//=========================================================================
//
// ProviderListEntry_Impl implementation.
diff --git a/ucb/source/core/ucb.hxx b/ucb/source/core/ucb.hxx
index 0e44c5bc99b5..d2f6e4e4c41e 100644
--- a/ucb/source/core/ucb.hxx
+++ b/ucb/source/core/ucb.hxx
@@ -40,7 +40,6 @@
#include <com/sun/star/util/XChangesListener.hpp>
#include <com/sun/star/util/XChangesNotifier.hpp>
#include <com/sun/star/container/XContainer.hpp>
-#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <rtl/ustrbuf.hxx>
#include <cppuhelper/weak.hxx>
@@ -204,11 +203,6 @@ private:
void prepareAndRegister( const ucbhelper::ContentProviderDataList& rData);
- void createContentProviderData(
- const rtl::OUString& rProvider,
- const com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >& rxHierNameAccess,
- ucbhelper::ContentProviderData& rInfo);
-
com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory > m_xSMgr;
diff --git a/ucb/source/core/ucb1.component b/ucb/source/core/ucb1.component
new file mode 100644
index 000000000000..e9d408822cc9
--- /dev/null
+++ b/ucb/source/core/ucb1.component
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.CommandEnvironment">
+ <service name="com.sun.star.ucb.CommandEnvironment"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbContentProviderProxyFactory">
+ <service name="com.sun.star.ucb.ContentProviderProxyFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbPropertiesManager">
+ <service name="com.sun.star.ucb.PropertiesManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UcbStore">
+ <service name="com.sun.star.ucb.Store"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.UniversalContentBroker">
+ <service name="com.sun.star.ucb.UniversalContentBroker"/>
+ </implementation>
+</component>
diff --git a/ucb/source/core/ucbserv.cxx b/ucb/source/core/ucbserv.cxx
index 340fa5db0c0f..a4e5bdc1dccf 100644
--- a/ucb/source/core/ucbserv.cxx
+++ b/ucb/source/core/ucbserv.cxx
@@ -29,7 +29,6 @@
#include "precompiled_ucb.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include "ucb.hxx"
#include "ucbstore.hxx"
#include "ucbprops.hxx"
@@ -39,46 +38,6 @@
using namespace rtl;
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
@@ -88,52 +47,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Universal Content Broker.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UniversalContentBroker::getImplementationName_Static(),
- UniversalContentBroker::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCB Store.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbStore::getImplementationName_Static(),
- UcbStore::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCB PropertiesManager.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbPropertiesManager::getImplementationName_Static(),
- UcbPropertiesManager::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // UCP Proxy Factory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- UcbContentProviderProxyFactory::getImplementationName_Static(),
- UcbContentProviderProxyFactory::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Command Environment.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ucb_cmdenv::UcbCommandEnvironment::getImplementationName_Static(),
- ucb_cmdenv::UcbCommandEnvironment::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/core/ucbstore.cxx b/ucb/source/core/ucbstore.cxx
index 9500db4f45b6..cd5cb7856d7a 100644
--- a/ucb/source/core/ucbstore.cxx
+++ b/ucb/source/core/ucbstore.cxx
@@ -274,8 +274,9 @@ UcbStore::createPropertySetRegistry( const OUString& )
{
osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
if ( !m_pImpl->m_xTheRegistry.is() )
- m_pImpl->m_xTheRegistry = new PropertySetRegistry( m_xSMgr, *this );
+ m_pImpl->m_xTheRegistry = new PropertySetRegistry( m_xSMgr, getInitArgs() );
}
+
return m_pImpl->m_xTheRegistry;
}
@@ -294,22 +295,6 @@ void SAL_CALL UcbStore::initialize( const Sequence< Any >& aArguments )
}
//=========================================================================
-//
-// New methods.
-//
-//=========================================================================
-
-void UcbStore::removeRegistry()
-{
- if ( m_pImpl->m_xTheRegistry.is() )
- {
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
- if ( m_pImpl->m_xTheRegistry.is() )
- m_pImpl->m_xTheRegistry = 0;
- }
-}
-
-//=========================================================================
const Sequence< Any >& UcbStore::getInitArgs() const
{
return m_pImpl->m_aInitArgs;
@@ -323,7 +308,7 @@ const Sequence< Any >& UcbStore::getInitArgs() const
struct PropertySetRegistry_Impl
{
- UcbStore* m_pCreator;
+ const Sequence< Any > m_aInitArgs;
PropertySetMap_Impl m_aPropSets;
Reference< XMultiServiceFactory > m_xConfigProvider;
Reference< XInterface > m_xRootReadAccess;
@@ -332,18 +317,11 @@ struct PropertySetRegistry_Impl
sal_Bool m_bTriedToGetRootReadAccess; // #82494#
sal_Bool m_bTriedToGetRootWriteAccess; // #82494#
- PropertySetRegistry_Impl( UcbStore& rCreator )
- : m_pCreator( &rCreator ),
+ PropertySetRegistry_Impl( const Sequence< Any > &rInitArgs )
+ : m_aInitArgs( rInitArgs ),
m_bTriedToGetRootReadAccess( sal_False ),
m_bTriedToGetRootWriteAccess( sal_False )
{
- m_pCreator->acquire();
- }
-
- ~PropertySetRegistry_Impl()
- {
- m_pCreator->removeRegistry();
- m_pCreator->release();
}
};
@@ -359,9 +337,9 @@ struct PropertySetRegistry_Impl
PropertySetRegistry::PropertySetRegistry(
const Reference< XMultiServiceFactory >& rXSMgr,
- UcbStore& rCreator )
+ const Sequence< Any > &rInitArgs )
: m_xSMgr( rXSMgr ),
- m_pImpl( new PropertySetRegistry_Impl( rCreator ) )
+ m_pImpl( new PropertySetRegistry_Impl( rInitArgs ) )
{
}
@@ -1094,8 +1072,7 @@ Reference< XMultiServiceFactory > PropertySetRegistry::getConfigProvider()
osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
if ( !m_pImpl->m_xConfigProvider.is() )
{
- const Sequence< Any >& rInitArgs
- = m_pImpl->m_pCreator->getInitArgs();
+ const Sequence< Any >& rInitArgs = m_pImpl->m_aInitArgs;
if ( rInitArgs.getLength() > 0 )
{
diff --git a/ucb/source/core/ucbstore.hxx b/ucb/source/core/ucbstore.hxx
index 8c339337f890..7a7a76cb1b99 100644
--- a/ucb/source/core/ucbstore.hxx
+++ b/ucb/source/core/ucbstore.hxx
@@ -93,9 +93,6 @@ public:
throw( ::com::sun::star::uno::Exception,
::com::sun::star::uno::RuntimeException );
- // New
- void removeRegistry();
-
const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >&
getInitArgs() const;
};
@@ -132,7 +129,8 @@ public:
PropertySetRegistry(
const com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory >& rXSMgr,
- UcbStore& rCreator );
+ const ::com::sun::star::uno::Sequence<
+ ::com::sun::star::uno::Any >& rInitArgs);
virtual ~PropertySetRegistry();
// XInterface
diff --git a/ucb/source/sorter/makefile.mk b/ucb/source/sorter/makefile.mk
index 68a9959589d2..008e39b4bce3 100644
--- a/ucb/source/sorter/makefile.mk
+++ b/ucb/source/sorter/makefile.mk
@@ -61,3 +61,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/srtrs1.component
+
+$(MISC)/srtrs1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ srtrs1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt srtrs1.component
diff --git a/ucb/source/sorter/sortmain.cxx b/ucb/source/sorter/sortmain.cxx
index d96b4bcff796..5ad9a529e1f2 100644
--- a/ucb/source/sorter/sortmain.cxx
+++ b/ucb/source/sorter/sortmain.cxx
@@ -30,51 +30,10 @@
#include <sortdynres.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
using namespace rtl;
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
@@ -84,20 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // SortedDynamicResultSetFactory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- SortedDynamicResultSetFactory::getImplementationName_Static(),
- SortedDynamicResultSetFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/sorter/srtrs1.component b/ucb/source/sorter/srtrs1.component
new file mode 100644
index 000000000000..c32705160c0f
--- /dev/null
+++ b/ucb/source/sorter/srtrs1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.SortedDynamicResultSetFactory">
+ <service name="com.sun.star.ucb.SortedDynamicResultSetFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/expand/makefile.mk b/ucb/source/ucp/expand/makefile.mk
index 32de160318f2..70e441171a44 100644
--- a/ucb/source/ucp/expand/makefile.mk
+++ b/ucb/source/ucp/expand/makefile.mk
@@ -59,3 +59,11 @@ DEF1NAME = $(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/ucpexpand1.component
+
+$(MISC)/ucpexpand1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpexpand1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpexpand1.component
diff --git a/ucb/source/ucp/expand/ucpexpand.cxx b/ucb/source/ucp/expand/ucpexpand.cxx
index 710cf137ba06..069aa894692b 100644
--- a/ucb/source/ucp/expand/ucpexpand.cxx
+++ b/ucb/source/ucp/expand/ucpexpand.cxx
@@ -273,14 +273,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, s_entries );
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName,
lang::XMultiServiceFactory * pServiceManager,
diff --git a/ucb/source/ucp/expand/ucpexpand1.component b/ucb/source/ucp/expand/ucpexpand1.component
new file mode 100644
index 000000000000..c8a7e8e18c68
--- /dev/null
+++ b/ucb/source/ucp/expand/ucpexpand1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.ExpandContentProvider">
+ <service name="com.sun.star.ucb.ExpandContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ext/makefile.mk b/ucb/source/ucp/ext/makefile.mk
index 23c30b3bda5b..e106b8e1ba31 100644
--- a/ucb/source/ucp/ext/makefile.mk
+++ b/ucb/source/ucp/ext/makefile.mk
@@ -63,3 +63,11 @@ SHL1DEF = $(MISC)$/$(SHL1TARGET).def
DEF1NAME = $(SHL1TARGET)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/ucpext.component
+
+$(MISC)/ucpext.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpext.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpext.component
diff --git a/ucb/source/ucp/ext/ucpext.component b/ucb/source/ucp/ext/ucpext.component
new file mode 100644
index 000000000000..2982529e539c
--- /dev/null
+++ b/ucb/source/ucp/ext/ucpext.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.comp.ucp.ext.ContentProvider">
+ <service name="com.sun.star.ucb.ExtensionContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ext/ucpext_services.cxx b/ucb/source/ucp/ext/ucpext_services.cxx
index 8daa33f5cf8c..ce525c2da665 100644
--- a/ucb/source/ucp/ext/ucpext_services.cxx
+++ b/ucb/source/ucp/ext/ucpext_services.cxx
@@ -80,12 +80,6 @@ extern "C"
}
//------------------------------------------------------------------------------------------------------------------
- sal_Bool SAL_CALL component_writeInfo( void * pServiceManager, void * pRegistryKey )
- {
- return ::cppu::component_writeInfoHelper( pServiceManager, pRegistryKey, ::ucb::ucp::ext::s_aServiceEntries );
- }
-
- //------------------------------------------------------------------------------------------------------------------
void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
return ::cppu::component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , ::ucb::ucp::ext::s_aServiceEntries );
diff --git a/ucb/source/ucp/file/exports2.dxp b/ucb/source/ucp/file/exports2.dxp
index 6c42314f228b..4804c8d0ae57 100644
--- a/ucb/source/ucp/file/exports2.dxp
+++ b/ucb/source/ucp/file/exports2.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
_ZTIN3com3sun4star3ucb31InteractiveAugmentedIOExceptionE
diff --git a/ucb/source/ucp/file/makefile.mk b/ucb/source/ucp/file/makefile.mk
index 8007a2492399..3d97cb23873c 100644
--- a/ucb/source/ucp/file/makefile.mk
+++ b/ucb/source/ucp/file/makefile.mk
@@ -78,3 +78,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpfile1.component
+
+$(MISC)/ucpfile1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpfile1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpfile1.component
diff --git a/ucb/source/ucp/file/prov.cxx b/ucb/source/ucp/file/prov.cxx
index a456d2acbd32..2b9c09a7d0fa 100644
--- a/ucb/source/ucp/file/prov.cxx
+++ b/ucb/source/ucp/file/prov.cxx
@@ -31,7 +31,6 @@
#include <osl/file.hxx>
#include <osl/socket.h>
#include <cppuhelper/factory.hxx>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBBUTE_HPP_
#include <com/sun/star/beans/PropertyAttribute.hpp>
#endif
@@ -53,45 +52,6 @@ using namespace com::sun::star::ucb;
using namespace com::sun::star::container;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** )
{
@@ -99,20 +59,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // File Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- fileaccess::shell::getImplementationName_static(),
- fileaccess::shell::getSupportedServiceNames_static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx
index 769e58c08819..f324c93b878f 100644
--- a/ucb/source/ucp/file/shell.cxx
+++ b/ucb/source/ucp/file/shell.cxx
@@ -33,6 +33,7 @@
#endif
#include "osl/diagnose.h"
+#include <rtl/uri.hxx>
#include <rtl/ustrbuf.hxx>
#include <osl/time.h>
#include <osl/file.hxx>
@@ -2054,9 +2055,14 @@ shell::copy_recursive( const rtl::OUString& srcUnqPath,
rtl::OUString newDstUnqPath = dstUnqPath;
rtl::OUString tit;
if( aFileStatus.isValid( FileStatusMask_FileName ) )
- tit = aFileStatus.getFileName();
+ tit = rtl::Uri::encode( aFileStatus.getFileName(),
+ rtl_UriCharClassPchar,
+ rtl_UriEncodeIgnoreEscapes,
+ RTL_TEXTENCODING_UTF8 );
+
if( newDstUnqPath.lastIndexOf( sal_Unicode('/') ) != newDstUnqPath.getLength()-1 )
newDstUnqPath += rtl::OUString::createFromAscii( "/" );
+
newDstUnqPath += tit;
if ( newSrcUnqPath != dstUnqPath )
diff --git a/ucb/source/ucp/file/ucpfile1.component b/ucb/source/ucp/file/ucpfile1.component
new file mode 100644
index 000000000000..28032451220a
--- /dev/null
+++ b/ucb/source/ucp/file/ucpfile1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.FileProvider">
+ <service name="com.sun.star.ucb.FileContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/ftp/ftpservices.cxx b/ucb/source/ucp/ftp/ftpservices.cxx
index fb62acd1cbc0..8e5c88ad66c1 100644
--- a/ucb/source/ucp/ftp/ftpservices.cxx
+++ b/ucb/source/ucp/ftp/ftpservices.cxx
@@ -36,45 +36,6 @@ using namespace com::sun::star;
using namespace ftp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -82,21 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // FTP Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- FTPContentProvider::getImplementationName_Static(),
- FTPContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/ftp/makefile.mk b/ucb/source/ucp/ftp/makefile.mk
index a0f141004089..c2f1ce154a56 100644
--- a/ucb/source/ucp/ftp/makefile.mk
+++ b/ucb/source/ucp/ftp/makefile.mk
@@ -104,3 +104,11 @@ DEF1NAME=$(SHL1TARGET)
+
+ALLTAR : $(MISC)/ucpftp1.component
+
+$(MISC)/ucpftp1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpftp1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpftp1.component
diff --git a/ucb/source/ucp/ftp/ucpftp1.component b/ucb/source/ucp/ftp/ucpftp1.component
new file mode 100644
index 000000000000..fa4cfe6e7557
--- /dev/null
+++ b/ucb/source/ucp/ftp/ucpftp1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.FTPContentProvider">
+ <service name="com.sun.star.ucb.FTPContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/gio/gio_provider.cxx b/ucb/source/ucp/gio/gio_provider.cxx
index b39bc4462bbe..750f7408e7ec 100644
--- a/ucb/source/ucp/gio/gio_provider.cxx
+++ b/ucb/source/ucp/gio/gio_provider.cxx
@@ -102,55 +102,12 @@ ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
}
-static sal_Bool writeInfo( void *pRegistryKey,
- const rtl::OUString &rImplementationName, uno::Sequence< rtl::OUString > const &rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * > (pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {}
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char **ppEnvTypeName, uno_Environment **)
{
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-extern "C" sal_Bool SAL_CALL component_writeInfo( void *, void *pRegistryKey )
-{
- return pRegistryKey &&
- writeInfo( pRegistryKey,
- ::gio::ContentProvider::getImplementationName_Static(),
- ::gio::ContentProvider::getSupportedServiceNames_Static() );
-}
-
extern "C" void * SAL_CALL component_getFactory( const sal_Char *pImplName,
void *pServiceManager, void * )
{
diff --git a/ucb/source/ucp/gio/makefile.mk b/ucb/source/ucp/gio/makefile.mk
index 86b32fbc0739..4cca611c7ece 100644
--- a/ucb/source/ucp/gio/makefile.mk
+++ b/ucb/source/ucp/gio/makefile.mk
@@ -37,8 +37,6 @@ NO_BSYMBOLIC=TRUE
.INCLUDE: settings.mk
.IF "$(L10N_framework)"==""
-UNIXTEXT=$(MISC)/$(TARGET)-ucd.txt
-
.IF "$(ENABLE_GIO)"!=""
COMPILER_WARN_ALL=TRUE
PKGCONFIG_MODULES=gio-2.0
@@ -79,3 +77,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpgio.component
+
+$(MISC)/ucpgio.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpgio.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpgio.component
diff --git a/ucb/source/ucp/gio/ucpgio-ucd.txt b/ucb/source/ucp/gio/ucpgio-ucd.txt
deleted file mode 100644
index ce7657fa73e3..000000000000
--- a/ucb/source/ucp/gio/ucpgio-ucd.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.comp.GIOContentProvider
-ComponentName=ucpgio1.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ucb.GIOContentProvider
diff --git a/ucb/source/ucp/gio/ucpgio.component b/ucb/source/ucp/gio/ucpgio.component
new file mode 100644
index 000000000000..caa8fc361f7f
--- /dev/null
+++ b/ucb/source/ucp/gio/ucpgio.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.GIOContentProvider">
+ <service name="com.sun.star.ucb.GIOContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/gvfs/gvfs_provider.cxx b/ucb/source/ucp/gvfs/gvfs_provider.cxx
index 52376bf4153e..77415982c63d 100644
--- a/ucb/source/ucp/gvfs/gvfs_provider.cxx
+++ b/ucb/source/ucp/gvfs/gvfs_provider.cxx
@@ -143,42 +143,6 @@ ContentProvider::queryContent(
//============================ shlib entry points =============================================
-
-// cut and paste verbatim from webdav (that sucks).
-static sal_Bool
-writeInfo( void *pRegistryKey,
- const rtl::OUString &rImplementationName,
- uno::Sequence< rtl::OUString > const &rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try {
- xKey = static_cast< registry::XRegistryKey * >
- (pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & ) {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n ) {
- try {
- xKey->createKey( rServiceNames[ n ] );
-
- } catch ( registry::InvalidRegistryException const & ) {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
extern "C" void SAL_CALL
component_getImplementationEnvironment( const sal_Char **ppEnvTypeName,
uno_Environment **/*ppEnv*/ )
@@ -186,15 +150,6 @@ component_getImplementationEnvironment( const sal_Char **ppEnvTypeName,
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-extern "C" sal_Bool SAL_CALL
-component_writeInfo( void */*pServiceManager*/,
- void *pRegistryKey )
-{
- return pRegistryKey &&
- writeInfo( pRegistryKey,
- ::gvfs::ContentProvider::getImplementationName_Static(),
- ::gvfs::ContentProvider::getSupportedServiceNames_Static() );
-}
extern "C" void * SAL_CALL
component_getFactory( const sal_Char *pImplName,
void *pServiceManager,
diff --git a/ucb/source/ucp/gvfs/makefile.mk b/ucb/source/ucp/gvfs/makefile.mk
index a0e8a0bda3bb..87fcca87cf70 100644
--- a/ucb/source/ucp/gvfs/makefile.mk
+++ b/ucb/source/ucp/gvfs/makefile.mk
@@ -37,8 +37,6 @@ NO_BSYMBOLIC=TRUE
.INCLUDE: settings.mk
.IF "$(L10N_framework)"==""
-UNIXTEXT=$(MISC)/$(TARGET)-ucd.txt
-
.IF "$(ENABLE_GNOMEVFS)"!=""
COMPILER_WARN_ALL=TRUE
PKGCONFIG_MODULES=gnome-vfs-2.0
@@ -84,3 +82,10 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.INCLUDE: target.mk
+ALLTAR : $(MISC)/ucpgvfs.component
+
+$(MISC)/ucpgvfs.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpgvfs.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpgvfs.component
diff --git a/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt b/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt
deleted file mode 100644
index e9ecce6effd2..000000000000
--- a/ucb/source/ucp/gvfs/ucpgvfs-ucd.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.comp.GnomeVFSContentProvider
-ComponentName=ucpgvfs1.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ucb.GnomeVFSContentProvider
diff --git a/ucb/source/ucp/gvfs/ucpgvfs.component b/ucb/source/ucp/gvfs/ucpgvfs.component
new file mode 100644
index 000000000000..cec3e4d1e2b1
--- /dev/null
+++ b/ucb/source/ucp/gvfs/ucpgvfs.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.GnomeVFSContentProvider">
+ <service name="com.sun.star.ucb.GnomeVFSContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/hierarchy/hierarchyservices.cxx b/ucb/source/ucp/hierarchy/hierarchyservices.cxx
index e645e006032e..1830ecc35625 100644
--- a/ucb/source/ucp/hierarchy/hierarchyservices.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchyservices.cxx
@@ -29,7 +29,6 @@
#include "precompiled_ucb.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include "hierarchyprovider.hxx"
#include "hierarchydatasource.hxx"
@@ -37,45 +36,6 @@ using namespace com::sun::star;
using namespace hierarchy_ucp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -83,29 +43,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Hierarchy Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- HierarchyContentProvider::getImplementationName_Static(),
- HierarchyContentProvider::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Hierarchy Data Source.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- HierarchyDataSource::getImplementationName_Static(),
- HierarchyDataSource::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/hierarchy/makefile.mk b/ucb/source/ucp/hierarchy/makefile.mk
index 00b481b5e7a1..9263faa24b08 100644
--- a/ucb/source/ucp/hierarchy/makefile.mk
+++ b/ucb/source/ucp/hierarchy/makefile.mk
@@ -82,3 +82,11 @@ DEF1NAME=$(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucphier1.component
+
+$(MISC)/ucphier1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucphier1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucphier1.component
diff --git a/ucb/source/ucp/hierarchy/ucphier1.component b/ucb/source/ucp/hierarchy/ucphier1.component
new file mode 100644
index 000000000000..5483187d8674
--- /dev/null
+++ b/ucb/source/ucp/hierarchy/ucphier1.component
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.HierarchyContentProvider">
+ <service name="com.sun.star.ucb.HierarchyContentProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.HierarchyDataSource">
+ <service name="com.sun.star.ucb.DefaultHierarchyDataSource"/>
+ <service name="com.sun.star.ucb.HierarchyDataSource"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/odma/odma_lib.cxx b/ucb/source/ucp/odma/odma_lib.cxx
index 774bcf5f6323..cf9da3a2b942 100644
--- a/ucb/source/ucp/odma/odma_lib.cxx
+++ b/ucb/source/ucp/odma/odma_lib.cxx
@@ -78,10 +78,6 @@ namespace odma
if (bLoaded)
return sal_True;
::rtl::OUString sPath;
- #ifdef WIN
- sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMA.DLL"));
-
- #endif
#ifdef WNT
sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMA32.DLL"));
#endif
diff --git a/ucb/source/ucp/odma/odma_services.cxx b/ucb/source/ucp/odma/odma_services.cxx
index 3e4639e25806..0f5666e2bb53 100644
--- a/ucb/source/ucp/odma/odma_services.cxx
+++ b/ucb/source/ucp/odma/odma_services.cxx
@@ -40,45 +40,6 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::registry;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
diff --git a/ucb/source/ucp/package/makefile.mk b/ucb/source/ucp/package/makefile.mk
index 8c6dcda31829..b78150aed2cb 100644
--- a/ucb/source/ucp/package/makefile.mk
+++ b/ucb/source/ucp/package/makefile.mk
@@ -68,6 +68,7 @@ SHL1IMPLIB=i$(TARGET)
SHL1VERSIONMAP=$(SOLARENV)/src/component.map
SHL1STDLIBS=\
+ $(COMPHELPERLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(SALLIB) \
@@ -86,3 +87,11 @@ DEF1NAME=$(SHL1TARGET)
.ENDIF # L10N_framework
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucppkg1.component
+
+$(MISC)/ucppkg1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucppkg1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucppkg1.component
diff --git a/ucb/source/ucp/package/pkgservices.cxx b/ucb/source/ucp/package/pkgservices.cxx
index 251ce8c78dd1..ad4af686d2d6 100644
--- a/ucb/source/ucp/package/pkgservices.cxx
+++ b/ucb/source/ucp/package/pkgservices.cxx
@@ -34,50 +34,6 @@
using namespace com::sun::star;
-namespace {
-
-//=========================================================================
-sal_Bool writeInfo(
- void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-} // namespace
-
//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
@@ -86,21 +42,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Write info into registry.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ::package_ucp::ContentProvider::getImplementationName_Static(),
- ::package_ucp::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/package/pkguri.cxx b/ucb/source/ucp/package/pkguri.cxx
index feb8daec7905..8424ed906e92 100644
--- a/ucb/source/ucp/package/pkguri.cxx
+++ b/ucb/source/ucp/package/pkguri.cxx
@@ -36,6 +36,7 @@
#include "rtl/ustrbuf.hxx"
#include "osl/diagnose.h"
+#include "comphelper/storagehelper.hxx"
#include "../inc/urihelper.hxx"
@@ -85,7 +86,7 @@ void PackageUri::init() const
if ( ( m_aUri.getLength() < PACKAGE_URL_SCHEME_LENGTH + 4 ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -100,7 +101,7 @@ void PackageUri::init() const
!= sal_Unicode( '/' ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -128,8 +129,8 @@ void PackageUri::init() const
{
m_aParam +=
( m_aParam.getLength()
- ? ::rtl::OUString::createFromAscii( "&purezip" )
- : ::rtl::OUString::createFromAscii( "?purezip" ) );
+ ? ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "&purezip" ) )
+ : ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "?purezip" ) ) );
}
aPureUri = aPureUri.replaceAt( 0,
@@ -143,7 +144,7 @@ void PackageUri::init() const
// Only <scheme>:/// - Empty authority
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
else if ( nEnd == ( aPureUri.getLength() - 1 ) )
@@ -154,7 +155,7 @@ void PackageUri::init() const
// Only <scheme>://// or <scheme>://<something>//
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -175,7 +176,7 @@ void PackageUri::init() const
nStart, aPureUri.getLength() - nStart, aNormPackage );
m_aPackage
= ::ucb_impl::urihelper::decodeSegment( aNormPackage );
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
m_aUri = m_aUri.replaceAt( 0,
( nParam >= 0 )
? nParam
@@ -193,16 +194,19 @@ void PackageUri::init() const
{
m_aPath = aPureUri.copy( nEnd + 1 );
- // Empty path segments or encoded slashes?
- if ( m_aPath.indexOf(
- rtl::OUString::createFromAscii( "//" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2F" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2f" ) ) != -1 )
+ // Unexpected sequences of characters:
+ // - empty path segments
+ // - encoded slashes
+ // - parent folder segments ".."
+ // - current folder segments "."
+ if ( m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "//" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2F" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2f" ) ) ) != -1
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".." ) ) )
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "." ) ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -239,7 +243,7 @@ void PackageUri::init() const
else
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
}
}
}
diff --git a/ucb/source/ucp/package/ucppkg1.component b/ucb/source/ucp/package/ucppkg1.component
new file mode 100644
index 000000000000..a2e2418b5602
--- /dev/null
+++ b/ucb/source/ucp/package/ucppkg1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.PackageContentProvider">
+ <service name="com.sun.star.ucb.PackageContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/tdoc/makefile.mk b/ucb/source/ucp/tdoc/makefile.mk
index 83e9599eed72..82c76b34b206 100644
--- a/ucb/source/ucp/tdoc/makefile.mk
+++ b/ucb/source/ucp/tdoc/makefile.mk
@@ -92,3 +92,11 @@ DEF1NAME=$(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucptdoc1.component
+
+$(MISC)/ucptdoc1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucptdoc1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucptdoc1.component
diff --git a/ucb/source/ucp/tdoc/tdoc_services.cxx b/ucb/source/ucp/tdoc/tdoc_services.cxx
index 6f9641d5159b..fc34fd78b1a4 100644
--- a/ucb/source/ucp/tdoc/tdoc_services.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_services.cxx
@@ -39,45 +39,6 @@ using namespace com::sun::star;
using namespace tdoc_ucp;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -85,29 +46,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Transient Documents Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ContentProvider::getImplementationName_Static(),
- ContentProvider::getSupportedServiceNames_Static() ) &&
-
- //////////////////////////////////////////////////////////////////////
- // Transient Documents Document Content Factory.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- DocumentContentFactory::getImplementationName_Static(),
- DocumentContentFactory::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/ucb/source/ucp/tdoc/ucptdoc1.component b/ucb/source/ucp/tdoc/ucptdoc1.component
new file mode 100644
index 000000000000..8ba1471bd933
--- /dev/null
+++ b/ucb/source/ucp/tdoc/ucptdoc1.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.TransientDocumentsContentProvider">
+ <service name="com.sun.star.ucb.TransientDocumentsContentProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.ucb.TransientDocumentsDocumentContentFactory">
+ <service name="com.sun.star.frame.TransientDocumentsDocumentContentFactory"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/webdav/DAVResourceAccess.cxx b/ucb/source/ucp/webdav/DAVResourceAccess.cxx
index 872d45405735..e4617b7b9ea7 100644
--- a/ucb/source/ucp/webdav/DAVResourceAccess.cxx
+++ b/ucb/source/ucp/webdav/DAVResourceAccess.cxx
@@ -1201,8 +1201,7 @@ sal_Bool DAVResourceAccess::handleException( DAVException & e, int errorCount )
// if we have a bad connection try again. Up to three times.
case DAVException::DAV_HTTP_ERROR:
// retry up to three times, if not a client-side error.
- if ( e.getStatus() > 0 &&
- ( e.getStatus() < 400 || e.getStatus() > 499 ) &&
+ if ( ( e.getStatus() < 400 || e.getStatus() >= 500 ) &&
errorCount < 3 )
{
return sal_True;
diff --git a/ucb/source/ucp/webdav/makefile.mk b/ucb/source/ucp/webdav/makefile.mk
index 73ee298697e8..162d58266406 100644
--- a/ucb/source/ucp/webdav/makefile.mk
+++ b/ucb/source/ucp/webdav/makefile.mk
@@ -158,3 +158,11 @@ DEF1NAME=$(SHL1TARGET)
# --- Targets ----------------------------------------------------------
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/ucpdav1.component
+
+$(MISC)/ucpdav1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ucpdav1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ucpdav1.component
diff --git a/ucb/source/ucp/webdav/ucpdav1.component b/ucb/source/ucp/webdav/ucpdav1.component
new file mode 100644
index 000000000000..4e18b566e1a4
--- /dev/null
+++ b/ucb/source/ucp/webdav/ucpdav1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.WebDAVContentProvider">
+ <service name="com.sun.star.ucb.WebDAVContentProvider"/>
+ </implementation>
+</component>
diff --git a/ucb/source/ucp/webdav/webdavservices.cxx b/ucb/source/ucp/webdav/webdavservices.cxx
index 9fb6d9e82bcf..7a38636e9dc7 100644
--- a/ucb/source/ucp/webdav/webdavservices.cxx
+++ b/ucb/source/ucp/webdav/webdavservices.cxx
@@ -35,45 +35,6 @@
using namespace com::sun::star;
//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( rtl::OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString::createFromAscii( "/UNO/SERVICES" );
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
extern "C" void SAL_CALL component_getImplementationEnvironment(
const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
{
@@ -81,21 +42,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // WebDAV Content Provider.
- //////////////////////////////////////////////////////////////////////
-
- writeInfo( pRegistryKey,
- ::webdav_ucp::ContentProvider::getImplementationName_Static(),
- ::webdav_ucp::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
extern "C" void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{