You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2007/09/28 16:48:50 UTC

[jira] Created: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
----------------------------------------------------------------------------------------------------

                 Key: JCR-1152
                 URL: https://issues.apache.org/jira/browse/JCR-1152
             Project: Jackrabbit
          Issue Type: Improvement
          Components: SPI
            Reporter: Julian Reschke
            Priority: Minor


This should be simplified so that an implementation of QValueFactory is sufficient.


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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540715 ] 

angela commented on JCR-1152:
-----------------------------

and removed the extra ValueFactory implementation (that is now obsolete) from jcr-commons with rev. 592698  


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Assigned: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Reschke reassigned JCR-1152:
-----------------------------------

    Assignee: Julian Reschke

> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537659 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

Plan:

- remove getValueFactory() from RepositoryConfig

- let JCR2SPI implement it's own ValueFactory, wrapping the QValueFactory implemented  by the SPI impl

- use Value instances that wrap QValues

- push most functionality down from Value to QValue

NOTE: this means that QValue implementations now have to deal with value conversions, while before this was done by the ValueFactory that was used.


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Updated: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-1152:
-------------------------------

    Fix Version/s: 1.4

> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>             Fix For: 1.4
>
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536692 ] 

angela commented on JCR-1152:
-----------------------------

ah... so the subject is wrong. should be 'jcr2spi', right?

> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538544 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

Next step: the plan is to update jcr-spi-commons with:

- an implementation of Value (JCR) that just wraps a QValue (SPI) instance, and

- an implementation of ValueFactory (JCR) that just wraps QValueFactory (SPI) and NamePathResolver (SPI commons) instances.

Note that this means that all the logic for converting between property types, and comparing values will be pushed down into the QValue instance. The Value implementation will only be responsible for the JCR-specific stream handling.



> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536686 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

There's 

  RepositoryConfig.getValueFactory()

and it's used within JCR2SPI....


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Resolved: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Reschke resolved JCR-1152.
---------------------------------

    Resolution: Fixed

Fixed with revision 590140.


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537862 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

> - QValue (or its factory) is in charge of defining the required format of a Reference values
>   i.e. this is delegated to the SPI implementation.

Correct.

> consequently we can probably get rid if the second valuefactory i moved to jcr-commons,
> can't we?

We won't need the ValueFactory and the ValueImpls anymore. Maybe we can also get rid of some utility classes for conversion.

> - I would be possible to have SPI implementation that uses a separate data store for
>  binaries and have the entries created immediately upon creation of a JCR Value. at
>  least theoretically... 

Correct.


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536680 ] 

angela commented on JCR-1152:
-----------------------------

hi julian

from my understanding the SPI impl must only provide a QValueFactory.
maybe i don't get your point...

angela


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537861 ] 

angela commented on JCR-1152:
-----------------------------

from my understanding this would also mean

- QValue (or its factory) is in charge of defining the required format of a Reference values
   i.e. this is delegated to the SPI implementation.

consequently we can probably get rid if the second valuefactory i moved to jcr-commons,
can't we?

- I would be possible to have SPI implementation that uses a separate data store for
  binaries and have the entries created immediately upon creation of a JCR Value. at
  least theoretically... 
  

> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536697 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

I don't think so.

Obviously, as a JCR implementation, JCR2SPI needs to provide a ValueFactory to the JCR client.

However, right now, an SPI implementation needs to provide implementations of both jcr.ValueFactory and spi.QValueFactory. Optimally, only the latter would be needed, and JCR2SPI would provide a ValueFactory implementation wrapping just the spi:QValueFactory.

Now clearer?


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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


[jira] Commented: (JCR-1152) SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538537 ] 

Julian Reschke commented on JCR-1152:
-------------------------------------

Revision 589720: parametrize RepositoryConfig.getValueFactory (this is an intermediate step towards resolving the issue completely).


> SPI implementations currently need to provide implementations of both ValueFactory and QValueFactory
> ----------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1152
>                 URL: https://issues.apache.org/jira/browse/JCR-1152
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: SPI
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Minor
>
> This should be simplified so that an implementation of QValueFactory is sufficient.

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