Here is the modification of the DocumentLinkTestCase

    private void createDocuments() throws ClientException {
        String[] ptschemas = {"dublincore", "advertcardetails"};
        DocumentModel wsRoot = coreSession.getDocument(new PathRef(
                "/"));

        DocumentModel ws = coreSession.createDocumentModel(
                wsRoot.getPathAsString(), "ws1", "Workspace");
        ws.setProperty("dublincore", "title", "test WS");
        ws = coreSession.createDocument(ws);

        doc = coreSession.createDocumentModel(ws.getPathAsString(), "file",
                "AdvertPrivate");
        doc.setProperty("dublincore", "title", "MyDoc");
        doc.setProperty("dublincore", "coverage", "MyDocCoverage");
        doc.setProperty("advertcardetails", "make", "Holden");
        doc = coreSession.createDocument(doc);

        link = coreSession.createDocumentModel(ws.getPathAsString(), "link",
                "DocumentLink");
        link.setProperty("dublincore", "title", "MyLinkToDoc");

        link.setProperty(DocumentLinkConstants.DOCUMENT_LINK_SCHEMA_NAME,
                "passthroughtSchemas", ptschemas);
        String[] ptschemas2 = (String[]) 
link.getProperty(DocumentLinkConstants.DOCUMENT_LINK_SCHEMA_NAME, 
"passthroughtSchemas");

        link = coreSession.createDocument(link);
    }

    public void testOurSchemas() throws ClientException {
        createDocuments();

        DocumentLinkAdapter adaptedLink = 
link.getAdapter(DocumentLinkAdapter.class);
        assertNotNull(adaptedLink);

        adaptedLink.setTargetDocument(doc);
        assertNotNull(adaptedLink.getTargetDocument());

        // check link setup
        String linkRef = (String) link.getProperty(
                DocumentLinkConstants.DOCUMENT_LINK_SCHEMA_NAME,
                DocumentLinkConstants.DOCUMENT_LINK_FIELD_NAME);
        assertEquals(doc.getRef().toString(), linkRef);

        String linkRef2 = (String) adaptedLink.getProperty(
                DocumentLinkConstants.DOCUMENT_LINK_SCHEMA_NAME,
                DocumentLinkConstants.DOCUMENT_LINK_FIELD_NAME);
        assertEquals(doc.getRef().toString(), linkRef2);

        // check property accessor pass-throught
        String cover1 = (String) link.getProperty("advertcardetails", "make");
        assertNull(cover1);
        String cover2 = (String) adaptedLink.getProperty("advertcardetails", 
"make");
        assertNotNull(cover2);
        assertEquals("Holden", cover2);
        
        link.setProperty("advertcardetails", "make", "Honda");
        adaptedLink.setProperty("advertcardetails", "make", "Ford");

        coreSession.saveDocument(link);
        coreSession.save();
        
        // check property accessor masking
        String title0 = (String) doc.getProperty("advertcardetails", "make");
        String title1 = (String) link.getProperty("advertcardetails", "make");
        String title2 = (String) adaptedLink.getProperty("advertcardetails", 
"make");
        
        assertEquals(adaptedLink.getProperty("advertcardetails", "make"), 
"Ford");
        assertEquals(link.getProperty("advertcardetails", "make"), "Honda");
    }

The final assert doesn't work, the value returned by the getProperty() is null.

Thanks for your help.
Mark
--
Posted by "mark" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: 
<http://www.nuxeo.org/discussions/thread.jspa?threadID=2417#6613>
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Reply via email to