[ 
https://issues.apache.org/jira/browse/CMIS-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833068#action_12833068
 ] 

Florent Guillaume commented on CMIS-114:
----------------------------------------

First, about the design: Chemistry has nothing to do with JCR. You say "one 
would initially hope the JCR API could serve as that single general purpose 
repository API" but that's not the case. The JCR domain model is different, and 
the Chemistry API is designed to be focused on CMIS, nothing else. There are no 
references to JCR in it.

If you *know* you have a JCR somewhere behind then yes you could use the JCR 
APIs directly, but then you're not using CMIS anymore.

The only two level of abstractions in Chemistry are:
1. high-level (Connection, Document, Folder, etc.),
2. low-level (SPI, ObjectEntry).

Before closing this bug, I'd like to know what AtomPub-specific information 
(which links for instance) you want to get from the entry — maybe some is 
already available in a way you don't know about, or maybe it's something 
legitimate that hasn't been added yet.


> APPObject's lack APP specific typesafe methods
> ----------------------------------------------
>
>                 Key: CMIS-114
>                 URL: https://issues.apache.org/jira/browse/CMIS-114
>             Project: Chemistry
>          Issue Type: Improvement
>          Components: atompub
>            Reporter: Chris Hubick
>            Priority: Minor
>         Attachments: chemistry_app_type_safety.patch
>
>
> Hi.
> When using APPContentManager to communicate with my repository, I would like 
> to use the APPObject derived API's, in order to access underlying APP 
> specific information (Link's, etc).  The problem is that I end up writing a 
> lot of code containing ugly object cast's like this:
> APPContentManager contentManager = new APPContentManager("");
> APPRepository repository = 
> (APPRepository)contentManager.getDefaultRepository();
> APPConnection connection = (APPConnection)repository.getConnection(null);
> APPFolder aFolder = (APPFolder)connection.getFolder("");
> When I would rather have the ability to write typesafe code like this:
> APPContentManager contentManager = new APPContentManager("");
> APPRepository repository = contentManager.getDefaultAPPRepository();
> APPConnection connection = repository.getAPPConnection(null);
> APPFolder aFolder = connection.getAPPFolder("");

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to