Right. That's the main reason why I was suggesting to expand the itemId back
to a path before passing it on to the AccessManagerPlugin implementation.
The item path is something the AccessManagerPlugin should know what to with.

Regards,
Eric

On Fri, Apr 1, 2011 at 8:36 AM, Justin Edelson <[email protected]>wrote:

> What I mean is that ItemId is an opaque object. The only thing you can
> do with it *by itself* is to figure out whether or not the Id denotes
> a Node. IIUC, to do anything useful, you need to use classes from
> org.apache.jackrabbit.core.
>
> However, I don't think this should block trunk from being updated to
> 2.2.5. It is, however, something we should resolve before the next
> release.
>
> Justin
>
> On Fri, Apr 1, 2011 at 9:57 AM, Eric Norman <[email protected]>
> wrote:
> > It's hard to predict what an implementor would do.  The more I think
> about
> > it, maybe it would make more sense for us to just lookup the path for the
> > ItemId and not bother passing along the second argument.  Then we
> wouldn't
> > need the AccessManagerPlugin2 interface at all.
> > Eric
> > On Fri, Apr 1, 2011 at 6:17 AM, Justin Edelson <[email protected]
> >
> > wrote:
> >>
> >> On Fri, Apr 1, 2011 at 12:42 AM, Eric Norman <[email protected]>
> >> wrote:
> >> > Thanks for the review.
> >> >
> >> > Maybe it is ok to just pass the ItemId to the
> >> > AccessManagerPlugin2#canRead
> >> > method as a string?
> >>
> >> That'd solve the export problem, but the question remains - what would
> >> an implementor of AccessManagerPlugin2 actually *do* with this value?
> >>
> >> >
> >> >
> >> > On Thu, Mar 31, 2011 at 6:37 PM, Justin Edelson
> >> > <[email protected]>wrote:
> >> >
> >> >> I made a few comments. Mostly API version bumps which aren't AFAIK
> >> >> necessary.
> >> >>
> >> >> The bigger issue, to me, is the AccessManagerPlugin2 interface's use
> >> >> of org.apache.jackrabbit.core.id.ItemId. This is *not* a Jackrabbit
> >> >> API class and I have my doubts that we should be exporting it (as I
> >> >> did in my patch).
> >> >>
> >> >> Is it actually possible to implement AccessManagerPlugin2 and do
> >> >> anything of import with the ItemID parameter?
> >> >>
> >> >> I'll take a look at the Tika issue. Did you try 0.9?
> >> >>
> >> >> Justin
> >> >>
> >> >> On Thu, Mar 31, 2011 at 8:45 PM, Eric Norman <
> [email protected]>
> >> >> wrote:
> >> >> > Moving further discussion to the dev list...
> >> >> > Thanks Justin,
> >> >> > I almost got it working using your patch + some other changes.
> >> >> > See the diffs @ http://codereview.appspot.com/4345041/
> >> >> > Now I hit an issue loading the tika parsers that was described @
> >> >> > http://jackrabbit.markmail.org/thread/k5fhbkbs774buv4w
> >> >> > Any suggestions on how to workaround that?
> >> >> > If I use version 0.6 of the tika bundle the repository will start
> but
> >> >> throws
> >> >> > NPE when extracting text for the search index:
> >> >> > 31.03.2011 17:38:35.968 *WARN* [jackrabbit-pool-1]
> >> >> > org.apache.jackrabbit.core.query.lucene.LazyTextExtractorField
> Failed
> >> >> > to
> >> >> > extract text from a binary
> >> >> >  property java.lang.NullPointerException
> >> >> >         at
> >> >> >
> >> >> >
> org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:92)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.query.lucene.JackrabbitParser.parse(JackrabbitParser.java:192)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.query.lucene.LazyTextExtractorField$ParsingTask.run(LazyTextExtractorField.java:174)
> >> >> >
> >> >> > If I use version 0.8 of the tika bundle it throws a
> RuntimeException
> >> >> > that
> >> >> > makes the repository not start properly:
> >> >> > 31.03.2011 17:43:13.171 *INFO* [Repository Pinger]
> >> >> > org.apache.jackrabbit.core.RepositoryImpl Repository has been
> >> >> > shutdown
> >> >> > 31.03.2011 17:43:13.171 *ERROR* [Repository Pinger]
> >> >> > org.apache.sling.jcr.jackrabbit.server startRepository: Uncaught
> >> >> Throwable
> >> >> > trying to access Reposi
> >> >> > tory, calling stopRepository() (java.lang.RuntimeException: Unable
> to
> >> >> load
> >> >> > embedded Tika configuration) java.lang.RuntimeException: Unable to
> >> >> > load
> >> >> emb
> >> >> > edded Tika configuration
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.query.lucene.JackrabbitParser.<init>(JackrabbitParser.java:91)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.query.lucene.SearchIndex.<init>(SearchIndex.java:211)
> >> >> >         at
> >> >> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >> >> > Method)
> >> >> >         at
> >> >> > sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
> >> >> > Source)
> >> >> >         at
> >> >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> >> >> > Source)
> >> >> >         at java.lang.reflect.Constructor.newInstance(Unknown
> Source)
> >> >> >         at java.lang.Class.newInstance0(Unknown Source)
> >> >> >         at java.lang.Class.newInstance(Unknown Source)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.config.BeanConfig.newInstance(BeanConfig.java:189)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:631)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.config.RepositoryConfig.getQueryHandler(RepositoryConfig.java:1032)
> >> >> >         at
> >> >> >
> >> >> >
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:174)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:630)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl.access$100(RepositoryImpl.java:124)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1860)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2095)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2000)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:533)
> >> >> >         at
> >> >> >
> >> >> >
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:342)
> >> >> >         at
> >> >> >
> >> >> >
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.sling.jcr.jackrabbit.server.impl.SlingServerRepository.acquireRepository(SlingServerRepository.java:160)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.sling.jcr.base.AbstractSlingRepository.startRepository(AbstractSlingRepository.java:787)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.sling.jcr.base.AbstractSlingRepository.run(AbstractSlingRepository.java:917)
> >> >> >         at java.lang.Thread.run(Unknown Source)
> >> >> > Caused by: org.apache.tika.exception.TikaException: Configured
> parser
> >> >> class
> >> >> > not found: org.apache.jackrabbit.core.query.pdf.PDFParser
> >> >> >         at
> >> >> > org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:151)
> >> >> >         at
> >> >> > org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:98)
> >> >> >         at
> >> >> > org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:85)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.jackrabbit.core.query.lucene.JackrabbitParser.<init>(JackrabbitParser.java:82)
> >> >> >         ... 23 more
> >> >> > Caused by: java.lang.ClassNotFoundException:
> >> >> > org.apache.jackrabbit.core.query.pdf.PDFParser
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:814)
> >> >> >         at
> >> >> >
> org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61)
> >> >> >         at
> >> >> >
> >> >>
> >> >>
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
> >> >> >         at java.lang.ClassLoader.loadClass(Unknown Source)
> >> >> >         at java.lang.Class.forName0(Native Method)
> >> >> >         at java.lang.Class.forName(Unknown Source)
> >> >> >         at
> >> >> > org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:125)
> >> >> >         ... 26 more
> >> >> >
> >> >> >
> >> >> > Regards,
> >> >> > Eric
> >> >> > On Thu, Mar 31, 2011 at 3:20 PM, Justin Edelson <
> >> >> [email protected]>
> >> >> > wrote:
> >> >> >>
> >> >> >>
> >> >> >> On Mar 31, 2011, at 5:43 PM, Craig Ganoe <[email protected]> wrote:
> >> >> >>
> >> >> >> > As I said in one of my longer emails, the only Sling code change
> I
> >> >> >> > noticed is that Sling's PluggableDefaultAccessManager makes a
> call
> >> >> >> > to
> >> >> >> > canRead(itemPath) on its superclass in Jackrabbit -
> >> >> DefaultAccessManager.
> >> >> >> > For some reason unclear to me they changed it in from just
> taking
> >> >> >> > a
> >> >> path as
> >> >> >> > a parameter in 2.1 to taking both a path and an item ID in 2.2,
> >> >> >> > but
> >> >> then the
> >> >> >> > JavaDocs say either one of the parameters can be null.
> >> >> >>
> >> >> >> This was discussed both on sling-dev and jackrabbit-dev. IIRC, it
> >> >> >> was
> >> >> >> actually done in 2.1.3. I posted a potential patch on sling-dev
> when
> >> >> this
> >> >> >> initially came up.
> >> >> >>
> >> >> >> Justin
> >> >> >>
> >> >> >> >
> >> >> >> > I made a little progress today, but unfortunately, due to the
> >> >> >> > absurdities of today's build tools, I'm stuck with a bunch of
> >> >> >> > vague
> >> >> messages
> >> >> >> > that have nothing to do with actually building the software.
> That
> >> >> today you
> >> >> >> > can't replace a few libraries and a few lines of code and still
> >> >> >> > build
> >> >> >> > software without causing miles of vague errors that have nothing
> >> >> >> > to do
> >> >> with
> >> >> >> > the compilability of the actual code is ridiculous.
> >> >> >> >
> >> >> >> > [INFO] Scanning for projects...
> >> >> >> > [WARNING]
> >> >> >> > [WARNING] Some problems were encountered while building the
> >> >> >> > effective
> >> >> >> > model for
> >> >> >> >
> >> >>
> >> >>
> org.apache.sling:org.apache.sling.testing.samples.integrationtests:jar:0.1.1-SNAPSHOT
> >> >> >> > [WARNING]
> >> >> 'dependencies.dependency.(groupId:artifactId:type:classifier)'
> >> >> >> > must be unique:
> org.apache.sling:org.apache.sling.junit.remote:jar
> >> >> >> > ->
> >> >> >> > duplicate declaration of version 0.1.1-SNAPSHOT @ line 272,
> column
> >> >> >> > 21
> >> >> >> > [WARNING]
> >> >> 'dependencies.dependency.(groupId:artifactId:type:classifier)'
> >> >> >> > must be unique:
> >> >> >> > org.apache.sling:org.apache.sling.testing.tools:jar ->
> >> >> >> > duplicate declaration of version 0.1.1-SNAPSHOT @ line 277,
> column
> >> >> >> > 21
> >> >> >> > [WARNING]
> >> >> >> > [WARNING] It is highly recommended to fix these problems because
> >> >> >> > they
> >> >> >> > threaten the stability of your build.
> >> >> >> > [WARNING]
> >> >> >> > [WARNING] For this reason, future Maven versions might no longer
> >> >> support
> >> >> >> > building such malformed projects.
> >> >> >> > [WARNING]
> >> >> >> >
> >> >> >> > On Mar 31, 2011, at 2:24 PM, Eric Norman wrote:
> >> >> >> >> Hi All,
> >> >> >> >>
> >> >> >> >> I found a use case where I could also use an upgrade to
> >> >> >> >> jackrabbit
> >> >> >> >> 2.2.5 to
> >> >> >> >> utilize some changes in user/group management.  I filed JIRA
> >> >> >> >> issue SLING-2044 for tracking and will attempt the upgrade
> today.
> >> >> >> >>
> >> >> >> >> Regards,
> >> >> >> >> Eric
> >> >> >> >>
> >> >> >> >> On Fri, Mar 25, 2011 at 8:23 AM, Justin Edelson
> >> >> >> >> <[email protected]>wrote:
> >> >> >> >>
> >> >> >> >>> On Fri, Mar 25, 2011 at 9:03 AM, Ian Boston <[email protected]>
> >> >> >> >>> wrote:
> >> >> >> >>>>
> >> >> >> >>>> On 25 Mar 2011, at 12:54, Justin Edelson wrote:
> >> >> >> >>>>
> >> >> >> >>>>>
> >> >> >> >>>>>
> >> >> >> >>>>> On Mar 24, 2011, at 5:06 PM, Ian Boston <[email protected]>
> wrote:
> >> >> >> >>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>> On 24 Mar 2011, at 20:44, Craig Ganoe wrote:
> >> >> >> >>>>>>
> >> >> >> >>>>>>>
> >> >> >> >>>>>>> Is there any documentation for upgrading the jackrabbit
> >> >> >> >>>>>>> version
> >> >> in
> >> >> >> >>>>>>> the
> >> >> >> >>> Sling build?
> >> >> >> >>>>>>
> >> >> >> >>>>>> AFAIK, there is not.
> >> >> >> >>>>>> Ian
> >> >> >> >>>>>
> >> >> >> >>>>> There is, in a sense. Look at JIRA and Subversion and you'll
> >> >> >> >>>>> see
> >> >> the
> >> >> >> >>> exact set of changes made for prior upgrades.
> >> >> >> >>>>
> >> >> >> >>>> good point,
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>
> >> >> >> >>>
> >> >>
> >> >>
> https://issues.apache.org/jira/browse/SLING-1660?page=com.atlassian.jira.plugin.ext.subversion%3Asubversion-commits-tabpanel#issue-tabs
> >> >> >> >>>>
> >> >> >> >>>> http://svn.apache.org/viewvc?view=revision&revision=987559
> >> >> >> >>>>
> >> >> >> >>>> was that the right issue ?
> >> >> >> >>>
> >> >> >> >>> SLING-1531 too...
> >> >> >> >>>
> >> >> >> >>>>
> >> >> >> >>>> Ian
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>>>
> >> >> >> >>>>> Justin
> >> >> >> >>>>>>
> >> >> >> >>>>>>>
> >> >> >> >>>>>>> Thanks.
> >> >> >> >>>>>>>
> >> >> >> >>>>>>> Craig
> >> >> >> >>>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>
> >> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >
> >
> >
>

Reply via email to