RE: [DISCUSS] Consider implementors of Sling API

2013-08-05 Thread Amit.. Gupta.
+1

Regards,
Amit

-Original Message-
From: Felix Meschberger [mailto:fmesc...@adobe.com] 
Sent: 05 August 2013 20:35
To: dev@sling.apache.org
Subject: [DISCUSS] Consider implementors of Sling API

Hi all

While working on SLING-2944 [1] it occurred to me that we do not currently take 
good care to differentiate between interfaces to be implemented by a single 
bundle (such as SlingHttpServletRequest) and interfaces which may be 
implemented by multiple bundles to extend some functionality (such as 
ResourceProvider).

Also, we have a number of constant, helper, and utility type classes in the 
Sling API, which we should not make available to extensibility.

I have created SLING-2993 [2] and provided a patch to the Sling API such that:

* All classes intended for extension remain unchanged 
* All classes not intended for extension are marked final 
* All interfaces intended to be implemented by multiple bundles (providers) are 
marked @ConsumerType 
* All interfaces intended to be implemented by a single bundle are marked as 
@ProviderType

This change also requires to update the Maven Bundle Plugin version in the 
Sling parent POM to 2.4.0.

This change would prevent us from collateral damage such in the context of 
SLING-2944 where the Servlet Resolver, Filesystem Resource Provider, and Bundle 
Resource Provider bundles have to be updated just because the 
ResourceResolverFactory API has been extended.

WDYT ?

Regards
Felix

[1] https://issues.apache.org/jira/browse/SLING-2944
[2] https://issues.apache.org/jira/browse/SLING-2993


RE: [VOTE] Apache Sling Auth Core 1.1.4 Release

2013-10-03 Thread Amit.. Gupta.
+1

Amit

-Original Message-
From: ianbos...@gmail.com [mailto:ianbos...@gmail.com] On Behalf Of Ian Boston
Sent: 03 October 2013 18:19
To: dev@sling.apache.org
Subject: Re: [VOTE] Apache Sling Auth Core 1.1.4 Release

+1
Ian

On 3 October 2013 12:39, Justin Edelson  wrote:
> +1
>
> On Thu, Oct 3, 2013 at 4:29 AM, Carsten Ziegeler  wrote:
>> Hi,
>>
>> I think it time for a new auth core release. We fixed a number of issues:
>>
>> https://issues.apache.org/jira/browse/SLING/fixforversion/12324311
>>
>> Staging repository:
>> https://repository.apache.org/content/repositories/orgapachesling-125/
>>
>> You can use this UNIX script to download the release and verify the
>> signatures:
>> http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
>>
>> Usage:
>> sh check_staged_release.sh 125 /tmp/sling-staging
>>
>> Please vote to approve this release:
>>
>>  [ ] +1 Approve the release
>>  [ ]  0 Don't care
>>  [ ] -1 Don't release, because ...
>>
>> This vote will be open for 72 hours.
>>
>> Regards
>>
>>
>> --
>> Carsten Ziegeler
>> cziege...@apache.org


RE: [ANN] New committer: Amit Gupta

2013-11-14 Thread Amit.. Gupta.
Hi,

Thanks Felix, Chetan & Bertrand for a warm welcome. Thanks to the team for this 
opportunity. 

Introduction:
I work for Adobe Systems and have been using Sling for past couple of years. It 
is absolutely fantastic, and I look forward to make it even better.

Thanks,
Amit


RE: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype)

2013-11-15 Thread Amit.. Gupta.
>So, finally, I agree that baking the feature flag support directly into the 
>ResourceResolver implementation is suboptimal, it is probably still the most 
>comprehensive and complete solution to the requirements. And I cannot conceive 
>plugin hooks (at this point) to define such that we can do feature flag 
>plugins.

I think that we should not put it directly into ResourceResolver, because if 
resourceResolver does not give me a resource if feature is disabled, Resource 
will stop existing for me. There will be no way to access that resource using 
ResourceResolver api i.e. let's say I want to remove sling:feature attribute 
from that resource, I can't do that. ResourceResolverDecorator should be the 
way to go (implementation could be restricted i.e. queryResources not 
supported), additionally providing a servlet filter as Alex suggested.

Thanks,
Amit

-Original Message-
From: Felix Meschberger [mailto:fmesc...@adobe.com] 
Sent: 15 November 2013 13:11
To: dev@sling.apache.org
Subject: [OT] Feature flag influence on Resource access (Was: FYI: feature 
flags prototype)

Hi

TL;DR: Long discussion on why I think Feature flag support should currently be 
baked into the ResourceResolver implementation.

I am forking of this discussion now to step back a bit and really look into 
what we expect from Feature flag support in the ResourceResolver. I go by the 
main resource access or methods there, so:

* resolve() -> Resource
Calculates a virtual list of resource candidates and returns the first one. 
Applying feature flags, it might not return the first one.
Another level of features could be applied to supporting feature flags in the 
/etc/map mappings leading to the list of candidate resources.

* map -> String
The input path is first converted into a resource, which may have a feature 
flag applied.
In addition to applying a feature flag to the resource which is finally mapped 
the /etc/map mappings can also be "filtered" with feature flags.

* getResource() -> Resource
For absolute path its a single yes/no question: Is the resource visible or not 
according to the feature flag.
For relative paths its not as simple since the ResourceResolver iterates the 
search path looking for a resource. So each canidate is looked at and has to 
have its feature flag inspected. (feature flags of ancestors are ignored; only 
feature flags in the candidate resource itself are considered; so no feature 
flag inheritance down the tree)

* getParentResource() -> Resource
This is not an interesting case because it accesses the parent resource using 
the absolute path and we would not expect to get null here (except if the 
argument resource is the root resource).

* listChildren -> Iterator
* getChildren -> Iterable
* queryResources -> Iterator>
* findResources -> Iterator
Simple case here: We just exclude child resources whose feature flag refers to 
a disabled feature.

What options do we have ?

* ResourceResolverDecorator (to be specced/implemented): Will have to do extra 
work getResource to iterate the search path for relative resources to consider 
the feature flag - might optimize by only iterating if the actual getResource 
method returns a resource with a disabled feature flag. Iterator can 
simply be decorated, too. queryResources is harder again because this might 
contain results from queries which should not be included according to the 
feature flag (so each entry would have to be inspected, if at all possible). 
Also: A ResourceDecorator cannot properly handle feature flags in /etc/map 
mappings at all and also support feature flags on resolveResource is probably 
hard to implement because the list of canidate resources is influence by 
/etc/map mappings so a decorator would have to replicate that work.

* ResourceAccessGate: This is not leveraged by all ResourceProviders and we 
expressely leave it to these services to indicate the use of a gate. Defining 
Feature flag support to have all ResourceProviders require to leverage 
ResourceAccessGate sounds contradictionary. Also, while a case can be made for 
the Feature flag to be some kind of an access gate, the actual idea of the 
ResourceAccessGate is actual access control as in secure access. Also we just 
want to apply the feature flag "gate" to all Resourceproviders not a generic 
ACL gate which may also be defined.

* Bake Feature support into the ResourceResolver implementation: This solves 
the ResourceResolverDecorator problems by being able to handle Feature flags 
early. But is bears the problem of overloading the implementation with the 
feature flag support.

So, finally, I agree that baking the feature flag support directly into the 
ResourceResolver implementation is suboptimal, it is probably still the most 
comprehensive and complete solution to the requirements. And I cannot conceive 
plugin hooks (at this point) to define such that we can do feature flag plugins.

Is the ServletResolver also affected by feature flags ? Probably not

RE: [OT] Feature flag influence on Resource access (Was: FYI: feature flags prototype)

2013-11-15 Thread Amit.. Gupta.
Hi,

@Dominik,
Some other use cases could be - free features vs premium/paid features, where 
some features are disabled based on type of user account.

@Felix,
You are right, we can temporarily enable feature. But, as we advocate more and 
more use of ResourceResolver api instead of underlying content storage. There 
could be cases where even editors/tools used in development/installers are 
using the resourceResolver api and never see the resource.
Like exporting some content package to be deployed to another sling instance, 
but package exporter use resouceResolver api and never see the resource.

Thanks,
Amit

-Original Message-
From: Dominik Süß [mailto:dominik.su...@gmail.com] 
Sent: 15 November 2013 18:49
To: dev
Subject: Re: [OT] Feature flag influence on Resource access (Was: FYI: feature 
flags prototype)

Hi Amit,
maybe I haven't understood the idea of FeatureFlags right, but isn't this 
exactly what this is about. The system should behave if it wouldn't be there at 
all. The basic idea is that you don't have to branch it away during development 
so you can ship it in a non-productionready or non QEed state and turn it on 
without deployment (maybe just to a smaler audience or in the beta env). 
Therefore I would expect this to be completely hidden as it would like when 
being protected through ACLs.

Cheers
Dominik


On Fri, Nov 15, 2013 at 2:11 PM, Amit.. Gupta.  wrote:

> >So, finally, I agree that baking the feature flag support directly 
> >into
> the ResourceResolver implementation is suboptimal, it is probably 
> still the most comprehensive and complete solution to the 
> requirements. And I cannot conceive plugin hooks (at this point) to 
> define such that we can do feature flag plugins.
>
> I think that we should not put it directly into ResourceResolver, 
> because if resourceResolver does not give me a resource if feature is 
> disabled, Resource will stop existing for me. There will be no way to 
> access that resource using ResourceResolver api i.e. let's say I want 
> to remove sling:feature attribute from that resource, I can't do that.
> ResourceResolverDecorator should be the way to go (implementation 
> could be restricted i.e. queryResources not supported), additionally 
> providing a servlet filter as Alex suggested.
>
> Thanks,
> Amit
>
> -Original Message-
> From: Felix Meschberger [mailto:fmesc...@adobe.com]
> Sent: 15 November 2013 13:11
> To: dev@sling.apache.org
> Subject: [OT] Feature flag influence on Resource access (Was: FYI: 
> feature flags prototype)
>
> Hi
>
> TL;DR: Long discussion on why I think Feature flag support should 
> currently be baked into the ResourceResolver implementation.
>
> I am forking of this discussion now to step back a bit and really look 
> into what we expect from Feature flag support in the ResourceResolver. 
> I go by the main resource access or methods there, so:
>
> * resolve() -> Resource
> Calculates a virtual list of resource candidates and returns the first 
> one. Applying feature flags, it might not return the first one.
> Another level of features could be applied to supporting feature flags 
> in the /etc/map mappings leading to the list of candidate resources.
>
> * map -> String
> The input path is first converted into a resource, which may have a 
> feature flag applied.
> In addition to applying a feature flag to the resource which is 
> finally mapped the /etc/map mappings can also be "filtered" with feature 
> flags.
>
> * getResource() -> Resource
> For absolute path its a single yes/no question: Is the resource 
> visible or not according to the feature flag.
> For relative paths its not as simple since the ResourceResolver 
> iterates the search path looking for a resource. So each canidate is 
> looked at and has to have its feature flag inspected. (feature flags 
> of ancestors are ignored; only feature flags in the candidate resource 
> itself are considered; so no feature flag inheritance down the tree)
>
> * getParentResource() -> Resource
> This is not an interesting case because it accesses the parent 
> resource using the absolute path and we would not expect to get null 
> here (except if the argument resource is the root resource).
>
> * listChildren -> Iterator
> * getChildren -> Iterable
> * queryResources -> Iterator>
> * findResources -> Iterator
> Simple case here: We just exclude child resources whose feature flag 
> refers to a disabled feature.
>
> What options do we have ?
>
> * ResourceResolverDecorator (to be specced/implemented): Will have to 
> do extra work getResource to iterate the search path for relative 
> resources to consider the feature flag - might optimize by only 
> itera

RE: [VOTE] Release Apache Sling Commons Log 4.0.0

2013-11-19 Thread Amit.. Gupta.
+1

-Original Message-
From: Chetan Mehrotra [mailto:chetan.mehro...@gmail.com] 
Sent: 18 November 2013 15:16
To: dev
Subject: Re: [VOTE] Release Apache Sling Commons Log 4.0.0

+1
Chetan Mehrotra


On Mon, Nov 18, 2013 at 3:14 PM, Chetan Mehrotra  
wrote:
> Hi,
>
> This is to vote for the Apache Sling Commons Log 4.0.0 release. This 
> is the first release which uses Logback as the logging backend.
>
> The docs are up to date at
> http://sling.apache.org/documentation/development/logging.html
>
> Issues fixed
> https://issues.apache.org/jira/browse/SLING/fixforversion/12324947
>
> Staging repository:
> https://repository.apache.org/content/repositories/orgapachesling-150/
>
> You can use this UNIX script to download the release and verify the
> signatures:
> http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
>
> Usage:
> sh check_staged_release.sh 150 /tmp/sling-staging
>
> Please vote to approve this release:
>
>  [ ] +1 Approve the release
>  [ ]  0 Don't care
>  [ ] -1 Don't release, because ...
>
> This vote will be open for 72 hours.
>
> Regards
> Chetan Mehrotra


RE: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16

2013-11-26 Thread Amit.. Gupta.
+1

Amit

-Original Message-
From: ianbos...@gmail.com [mailto:ianbos...@gmail.com] On Behalf Of Ian Boston
Sent: 26 November 2013 13:47
To: dev@sling.apache.org
Subject: Re: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16

+1
Ian

On 26 November 2013 08:08, Mike Müller  wrote:
> +1
> Best regards
> mike
>
>> -Original Message-
>> From: Bertrand Delacretaz [mailto:bdelacre...@apache.org]
>> Sent: Tuesday, November 19, 2013 5:28 PM
>> To: dev
>> Subject: [VOTE] Release Apache Sling org.apache.sling.commons.testing 2.0.16
>>
>> Hi,
>>
>> We solved 5 issues in this release:
>>
>> https://issues.apache.org/jira/browse/SLING/fixforversion/12324059
>>
>> Staging repository:
>> https://repository.apache.org/content/repositories/orgapachesling-151/
>>
>> You can use this UNIX script to download the release and verify the 
>> signatures:
>> http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
>>
>> Usage:
>> sh check_staged_release.sh 151 /tmp/sling-staging
>>
>> Please vote to approve this release:
>>
>>   [ ] +1 Approve the release
>>   [ ]  0 Don't care
>>   [ ] -1 Don't release, because ...
>>
>> This majority vote is open for at least 72 hours.
>>
>> -Bertrand


RE: [VOTE] Release Apache Sling discovery.impl 1.0.2

2013-11-27 Thread Amit.. Gupta.
+1

-Amit

-Original Message-
From: Stefan Egli [mailto:e...@adobe.com] 
Sent: 27 November 2013 16:53
To: dev@sling.apache.org
Subject: [VOTE] Release Apache Sling discovery.impl 1.0.2

Hi,

We solved 4 issues in this release:
https://issues.apache.org/jira/browse/SLING/fixforversion/12324866

Staging repository:
https://repository.apache.org/content/repositories/orgapachesling-013/

You can use this UNIX script to download the release and verify the signatures:
http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh

Usage:
sh check_staged_release.sh 013 /tmp/sling-staging

Please vote to approve this release:

  [ ] +1 Approve the release
  [ ]  0 Don't care
  [ ] -1 Don't release, because ...

This majority vote is open for at least 72 hours.

Cheers,

Stefan


some questions around job processing

2013-12-11 Thread Amit.. Gupta.
Hi devs,

I have some questions around job processing in sling;

1.   What is the use case around - 
org.apache.sling.event.jobs.QueueConfiguration.Type#IGNORE. Code suggests that 
such jobs are not assigned any target instance but are persisted.

2.   For parallel and round robin queues, target instance id is selected on 
a round robin basis from potential targets. Is this assignment only happening 
on the leader? Or can job assignment happen on any instance in the cluster? 
Asking this question as 
org.apache.sling.event.impl.jobs.TopologyCapabilities#roundRobinMap is a local 
variable.

3.   If an instance dies then MaintenanceTask on leader takes of 
reassigning all its job. Is this the correct understanding?

Thanks,
Amit


RE: some questions around job processing

2013-12-12 Thread Amit.. Gupta.
Hi Carsten,

Another additional question/assumption around job processing:
My current assumption is that we can keep queuing jobs in sling job queue 
without affecting the performance too much, job execution is anyways throttled 
with the type of queue ordered/max parallel jobs. So, we don't need to throttle 
while putting in the sling job queue.. 

Do you see any issue with such usage?

Thanks,
Amit

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 12 December 2013 04:30
To: dev@sling.apache.org
Subject: Re: some questions around job processing

Hi Amit,


2013/12/12 Amit.. Gupta. 

> Hi devs,
>
> I have some questions around job processing in sling;
>
> 1.   What is the use case around -
> org.apache.sling.event.jobs.QueueConfiguration.Type#IGNORE. Code 
> suggests that such jobs are not assigned any target instance but are 
> persisted.
>

Yes, that's right - the idea is that you might want to suspend processing of a 
specific job type for some time (maintenance, heavy load etc.). Once you want 
to enable it, you either remove the config with IGNORE or change it to another 
type and the jobs will be processed.


>
> 2.   For parallel and round robin queues, target instance id is
> selected on a round robin basis from potential targets. Is this 
> assignment only happening on the leader? Or can job assignment happen 
> on any instance in the cluster? Asking this question as 
> org.apache.sling.event.impl.jobs.TopologyCapabilities#roundRobinMap is 
> a local variable.
>
> This assignment happens on all instances and therefore is not a true 
> round
robin as each instance assigns the jobs round robin solely on its own 
information - but it's the closest we can do without having a communication 
between the instances.



> 3.   If an instance dies then MaintenanceTask on leader takes of
> reassigning all its job. Is this the correct understanding?
>
> Yes, that's right

Regards
Carsten


> Thanks,
> Amit
>



--
Carsten Ziegeler
cziege...@apache.org


RE: [RT] New Feature Flags API / Impl

2013-12-18 Thread Amit.. Gupta.
Hi Carsten,

In FeatureManager
String[] getFeatureNames(); 

Javadoc says it returns all active features. Active might give an impression of 
this only returning enabled features, but rather it returns all available 
features. Changing the javadoc will also align with FeatureManager.isAvailable.

And, I could not understand how context is passed on in 
FeatureManager.hideResource(final String featureName, final Resource resource)

Is it the caller's responsibility to first check isEnabled(featureName, 
context), before calling hideResource?

Thanks,
-Amit

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 19 December 2013 10:33
To: dev@sling.apache.org
Subject: [RT] New Feature Flags API / Impl

Hi,

I've started with a new approach to implement the feature flags - the focus is 
on the API, which means what features do our feature flags have and how can 
they report it. (The implementation should be functional but I haven't checked 
it yet).
I went back and forth with different approaches based on Bertrands prototype 
and all the discussions and I think this approach is the most promising one:

The central service for client code is the Features service:
public interface Features {

String[] getFeatureNames();

boolean isAvailable(String featureName);

ClientContext createClientContext(ResourceResolver resolver);
ClientContext createClientContext(SlingHttpServletRequest request);

ClientContext getCurrentClientContext();

}

This can be used to find out which features are available and to create a 
client context - the context is either based on a request or on a resource 
resolver.
The client context in turn can be used to find out whether a feature is
enabled:
public interface ClientContext {

boolean isEnabled(String featureName);

Collection getEnabledFeatures(); }

So a script can use this, to do things differently etc.
In addition the Features services provides the "current client context"
which is automatically available for a request.

Now, somehow we need an API to define which feature is available and what it 
does - I came up with an extended version of the FeatureProvider (and I'm not 
so sure about this one):
public interface FeatureProvider {

String [] getFeatureNames();

   boolean isEnabled(String featureName, ProviderContext context);

Map getResourceTypeMapping(String featureName);

boolean hideResource(String featureName, Resource resource); } It's similar 
to the Bertrand's version, except that it takes a ProviderContext (which allows 
access to the request and resource resolver) and has two additional methods 
control the two most wanted features: hiding resources and changing of resource 
types.

We could then implement this provider reading OSGi configurations or whatever 
to define features.

All constructive feedback welcome - and as I said, let's first define the API

Everything can be found at:
http://svn.apache.org/repos/asf/sling/whiteboard/feature-flags/

Regards
Carsten
--
Carsten Ziegeler
cziege...@apache.org


RE: [RT] New Feature Flags API / Impl

2013-12-24 Thread Amit.. Gupta.
>>... If no one complains I'll move this stuff into the contrib section - 
+1

-Amit

-Original Message-
From: Bertrand Delacretaz [mailto:bdelacre...@apache.org] 
Sent: 24 December 2013 16:03
To: dev
Subject: Re: [RT] New Feature Flags API / Impl

On Tue, Dec 24, 2013 at 11:12 AM, Carsten Ziegeler  wrote:
>... If no one complains I'll move this stuff into the contrib section - 
>we can  change it there anyway...

Fine with me, I haven't found time to review yet but evolving it in there is 
not a problem IMO, thanks!

-Bertrand


Issue with JcrResourceUtil.createPath

2014-01-31 Thread Amit.. Gupta.
Hi,

I have found an issue [0] with JcrResourceUtil.createPath. Attached the patch 
as well in the issue, I have also added some test cases for 
JcrResourceUtil.createPath

Summary:
JcrResourceUtil.createPath fails for path such as
/a/b/c/d/e
where /ab/c already exists and d/e needs to be created in certain acl setups 
i.e.
user has read & write permission to /a/b/c not don't have read permission on /.
Current implementation expects that user would have read permission on root 
node.

Is it okie to fix this?

I have only fixed the issue in
Node createPath(String path,
  String intermediateNodeType,
  String nodeType,
  Session session,
  boolean autoSave)

for the other variant, I am not sure if we need to fix that as well. As caller 
is already passing parentNode, so we can assume that user already have access 
to  parentNode.

Thanks,
Amit
[0] https://issues.apache.org/jira/browse/SLING-3361



RE: Issue with JcrResourceUtil.createPath

2014-01-31 Thread Amit.. Gupta.
Thanks..I have updated the patch to cover both variants. 

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 31 January 2014 18:04
To: dev@sling.apache.org
Subject: Re: Issue with JcrResourceUtil.createPath

Hi Amit,

patch looks good to me.

For fixing the other method I'm not sure, I could argue that e.g. /a/b/c/d 
exists, user is allowed to read /a/b and read/write to /a/b/c/d but can't read 
/a/b/c. Now the user gets /a/b and calls createPath() passing this node and 
wanting to create /a/b/c/d/e - which would be possible but fail as /a/b/c is 
not readable for the user.
A little bit artificial, I agree - but if it's easy to fix, I think we should 
do this - just to be consistent.

Carsten


2014-01-31 Amit.. Gupta. :

> Hi,
>
> I have found an issue [0] with JcrResourceUtil.createPath. Attached 
> the patch as well in the issue, I have also added some test cases for 
> JcrResourceUtil.createPath
>
> Summary:
> JcrResourceUtil.createPath fails for path such as /a/b/c/d/e where 
> /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read 
> permission on /.
> Current implementation expects that user would have read permission on 
> root node.
>
> Is it okie to fix this?
>
> I have only fixed the issue in
> Node createPath(String path,
>   String intermediateNodeType,
>   String nodeType,
>   Session session,
>   boolean autoSave)
>
> for the other variant, I am not sure if we need to fix that as well. 
> As caller is already passing parentNode, so we can assume that user 
> already have access to  parentNode.
>
> Thanks,
> Amit
> [0] https://issues.apache.org/jira/browse/SLING-3361
>
>


--
Carsten Ziegeler
cziege...@apache.org


RE: buildbot failure in ASF Buildbot on sling-trunk

2014-02-01 Thread Amit.. Gupta.
The integration tests are passing locally for bundles/extensions/models but 
failing in ci with following message
01.02.2014 11:46:52.889 *INFO* [FelixStartLevel] 
org.apache.sling.installer.core BundleEvent STARTING
01.02.2014 11:46:53.108 *INFO * [main] Startup completed
60496 [main] INFO org.apache.sling.models.it.RemoteIT - Server not ready after 
60 seconds, giving up
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 60.52 sec <<< 
FAILURE!
org.apache.sling.models.it.RemoteIT  Time elapsed: 60.52 sec  <<< ERROR!
java.lang.AssertionError: Server not ready after 60 seconds, giving up
at org.junit.Assert.fail(Assert.java:88)


-Original Message-
From: build...@apache.org [mailto:build...@apache.org] 
Sent: 01 February 2014 17:18
To: dev@sling.apache.org
Subject: buildbot failure in ASF Buildbot on sling-trunk

The Buildbot has detected a new failure on builder sling-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/sling-trunk/builds/235

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: osiris_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch sling/trunk] 1563397
Blamelist: amitgupt

BUILD FAILED: failed compile

sincerely,
 -The Buildbot





RE: [featureflags] NPE in context.getResourceResolver()

2014-02-06 Thread Amit.. Gupta.
Hi Felix,

I saw this briefly. This comes if I try to use web console to see the list of 
features.

In that case, if the isEnabled depends on resourceResolver that will perhaps 
fails.

Thanks,
-Amit

-Original Message-
From: Felix Meschberger [mailto:fmesc...@adobe.com] 
Sent: 06 February 2014 16:07
To: dev@sling.apache.org
Subject: Re: [featureflags] NPE in context.getResourceResolver()

Hi

Am 06.02.2014 um 11:18 schrieb Simone Tripodi :

> Hi all mates,
> 
> A colleague of mine just let me notice that from the sling 
> ExecutionContextImpl implementation, it seems like resourceResolver 
> could be null,

Well yes, that is how ExecutionContext.getResourceResolver is defined:

> /**
>  * Returns a {@code ResourceResolver} object to retrieve information which
>  * may influence the decision whether a {@link Feature} is enabled or not.
>  * If a {@code ResourceResolver} object is not available in the context,
>  * this method may return {@code null}.
>  *
>  * @return the resource resolver or {@code null}
>  */
> ResourceResolver getResourceResolver();
> 


> SlingAuthenticator gets control after the Feature's filter & sets the 
> resolver...

Can you provide a stack trace ? Thanks.

> 
> Is there any way we can obtain the ResourceResolver before Feature's 
> filter is invoked?

The implementation is that the FeatureManager as a Filter is called before the 
actual servlet (e.g. SlingMainServlet) is called for request processing. This 
should actually also happen after authentication is handled.

The FeatureManager filter tries to extract the ResourceResolver from the 
request attribute which is expected to be set by the Sling Authenticator. If 
the request attribute is not available (or not a ResourceResolver instance), 
the ExecutionCOntext will not provide a resource resolver.

Regards
Felix


> 
> Many thanks in advance, all the best!
> -Simo
> 
> http://people.apache.org/~simonetripodi/
> http://twitter.com/simonetripodi



RE: [VOTE] Release Apache Sling API 2.6.0 and Engine 2.3.0

2014-02-25 Thread Amit.. Gupta.
+1

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 25 February 2014 15:21
To: dev@sling.apache.org
Subject: Re: [VOTE] Release Apache Sling API 2.6.0 and Engine 2.3.0

+1


2014-02-25 10:41 GMT+01:00 Felix Meschberger :

> +1
>
> Regards
> Felix
>
> Am 25.02.2014 um 10:38 schrieb Felix Meschberger :
>
> > Hi,
> >
> > This is the vote to release
> >
> > - Sling API 2.6.0
> >  https://issues.apache.org/jira/browse/SLING/fixforversion/12325953
> >
> > - Sling Engine 2.3.0
> >  https://issues.apache.org/jira/browse/SLING/fixforversion/12325271
> >
> > this vote is about the first release of the Resource Merger
> >
> > Staging repository:
> > https://repository.apache.org/content/repositories/orgapachesling-10
> > 13
> >
> > You can use this UNIX script to download the release and verify the
> > signatures:
> > http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
> >
> > Usage:
> > sh check_staged_release.sh 1013 /tmp/sling-staging
> >
> > Please vote to approve this release:
> >
> > [ ] +1 Approve the release
> > [ ]  0 Don't care
> > [ ] -1 Don't release, because ...
> >
> > This vote will be open for 72 hours.
> >
> > Sorry for conflating two released modules in a single module. The 
> > reason
> is to speed things up since the Engine release really depends on the 
> API release because of implementing the new
> SlingHttpServletRequest.getRequestParameterList() method.
> >
> > Regards
> > Felix
>
>


--
Carsten Ziegeler
cziege...@apache.org


RE: using jdk 6 class in a sling patch

2012-11-26 Thread Amit.. Gupta.
>  * Java 5 by default
  * Java 6 acceptable (requiring appropriate
  Bundle-RequiredExceutionEnvironment setup and API checks)
  * Launchpad will require Java 6 in the future

+1

Thanks,
Amit


RE: User to tenant mapping

2013-01-16 Thread Amit.. Gupta.
> * Based on property set in user home

Will there be security issue with such approach? As a user would have write 
access to user node and thus change its tenant. Otherwise this looks fine.

A path based approach is advantageous as it allows one to control the acls and 
thus restrict a tenant's admin to only create users for specific tenant.

Thanks,
Amit
-Original Message-
From: maret.timot...@gmail.com [mailto:maret.timot...@gmail.com] On Behalf Of 
Timothée Maret
Sent: 16 January 2013 14:32
To: dev@sling.apache.org
Subject: User to tenant mapping

Hi,

I have been using the sling tenant recently and although the tenant path 
matcher configuration is flexbile, the user to tenant resolution mechanism 
enforces to organize the users following a fixed structure where all the users 
must be under the tenantId root.

As an example:

/home/users//bob
  /us/alice
  /fr/charles

This is not flexible enough, especially with enabling tenant support on legacy 
system where users location is already set.

I think there two approaches to improve that

* Based on group

Instead of being applied against the user home path, the regex could be applied 
against all the groups the user is a member of. Each tenant would be assigned 
to a default group and the first tenant.default-group/user.group match would 
define the user as being part of the group.

This offers the flexibility to store the user anywhere. However, the resolution 
would be undeterministic in cases where the user has more than one tenant group 
assigned. Moreover, this would interleave group and tenant support which sounds 
like a limitation in comparison to the path based approach.

* Based on property set in user home

Each user part of a tenant would have a property "tenantId" set which would map 
it to the tenant.
This implies a bit more maintenance but would offer the flexibility to store 
users anywhere as well as a separation between group and tenants.

To me, the property based is clearly the best way to go as it offers most 
flexibility in therms of group and user organization. Moreover, it could be 
implemented as an extension of the current design.
Basically, instead of only trying to match against the user home path, the 
TenantAdapterFactory could also look for the userHome + "tenantId" property 
path. If the property is present, then the value could be appended to the user 
home path and tried to be matched against the regex.

wdyt ?

Regards,

Timothee.


RE: [VOTE] Release Apache Sling Tenant 1.0.0 and Apache Sling javax.activation 0.1.0

2013-04-25 Thread Amit.. Gupta.
+1

Thanks,
Amit

-Original Message-
From: maret.timot...@gmail.com [mailto:maret.timot...@gmail.com] On Behalf Of 
Timothée Maret
Sent: 25 April 2013 12:54
To: dev@sling.apache.org
Subject: Re: [VOTE] Release Apache Sling Tenant 1.0.0 and Apache Sling 
javax.activation 0.1.0

+1

Regards,

Timothee.

2013/4/25 Felix Meschberger 

> +1
>
> Regards
> Felix
>
> --
> Felix Meschberger | Principal Scientist | Adobe
>
>
>
>
> On 23.04.13 12:02, "Carsten Ziegeler"  wrote:
>
> >Hi,
> >
> >this vote is about a the first release for two of our modules
> >
> >So please vote for the release of:
> >Apache Sling Tenant 1.0.0
> >
> >Apache Sling javax.activation 0.1.0
> >
> >
> >Staging repository:
> >https://repository.apache.org/content/repositories/orgapachesling-127
>  >s://repository.apache.org/content/repositories/orgapachesling-237/>
> >
> >
> >You can use this UNIX script to download the release and verify the
> >signatures:
> >http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
> >
> >Usage:
> >sh check_staged_release.sh 127 /tmp/sling-staging
> >
> >
> >Please vote to approve this release:
> >
> > [ ] +1 Approve the release
> > [ ]  0 Don't care
> > [ ] -1 Don't release, because ...
> >
> >This vote will be open for 72 hours.
> >
> >Regards
> >Carsten
> >--
> >Carsten Ziegeler
> >cziege...@apache.org
>
>


-- 
Timothée Maret


Please vote for SLING-2853

2013-05-03 Thread Amit.. Gupta.
Hi Devs,

Please vote for [0]. This is a proposal for Adding ResourceCollection to Sling. 
There is a patch [1] attached as well, as a first cut implementation.

Summary:
This proposal is to add a ResourceCollection interface and implementation that 
allows creation of collection of resources.
Collection is a simple list of members, where each member contains path of 
resource it refers to. In future, we might need to store additional information 
with the member, hence following structure is proposed

N: resourceCollection (nt:unstructured)
+ P: sling:resourceType
+ N : members (nt:unstructured)
+ N: member_res1 > nt:unstructured
+ P: path > string, reference to actual resource
+ N: member_res2 > nt:unstructured
+ P: path > string, reference to actual resource

Your views on the same are requested.

Thanks,
Amit

[0] https://issues.apache.org/jira/browse/SLING-2853
[1] 
https://issues.apache.org/jira/secure/attachment/12581670/resourcecollection.zip



RE: [COLLECTION] ResoucreCollectionManager

2013-05-06 Thread Amit.. Gupta.
Yeah, good suggestion that will also make it consistent with regards to use of 
resource resolver. Also, I was thinking that getCollection should take String 
path, instead of resource. 

Resource seems confusing, though I changed it to make it consistent with other 
methods in the interface.

WDYT?

-Amit

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 06 May 2013 18:01
To: dev@sling.apache.org
Subject: Re: [COLLECTION] ResoucreCollectionManager

Btw, the current implementation is sometimes using the resource resolver from 
the passed resource and sometimes the one used when the manager was created. 
This should be avoided.


2013/5/6 Carsten Ziegeler 

> Hi,
>
> I looked at the recent version of the ResourceCollectionManager. I'm 
> fine with the API, but why not make this a simple service which one 
> can lookup from the service registry?
>
> With the new API there is no need to hold a resource resolver within 
> the manager, as always at least a resource is passed into a method. So 
> we can make this a real service, remove the getResourceResolver() 
> method and leave the adapter factory as a convenience way.
>
> WDYT?
>
> Carsten
>
> --
> Carsten Ziegeler
> cziege...@apache.org
>



--
Carsten Ziegeler
cziege...@apache.org


RE: Please vote for SLING-2853 (content Structure)

2013-05-06 Thread Amit.. Gupta.
I am in favour of keeping both jcr:content and sling:members, it might look 
additional today. But this will ensure that we have enough flexibility to 
evolve in future.

If this looks fine to everyone, I can work on a patch..

Thanks,
-Amit

-Original Message-
From: Felix Meschberger [mailto:fmesc...@adobe.com] 
Sent: 06 May 2013 13:13
To: dev@sling.apache.org
Subject: Re: Please vote for SLING-2853

Hi

I have just committed the latest patch. Thanks for that so far.

I am sure the discussion and fine-tuning will continue. So I invite to continue 
such discussions and create follow-up issues for implementation/fixes/etc.

As for the last comment by AlexK: Yes, the jcr:content/sling:members child node 
may sound like an additional redirection. On the other hand it will help keeing 
the tree structure structurized -- Once we have some data stored out there it 
will probably become harder and harder to change the structure later. So much 
like API I like to get data structures right as early as possible.

Regards
Felix

Am 06.05.2013 um 09:11 schrieb Felix Meschberger:

> Hi
> 
> Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz:
> 
>> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler  
>> wrote:
>>> ...One thing we imho should discuss is whether this should be using 
>>> the api package, like o.a.s.api.resource.collection; We could leave 
>>> it in the separate bundle as is right now, and once we consider it 
>>> stable, move the package to the official API package
>> 
>> That would work but there's some potential for confusion if we do 
>> that, I prefer a separate o.a.s.collections package as now.
> 
> Yes, the current proposal is o.a.s.resource.collections which sounds 
> good IMHO
> 
> Regards
> Felix



RE: Please vote for SLING-2853 (content Structure)

2013-05-06 Thread Amit.. Gupta.
That does not seem to be a use case so far for collections..

-Amit
-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 06 May 2013 23:49
To: dev@sling.apache.org
Subject: Re: Please vote for SLING-2853 (content Structure)

The only  potential reason I see for jcr:content is if we allow a hierarchy of 
collections, so /a/b points to collection B and /a/b/c points to collection C.

Carsten


2013/5/6 Carsten Ziegeler 

> Ok, found it in the bug; I think "sling:members" is fine and I don't 
> see any need for jcr:content. It doesn't provide any additional value, 
> so let's just go with sling:members
>
> Carsten
>
>
> 2013/5/6 Carsten Ziegeler 
>
>> Sorry to ask, but what is jcr:content for?
>>
>> Regards
>> Carsten
>>
>>
>> 2013/5/6 Amit.. Gupta. 
>>
>> I am in favour of keeping both jcr:content and sling:members, it 
>> might
>>> look additional today. But this will ensure that we have enough 
>>> flexibility to evolve in future.
>>>
>>> If this looks fine to everyone, I can work on a patch..
>>>
>>> Thanks,
>>> -Amit
>>>
>>> -Original Message-
>>> From: Felix Meschberger [mailto:fmesc...@adobe.com]
>>> Sent: 06 May 2013 13:13
>>> To: dev@sling.apache.org
>>> Subject: Re: Please vote for SLING-2853
>>>
>>> Hi
>>>
>>> I have just committed the latest patch. Thanks for that so far.
>>>
>>> I am sure the discussion and fine-tuning will continue. So I invite 
>>> to continue such discussions and create follow-up issues for 
>>> implementation/fixes/etc.
>>>
>>> As for the last comment by AlexK: Yes, the jcr:content/sling:members 
>>> child node may sound like an additional redirection. On the other 
>>> hand it will help keeing the tree structure structurized -- Once we 
>>> have some data stored out there it will probably become harder and 
>>> harder to change the structure later. So much like API I like to get 
>>> data structures right as early as possible.
>>>
>>> Regards
>>> Felix
>>>
>>> Am 06.05.2013 um 09:11 schrieb Felix Meschberger:
>>>
>>> > Hi
>>> >
>>> > Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz:
>>> >
>>> >> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler <
>>> cziege...@apache.org> wrote:
>>> >>> ...One thing we imho should discuss is whether this should be 
>>> >>> using the api package, like o.a.s.api.resource.collection; We 
>>> >>> could leave it in the separate bundle as is right now, and once 
>>> >>> we consider it stable, move the package to the official API package
>>> >>
>>> >> That would work but there's some potential for confusion if we do 
>>> >> that, I prefer a separate o.a.s.collections package as now.
>>> >
>>> > Yes, the current proposal is o.a.s.resource.collections which 
>>> > sounds good IMHO
>>> >
>>> > Regards
>>> > Felix
>>>
>>>
>>
>>
>> --
>> Carsten Ziegeler
>> cziege...@apache.org
>>
>
>
>
> --
> Carsten Ziegeler
> cziege...@apache.org
>



--
Carsten Ziegeler
cziege...@apache.org


RE: Please vote for SLING-2853 (content Structure)

2013-05-06 Thread Amit.. Gupta.
Fixed the name of the node as sling:members in 
https://issues.apache.org/jira/browse/SLING-2857

Also, fixed the name of the property to sling:resources to make it consistent 
with sling:resource. Also, fixed another minor issue.

Patch is attached in the bug.

Thanks,
Amit

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 06 May 2013 23:49
To: dev@sling.apache.org
Subject: Re: Please vote for SLING-2853 (content Structure)

The only  potential reason I see for jcr:content is if we allow a hierarchy of 
collections, so /a/b points to collection B and /a/b/c points to collection C.

Carsten


2013/5/6 Carsten Ziegeler 

> Ok, found it in the bug; I think "sling:members" is fine and I don't 
> see any need for jcr:content. It doesn't provide any additional value, 
> so let's just go with sling:members
>
> Carsten
>
>
> 2013/5/6 Carsten Ziegeler 
>
>> Sorry to ask, but what is jcr:content for?
>>
>> Regards
>> Carsten
>>
>>
>> 2013/5/6 Amit.. Gupta. 
>>
>> I am in favour of keeping both jcr:content and sling:members, it 
>> might
>>> look additional today. But this will ensure that we have enough 
>>> flexibility to evolve in future.
>>>
>>> If this looks fine to everyone, I can work on a patch..
>>>
>>> Thanks,
>>> -Amit
>>>
>>> -Original Message-
>>> From: Felix Meschberger [mailto:fmesc...@adobe.com]
>>> Sent: 06 May 2013 13:13
>>> To: dev@sling.apache.org
>>> Subject: Re: Please vote for SLING-2853
>>>
>>> Hi
>>>
>>> I have just committed the latest patch. Thanks for that so far.
>>>
>>> I am sure the discussion and fine-tuning will continue. So I invite 
>>> to continue such discussions and create follow-up issues for 
>>> implementation/fixes/etc.
>>>
>>> As for the last comment by AlexK: Yes, the jcr:content/sling:members 
>>> child node may sound like an additional redirection. On the other 
>>> hand it will help keeing the tree structure structurized -- Once we 
>>> have some data stored out there it will probably become harder and 
>>> harder to change the structure later. So much like API I like to get 
>>> data structures right as early as possible.
>>>
>>> Regards
>>> Felix
>>>
>>> Am 06.05.2013 um 09:11 schrieb Felix Meschberger:
>>>
>>> > Hi
>>> >
>>> > Am 06.05.2013 um 08:54 schrieb Bertrand Delacretaz:
>>> >
>>> >> On Sun, May 5, 2013 at 11:40 AM, Carsten Ziegeler <
>>> cziege...@apache.org> wrote:
>>> >>> ...One thing we imho should discuss is whether this should be 
>>> >>> using the api package, like o.a.s.api.resource.collection; We 
>>> >>> could leave it in the separate bundle as is right now, and once 
>>> >>> we consider it stable, move the package to the official API package
>>> >>
>>> >> That would work but there's some potential for confusion if we do 
>>> >> that, I prefer a separate o.a.s.collections package as now.
>>> >
>>> > Yes, the current proposal is o.a.s.resource.collections which 
>>> > sounds good IMHO
>>> >
>>> > Regards
>>> > Felix
>>>
>>>
>>
>>
>> --
>> Carsten Ziegeler
>> cziege...@apache.org
>>
>
>
>
> --
> Carsten Ziegeler
> cziege...@apache.org
>



--
Carsten Ziegeler
cziege...@apache.org


RE: [COLLECTION] ResoucreCollectionManager

2013-05-07 Thread Amit.. Gupta.
> I mean ResourceCollectionManager and ResourceCollectionManagerImpl of course.
 Yeah, I was wondering if it is just me little sleepy.. or you really meant 
that :)

-Original Message-
From: Alexander Klimetschek [mailto:aklim...@adobe.com] 
Sent: 08 May 2013 01:35
To: dev@sling.apache.org
Subject: Re: [COLLECTION] ResoucreCollectionManager

On 07.05.2013, at 22:03, Alexander Klimetschek  wrote:

> This means we can remove both ResourceCollection and ResourceCollectionImpl, 
> unless I am missing something.

I mean ResourceCollectionManager and ResourceCollectionManagerImpl of course.

Alex



RE: [COLLECTION] API Package

2013-05-07 Thread Amit.. Gupta.
I think that we can keep it in current state, until it stabilizes. And let's 
not split api and impl for now, to avoid multiple releases.

-Amit

-Original Message-
From: Felix Meschberger [mailto:fmesc...@adobe.com] 
Sent: 08 May 2013 05:04
To: dev@sling.apache.org
Subject: Re: [COLLECTION] API Package

Hi

I don't think we should have o.a.s.api packages outside of the api bundle. This 
would be confusing.

Regards
Felix

--
Felix Meschberger  |  Principal Scientist  |  fmesc...@adobe.com

Am 07.05.2013 um 18:44 schrieb "Carsten Ziegeler" :

> The resource collection uses currently the package 
> org.apache.sling.resource.collection.
> 
> I'm wondering if we should follow the original proposal and use 
> org.apache.sling.api.resource.collection instead?
> We can keep the api in the separate bundle until it's stable and then 
> move it the Sling API bundle and wouldn't need to change the package 
> name but get a consistent package naming.
> 
> WDYT?
> Carsten
> 
> --
> Carsten Ziegeler
> cziege...@apache.org


JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior

2013-05-17 Thread Amit.. Gupta.
Hi Devs,

I have been debugging an issue with sling jobs and finally found that current 
implementation JobMangerImpl.writeJob can cause inconsistent behaviour (root 
cause is JcrResourceProvider.create)

Issue that led to this:
I observed that sometime all of my event properties were not being written to 
the job node. Though the job node was being created. But ultimately JobManager 
would error out giving following messages:
17.05.2013 16:41:57.578 *WARN* [Apache Sling Job Background Loader] 
org.apache.sling.event.impl.jobs.JobManagerImpl Discarding job - job topic is 
missing : 
/var/eventing/jobs/assigned/826cd21a-6a8f-48cb-b112-768b421af572/slingevent:eventadmin/2013/5/17/16/39/com.adobe.cq.collection.update.job_826cd21a-6a8f-48cb-b112-768b421af572_2
Sometime, my job handler would be called, but event won't have enough 
properties that I sent to jobManager.
Problem:
There was an issue in my code that was adding a property to the event, which 
had invalid key i.e. /a/b/c/a.txt and JcrResourceProvider can not persist it. 
Hence the issue. This is fine, I can correct it.

But the main problem is that this persistence error was never reported in error 
logs, and job got persisted event though JcrResourceProvider.create threw a 
PersistenceException. But the job was created with fewer properties with what I 
intended. This resulted in sometime, my JobHandler being called, but not 
getting enough properties.

With the debugging, I found that JobManagerImpl.writeJob can cause some 
inconsistent behaviour due to the way, ResourceUtil.getOrCreateResource and 
JcrResourceProvider.create.

In this case following happened:
JcrResourceProvider.create threw PE while persisting the property, but the node 
was already by this time.
ResourceUtil.getOrCreateResource caught the PE, but checked for the existence 
of resource and hence ignored it.

Now, above implementation is wrong, either JcrResourceProvider should ensure 
that operation is atomic. Or ResourceUtil.getOrCreateResource should be changed 
revert changes in case of exception.

WDYT?

Thanks,
Amit



RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior

2013-05-17 Thread Amit.. Gupta.
Yeah, the key is okie, it was just a side effect of some logic, I didn't intend 
to put it there. I can fix that

-Amit

-Original Message-
From: Carsten Ziegeler [mailto:cziege...@apache.org] 
Sent: 17 May 2013 17:27
To: dev@sling.apache.org
Subject: Re: JcrResourceProvider.create/JobMangerImpl.writeJob can cause 
inconsistent behavior

Hi,

good catch, I think JcrResourceProvider should remove the node if setting 
properties fails.

But /a/b/c/a.txt shouldn't be an invalid key - this should be encoded.

Regards
Carsten


2013/5/17 Amit.. Gupta. 

> Hi Devs,
>
> I have been debugging an issue with sling jobs and finally found that 
> current implementation JobMangerImpl.writeJob can cause inconsistent 
> behaviour (root cause is JcrResourceProvider.create)
>
> Issue that led to this:
> I observed that sometime all of my event properties were not being 
> written to the job node. Though the job node was being created. But 
> ultimately JobManager would error out giving following messages:
> 17.05.2013 16:41:57.578 *WARN* [Apache Sling Job Background Loader] 
> org.apache.sling.event.impl.jobs.JobManagerImpl Discarding job - job 
> topic is missing :
> /var/eventing/jobs/assigned/826cd21a-6a8f-48cb-b112-768b421af572/sling
> event:eventadmin/2013/5/17/16/39/com.adobe.cq.collection.update.job_82
> 6cd21a-6a8f-48cb-b112-768b421af572_2
> Sometime, my job handler would be called, but event won't have enough 
> properties that I sent to jobManager.
> Problem:
> There was an issue in my code that was adding a property to the event, 
> which had invalid key i.e. /a/b/c/a.txt and JcrResourceProvider can 
> not persist it. Hence the issue. This is fine, I can correct it.
>
> But the main problem is that this persistence error was never reported 
> in error logs, and job got persisted event though 
> JcrResourceProvider.create threw a PersistenceException. But the job 
> was created with fewer properties with what I intended. This resulted 
> in sometime, my JobHandler being called, but not getting enough properties.
>
> With the debugging, I found that JobManagerImpl.writeJob can cause 
> some inconsistent behaviour due to the way, 
> ResourceUtil.getOrCreateResource and JcrResourceProvider.create.
>
> In this case following happened:
> JcrResourceProvider.create threw PE while persisting the property, but 
> the node was already by this time.
> ResourceUtil.getOrCreateResource caught the PE, but checked for the 
> existence of resource and hence ignored it.
>
> Now, above implementation is wrong, either JcrResourceProvider should 
> ensure that operation is atomic. Or ResourceUtil.getOrCreateResource 
> should be changed revert changes in case of exception.
>
> WDYT?
>
> Thanks,
> Amit
>
>


--
Carsten Ziegeler
cziege...@apache.org


RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior

2013-05-18 Thread Amit.. Gupta.
Hi Carsten,

I think that change has surfaced one more bug that was perhaps working as a 
side effect, after I used the latest changed JcrResourceResolver, I get 
following error in logs
19.05.2013 02:40:37.421 *ERROR* [Thread-33] 
org.apache.sling.event.impl.dea.DistributedEventReceiver Exception during 
writing the event to the resource tree. 
org.apache.sling.api.resource.PersistenceException: Unable to create resource 
with path 
/var/eventing/distribution/826cd21a-6a8f-48cb-b112-768b421af572/2013/5/19/2/40/event-372
at 
org.apache.sling.event.impl.support.ResourceHelper.getOrCreateResource(ResourceHelper.java:230)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.writeEvent(DistributedEventReceiver.java:208)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.processWriteQueue(DistributedEventReceiver.java:158)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.access$500(DistributedEventReceiver.java:75)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver$1.run(DistributedEventReceiver.java:115)
at java.lang.Thread.run(Thread.java:662) 

on debugging I found that this event has following property
":sling:jobs:asynchandler" which jcr wont allow

This property is coming from JobConsumer.

Thanks,
-Amit


RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause inconsistent behavior

2013-05-18 Thread Amit.. Gupta.
Minor correction in the mail 

-Original Message-
From: Amit.. Gupta. 
Sent: 19 May 2013 02:53
To: dev@sling.apache.org
Subject: RE: JcrResourceProvider.create/JobMangerImpl.writeJob can cause 
inconsistent behavior

Hi Carsten,

I think that change has surfaced one more bug that was perhaps working as a 
side effect, after I used the latest changed JcrResourceProvider, I get 
following error in logs
19.05.2013 02:40:37.421 *ERROR* [Thread-33] 
org.apache.sling.event.impl.dea.DistributedEventReceiver Exception during 
writing the event to the resource tree. 
org.apache.sling.api.resource.PersistenceException: Unable to create resource 
with path 
/var/eventing/distribution/826cd21a-6a8f-48cb-b112-768b421af572/2013/5/19/2/40/event-372
at 
org.apache.sling.event.impl.support.ResourceHelper.getOrCreateResource(ResourceHelper.java:230)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.writeEvent(DistributedEventReceiver.java:208)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.processWriteQueue(DistributedEventReceiver.java:158)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver.access$500(DistributedEventReceiver.java:75)
at 
org.apache.sling.event.impl.dea.DistributedEventReceiver$1.run(DistributedEventReceiver.java:115)
at java.lang.Thread.run(Thread.java:662) 

on debugging I found that this event has following property 
":sling:jobs:asynchandler" which jcr wont allow

This property is coming from JobConsumer.

Thanks,
-Amit


RE: [sling/collection] Properties

2013-07-24 Thread Amit.. Gupta.
ResourceCollection has

/**
 * Creates a new entry in the collection at the last position and add a 
reference to resource
 * in the entry.
 * Changes are transient & have to be saved by calling resolver.commit()
 *
 * @param resource resource to be added
 * @param properties The additional properties to be stored with the 
collection entry (can be null).
 * @return true if addition of resource to collection was successful or
 * false if collection already contained the resource or resource 
is null.
 *
 * @throws {@link PersistenceException} if the operation fails
 */
boolean add(Resource resource, Map properties) throws 
PersistenceException;

And, then to retrieve and update the properties.
/**
 * Returns additional properties for a particular resource in Collection 
entry.
 *
 * @return properties of the Collection entry as 
ModifiableValueMap, returns null if entry found.
 */
ModifiableValueMap getProperties(Resource resource);

Thanks
-Amit
From: Ben Helleman [mailto:bhell...@adobe.com]
Sent: 25 July 2013 00:10
To: dev@sling.apache.org
Subject: [sling/collection] Properties

Is there any way which to apply properties to members of a sling/collection?

For example I would like to apply properties to the websites node, not the 
resource which websites references.  Yes, I'm aware that I could get the 
collection and dig through children until I find the node of interest and then 
apply properties.  But there must a better way.

[cid:image002.png@01CE887B.BB7E13C0]

Thanks
Ben


RE: [sling/collection] Properties

2013-07-28 Thread Amit.. Gupta.
> however I find the ResourceCollection API a little inconsistent.  For example 
> there is a mixed concept between the actual resource and the sling:member 
> reference.  Which is why I ended up over looking getProperties.  My initial 
> though was that you would be getting the properties of the _actual_ resource 
> which the collection references.

>  It would be nice to have a getMembers() API that would return you the 
> sling:members which then you could iterate over.  
This was originally discussed in [1] as well and it was decided that it not 
needed if we already have getProperties(). Still I have logged [0] to open 
discussion on the this.

> There is a public static ResourceCollectionConstants.MEMBERS_NODE_NAME which 
> gave me the feeling that there should be an API that would return these 
> values.  If this is not the case then I thought it would have been protected 
> or private.
This is in impl package, and not exported.

Thanks,
Amit
[0] https://issues.apache.org/jira/browse/SLING-2982
[1] https://issues.apache.org/jira/browse/SLING-2853


-Original Message-
From: Ben Helleman [mailto:bhell...@adobe.com] 
Sent: 26 July 2013 17:20
To: dev@sling.apache.org
Subject: Re: [sling/collection] Properties

Hi Amit

I managed to get things working with the APIs you specified, however I find the 
ResourceCollection API a little inconsistent.  For example there is a mixed 
concept between the actual resource and the sling:member reference.  Which is 
why I ended up over looking getProperties.  My initial though was that you 
would be getting the properties of the _actual_ resource which the collection 
references.  I thought this because when you add a resource to the collection 
it is the actual resource, so having a mix between the sling:member resources 
vs actual resources is confusing.  

I also have a requirement to iterate through the sling:members in the 
collection and pull the properties off the nodes to render UI, however this 
isn't simple enough to do with the current API.  The two apis we have to use 
are getResources(), and getProperties() are do not reference the same resources 
which muddies the water.  It would be nice to have a getMembers() API that 
would return you the sling:members which then you could iterate over.  

There is a public static ResourceCollectionConstants.MEMBERS_NODE_NAME which 
gave me the feeling that there should be an API that would return these values. 
 If this is not the case then I thought it would have been protected or private.

Ben

On 2013-07-24, at 9:43 PM, Amit.. Gupta.  wrote:

> ResourceCollection has
> 
> /**
> * Creates a new entry in the collection at the last position and add a 
> reference to resource
> * in the entry.
> * Changes are transient & have to be saved by calling resolver.commit()
> *
> * @param resource resource to be added
> * @param properties The additional properties to be stored with the 
> collection entry (can be null).
> * @return true if addition of resource to collection was successful or
> * false if collection already contained the resource or resource 
> is null.
> *
> * @throws {@link PersistenceException} if the operation fails
> */
> boolean add(Resource resource, Map properties) throws 
> PersistenceException;
> 
> And, then to retrieve and update the properties.
> /**
> * Returns additional properties for a particular resource in Collection 
> entry.
> *
> * @return properties of the Collection entry as 
> ModifiableValueMap, returns null if entry found.
> */
>ModifiableValueMap getProperties(Resource resource);
> 
> Thanks
> -Amit
> From: Ben Helleman [mailto:bhell...@adobe.com]
> Sent: 25 July 2013 00:10
> To: dev@sling.apache.org
> Subject: [sling/collection] Properties
> 
> Is there any way which to apply properties to members of a sling/collection?
> 
> For example I would like to apply properties to the websites node, not the 
> resource which websites references.  Yes, I'm aware that I could get the 
> collection and dig through children until I find the node of interest and 
> then apply properties.  But there must a better way.
> 
> [cid:image002.png@01CE887B.BB7E13C0]
> 
> Thanks
> Ben



RE: [RT] Support for deep reads from a value map

2014-03-14 Thread Amit.. Gupta.
> FWIW, there are lots of calls to resource.adaptTo(ValueMap) in rendering code.
+1



RE: Events, Jobs and admin sessions

2014-05-15 Thread Amit.. Gupta.
> However, the creator of a job could add the subject as a property to the job

Can JobManager do that as it should have the creator information when the job 
is being created?

Thanks,
-Amit

-Original Message-
From: Lars Krapf [mailto:lkr...@adobe.com] 
Sent: 14 May 2014 19:20
To: dev@sling.apache.org
Subject: Re: Events, Jobs and admin sessions

Hello Carsten

Thanks for your reply.

No, I don't see an obvious solution either.
It's just that while reviewing the loginAdmin() usages, I discovered that a lot 
of the cases are based on this problem, and I was hoping for a solution that is 
as generic as possible.

For the jobs, I could imagine an extension of the JobManager API that allows 
passing the subject. The resource resolver factory could then take the 
event/job as a parameter and return a resolver with the privileges of the 
corresponding subject.

For the events, the situation seems to be even more complicated because usualy 
the event is not created manually, and I'm not sure if it is possible to assign 
a specific subject to an event in many cases.

The alternative is to use a service-user in the consumer who has access to the 
respective payload, which somehow looks wrong to me from a security perspective.

Well.. Ideas very welcome :)

Best greetings
Lars


On 13.05.2014 22:57, Carsten Ziegeler wrote:
> Hi Lars,
> 
> I see your point, I don't see right now how a general approach could 
> look like. However, the creator of a job could add the subject as a 
> property to the job and the consumer can use this value to create a 
> resource resolver based on that value. But I think this has to be done on a 
> job by job base.
> 
> Or do you see a general mechanism which always gets the subject of the 
> sender?
> 
> Carsten
> 
> 
> 2014-05-13 17:21 GMT+02:00 Lars Krapf :
> 
>> Hello list
>>
>> When processing events and jobs, the corresponding subject triggering 
>> the event usually gets lost. This lead to event handlers / job 
>> consumers often operating with administrative sessions/resolvers to 
>> do their work, which in turn can lead to privilege escalations.
>>
>> A possible solution to this problem could be to add a serialization 
>> of the event-triggering subject (if available) as a property to the 
>> event by default, so the handlers could easily recreate the session 
>> by using JAAS doAsPrivileged().
>>
>> Would that make sense?
>>
>> Best greetings
>> Lars
>>
> 
> 
> 



RE: svn commit: r1624206 - /sling/tags/org.apache.sling.resourceresolver-1.1.2/

2014-09-11 Thread Amit.. Gupta.
Okie. Reverted.

Thanks,
Amit

From: Carsten Ziegeler 
Sent: Thursday, September 11, 2014 12:33 PM
To: dev@sling.apache.org
Subject: Re: svn commit: r1624206 - 
/sling/tags/org.apache.sling.resourceresolver-1.1.2/

Hi Amit,

we still have open issues for the resource resolver and we really need to
fix them before a release
https://issues.apache.org/jira/browse/SLING/fixforversion/12326704

Can you please revert?

Thanks
Carsten

2014-09-11 8:46 GMT+02:00 :

> Author: amitgupt
> Date: Thu Sep 11 06:46:32 2014
> New Revision: 1624206
>
> URL: http://svn.apache.org/r1624206
> Log:
> [maven-release-plugin]  copy for tag
> org.apache.sling.resourceresolver-1.1.2
>
> Added:
> sling/tags/org.apache.sling.resourceresolver-1.1.2/   (props changed)
>   - copied from r1624205, sling/trunk/bundles/resourceresolver/
>
> Propchange: sling/tags/org.apache.sling.resourceresolver-1.1.2/
>
> --
> --- svn:ignore (added)
> +++ svn:ignore Thu Sep 11 06:46:32 2014
> @@ -0,0 +1,11 @@
> +target
> +bin
> +derby.log
> +*.iml
> +*.ipr
> +*.iws
> +.settings
> +.project
> +.classpath
> +.externalToolBuilders
> +maven-eclipse.xml
>
> Propchange: sling/tags/org.apache.sling.resourceresolver-1.1.2/
>
> --
> --- svn:mergeinfo (added)
> +++ svn:mergeinfo Thu Sep 11 06:46:32 2014
> @@ -0,0 +1,2 @@
>
> +/sling/whiteboard/fmeschbe/deprecate_login_administrative/resourceresolver:1458693-1499675
> +/sling/whiteboard/fmeschbe/featureflags/resourceresolver:1559092-1562000
>
>
>


--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


[VOTE] Release Apache Sling Resource Resolver version 1.1.2

2014-09-12 Thread Amit.. Gupta.
?Hi,

We solved 23 issues in this release:
https://issues.apache.org/jira/browse/SLING/fixforversion/12326704/


There are still some outstanding issues:
https://issues.apache.org/jira/browse/SLING/component/12318907


Staging repository:
https://repository.apache.org/content/repositories/orgapachesling-1116/

You can use this UNIX script to download the release and verify the signatures:
http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh

Usage:
sh check_staged_release.sh 1116 /tmp/sling-staging

Please vote to approve this release:

  [ ] +1 Approve the release
  [ ]  0 Don't care
  [ ] -1 Don't release, because ...

This majority vote is open for at least 72 hours.


Thanks,

Amit



RE: [VOTE] Release Maven Launchpad Plugin 2.3.2

2014-09-12 Thread Amit.. Gupta.
+1

From: Carsten Ziegeler 
Sent: Friday, September 12, 2014 11:57 AM
To: dev@sling.apache.org
Subject: [VOTE] Release Maven Launchpad Plugin 2.3.2

Hi,

We solved one issue:
https://issues.apache.org/jira/browse/SLING-3883



Staging repository:
https://repository.apache.org/content/repositories/orgapachesling-1115

You can use this UNIX script to download the release and verify the
signatures:
http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh

Usage:
sh check_staged_release.sh 1115 /tmp/sling-staging

Please vote to approve this release:

  [ ] +1 Approve the release
  [ ]  0 Don't care
  [ ] -1 Don't release, because ...

This majority vote is open for at least 72 hours.

Carsten
--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


[RESULT] [VOTE] Release Apache Sling Resource Resolver version 1.1.2

2014-09-15 Thread Amit.. Gupta.
Hi,

The vote has passed with the following result :

+1 (binding): Chetan Mehrotra, Oliver Lietz, Carsten Ziegler,? Justin Edelson, 
Antonio Sanso
+1 (non binding): <>

I will copy this release to the Sling dist directory and
promote the artifacts to the central Maven repository.


Thanks,

Amit



not able to copy release to dist

2014-09-15 Thread Amit.. Gupta.
I am getting following error, when I am trying to copy the release to dist.. 
any ideas..
$ svn import --username amitgupt --password ** -m "Sling Resource Resolver 
1.1.2 Release"  1.1.2 https://dist.apache.org/repos/dist/release/sling
Adding  (bin)  1.1.2/org.apache.sling.resourceresolver-1.1.2-javadoc.jar
svn: E175013: Access to 
'/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar'
 forbidden
svn: E175002: Additional errors:
svn: E175002: PUT of 
'/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar':
 403 Forbidden


Thanks,
Amit?



RE: not able to copy release to dist

2014-09-16 Thread Amit.. Gupta.
This isn't very clear on the Sling Release Management page. Shall I update it

From: Carsten Ziegeler 
Sent: Tuesday, September 16, 2014 2:51 PM
To: dev@sling.apache.org
Subject: Re: not able to copy release to dist

Hi Amit,

you need to be on the PMC for ths final step, I'll take care of this one.
You can continue with the other steps.

Thanks
Carsten

2014-09-15 19:57 GMT+02:00 Amit.. Gupta. :

> I am getting following error, when I am trying to copy the release to
> dist.. any ideas..
> $ svn import --username amitgupt --password ** -m "Sling Resource
> Resolver 1.1.2 Release"  1.1.2
> https://dist.apache.org/repos/dist/release/sling
> Adding  (bin)  1.1.2/org.apache.sling.resourceresolver-1.1.2-javadoc.jar
> svn: E175013: Access to
> '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar'
> forbidden
> svn: E175002: Additional errors:
> svn: E175002: PUT of
> '/repos/dist/!svn/txr/6520-5mo/release/sling/org.apache.sling.resourceresolver-1.1.2-javadoc.jar':
> 403 Forbidden
>
>
> Thanks,
> Amit?
>
>


--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


Please review patch for (SLING-4512) Traversal Warnings in OAK while creating i18n JcrResourceBundle

2015-03-24 Thread Amit.. Gupta.
Hi Devs,

Please review patch for https://issues.apache.org/jira/browse/SLING-4512. 
I have run the unit and integration tests, are there more areas that I need to 
test.

Thanks,
Amit


From: Amit Gupta (JIRA) 
Sent: Tuesday, March 24, 2015 4:33 PM
To: dev@sling.apache.org
Subject: [jira] [Commented] (SLING-4512) Traversal Warnings in OAK while 
creating i18n JcrResourceBundle

[ 
https://issues.apache.org/jira/browse/SLING-4512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14377679#comment-14377679
 ]

Amit Gupta commented on SLING-4512:
---

Attached is a patch that uses TreeTraverser, instead of query. As we are 
already doing a query to find language roots, second query to find messages is 
a not needed.

Traversal should be better than query in such cases where all the nodes 
returned by the query need to be used.

While fixing it, I had to modify tests as well. I am not quite sure about one 
particular thing in tests, Test data create nodes of type sling:MessageEntry, 
while the xpath query was looking for sling:Message. Assuming xpath query finds 
sub types as well, I have taken care of following cases in my implementation
1, Node has a mixin sling:Message
2. Node is of type sling:MessageEntry

{code}
final NodeType[] mixinNodeTypes = node.getMixinNodeTypes();
for (NodeType ntype: mixinNodeTypes) {
if (MIXIN_NAME.equals(ntype.getName())) {
return true;
}
}
//if the node is of type sling:MessageEntry
final NodeType primaryNodeType = 
node.getPrimaryNodeType();
if 
(primaryNodeType.isNodeType(SLING_MESSAGE_ENTRY)) {
return true;
}
return false;
{code}

can this check be optimized?

> Traversal Warnings in OAK while creating i18n JcrResourceBundle
> ---
>
> Key: SLING-4512
> URL: https://issues.apache.org/jira/browse/SLING-4512
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Srijan Bhatnagar
>Assignee: Amit Gupta
> Attachments: SLING-4512.diff
>
>
> org.apache.sling.i18n.impl.JcrResourceBundle#loadFully uses an XPath query to 
> load [sling:Message] nodes under given paths. If the subtree under the path 
> is too big (>1000), we receive traversal warnings in Oak. The following 
> warning is generated if the path is /libs/wcm/core/i18n/de :
> {code}
> GET /content/geometrixx/de.html HTTP/1.1] 
> org.apache.jackrabbit.oak.spi.query.Cursors$TraversingCursor Traversed 1000 
> nodes with filter Filter(query=select [jcr:path], [jcr:score], * from 
> [sling:Message] as a where isdescendantnode(a, '/libs/wcm/core/i18n/de') /* 
> xpath: /jcr:root/libs/wcm/core/i18n/de//element(*,sling:Message) */, 
> path=/libs/wcm/core/i18n/de//*); consider creating an index or changing the 
> query
> {code}
> A suggestion would be to use 
> [TreeTraverser|http://jackrabbit.apache.org/api/2.4/org/apache/jackrabbit/commons/flat/TreeTraverser.html]
>  instead of XPath query since the subtree is mostly a flat list.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hello Team,


I am adding a test case of [0], for this I need to use latest of


   org.apache.sling

org.apache.sling.testing.resourceresolver-mock

?

This introduces a dependency to sling.api:2.7.0, because of resource.getValueMap


sling event module, otherwise is quite content with older api dependency. So, I 
don't want to introduce this higher dependency.

I can explicitly give a lower bound in import, which isn't nice either. Is 
there any other way.


Regards,

Amit


[0] https://issues.apache.org/jira/browse/SLING-4014


Re: Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hi Robert,

Currently tests are part of sling event module.

Thanks
-Amit

From: Robert Munteanu 
Sent: Friday, October 10, 2014 1:41 PM
To: dev@sling.apache.org
Subject: Re: Question on dependency management while adding a test case

Hi Amit,

On Fri, Oct 10, 2014 at 10:57 AM, Amit.. Gupta.  wrote:
> Hello Team,
>
>
> I am adding a test case of [0], for this I need to use latest of
>
>
>org.apache.sling
> 
> org.apache.sling.testing.resourceresolver-mock
>
> ?
>
> This introduces a dependency to sling.api:2.7.0, because of 
> resource.getValueMap
>
>
> sling event module, otherwise is quite content with older api dependency. So, 
> I don't want to introduce this higher dependency.
>
> I can explicitly give a lower bound in import, which isn't nice either. Is 
> there any other way.

Are the Event tests part of the same module? If they are, you can move
them to a different module and then test + runtime dependencies are
separated.

Robert

>
>
> Regards,
>
> Amit
>
>
> [0] https://issues.apache.org/jira/browse/SLING-4014


Re: Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hi Carsten,

That won't work, because the mock resource resolver implementation uses the 
Resource.getValueMap.

Julian's suggestion works, but I need to change the MockResourceResolver to use 
ResourceUtil.getValueMap instead.

Using above, I can stay on sling.api:2.4.0, but then my test fails, since it 
relies on SLING-2894 in ResourceUtil, which came in sling.api:2.5.0

I have attached my test case patch to the bug [0]

Thanks,
Amit

[0] 
https://issues.apache.org/jira/secure/attachment/12674209/SLING-4014-Test.patch

From: Carsten Ziegeler 
Sent: Friday, October 10, 2014 8:17 PM
To: dev@sling.apache.org
Subject: Re: Question on dependency management while adding a test case

Rethinking this, can't we simply exclude the api dependency when
including the resourceresolver-mock ?

org.apache.sling
org.apache.sling.testing.resourceresolver-mock

  
   org.apache.sling
   org.apache.sling.api
  


Carsten

Am 10.10.14 um 16:27 schrieb Julian Sedding:
> Hi Amit
>
> We could change the resourceresolver-mock to "use" a lower Sling API
> version than it "implements". I.e. in MockResourceResolver, change all
> resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it
> should be compatible with lower API versions. This should work as long
> as there are no major API changes.
>
> Regards
> Julian
>
> On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta.  wrote:
>> Hello Team,
>>
>>
>> I am adding a test case of [0], for this I need to use latest of
>>
>>
>>org.apache.sling
>> 
>> org.apache.sling.testing.resourceresolver-mock
>>
>> ?
>>
>> This introduces a dependency to sling.api:2.7.0, because of 
>> resource.getValueMap
>>
>>
>> sling event module, otherwise is quite content with older api dependency. 
>> So, I don't want to introduce this higher dependency.
>>
>> I can explicitly give a lower bound in import, which isn't nice either. Is 
>> there any other way.
>>
>>
>> Regards,
>>
>> Amit
>>
>>
>> [0] https://issues.apache.org/jira/browse/SLING-4014
>


--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


[RTC] SLING-4080 - API to capture/measure application-level metrics

2014-10-21 Thread Amit.. Gupta.
Hi Devs,


I would like to add API to capture application-level metrics. The api is 
inspired by Yammer Metrics [0]. A first cut implementation is available at [1]


Idea is to provide high level constructs such as Timer, Counter, Gauge, which 
can be used by applications. This RTC is only for api, plan is to also provide 
a metrics based implementation as well.


Driver for this api, is to provide easy to use first class constructs that can 
be quickly integrated into new and existing application.


Metrics [0] one of the widely used implementation and provide some OOTB 
integration with JMX and popular monitoring tools such as Ganglia, Graphite.


Thanks,

Amit

[0] https://dropwizard.github.io/metrics/3.1.0/?

[1] https://svn.apache.org/repos/asf/sling/whiteboard/amitgupt/monitoring/

[2] https://issues.apache.org/jira/browse/SLING-4080?


Re: [RTC] SLING-4080 - API to capture/measure application-level metrics

2014-10-22 Thread Amit.. Gupta.
>I am sure we could do a simple implementation of the SPI for those
>that don't want to run Metrics but we don't need to as the
>proposal stands. It has a null impl built in.
yeah, that's right. It provides a No-Op implementation.

> isn't there another choice besides building our own?
We are adding api only and allowing different implementations to be supported.

>We have Sling commons, which is intended to host stuff that is not tied
>to Sling.
Sure, It can be moved there.

Thanks,
Amit

From: Carsten Ziegeler 
Sent: Tuesday, October 21, 2014 7:17 PM
To: dev@sling.apache.org
Subject: Re: [RTC] SLING-4080 - API to capture/measure application-level metrics

Am 21.10.14 um 15:07 schrieb Ian Boston:

>
> Agreed, imho thats what Amit's proposal does, but it needs to be
> somewhere it can be used. If Oak and Felix dont want to use it, then
> Sling is the right place.
>
We have Sling commons, which is intended to host stuff that is not tied
to Sling.

My initial comment would have been the same as Bertrand, why reinvent?
But I've tried to use Yammer in the past and fell into the incompatible
API changes (and other things). It's a shame that there is no real
library out there which can be used ootb and does not come with the
mentioned problems

Carsten
--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org

[jira] [Updated] (SLING-3045) [logback]Warning logs logged for 'No appenders present in context [sling] for logger'

2013-09-08 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3045:
--

Assignee: Amit Gupta

> [logback]Warning logs logged for 'No appenders present in context [sling] for 
> logger'
> -
>
> Key: SLING-3045
> URL: https://issues.apache.org/jira/browse/SLING-3045
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Amit Gupta
>Priority: Minor
> Attachments: SLING-3045.patch
>
>
> During system startup at times following warning is seen
> ---
> 14:48:24,969 |-WARN in 
> Logger[org.apache.sling.installer.core.impl.OsgiInstallerImpl] - No appenders 
> present in context [sling] for logger 
> [org.apache.sling.installer.core.impl.OsgiInstallerImpl].
> ---
> Further some debug level logs are also seen during the startup

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-3045) [logback]Warning logs logged for 'No appenders present in context [sling] for logger'

2013-09-09 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13761674#comment-13761674
 ] 

Amit Gupta commented on SLING-3045:
---

applied patch in revision: 1520970

> [logback]Warning logs logged for 'No appenders present in context [sling] for 
> logger'
> -
>
> Key: SLING-3045
> URL: https://issues.apache.org/jira/browse/SLING-3045
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Amit Gupta
>Priority: Minor
> Attachments: SLING-3045.patch
>
>
> During system startup at times following warning is seen
> ---
> 14:48:24,969 |-WARN in 
> Logger[org.apache.sling.installer.core.impl.OsgiInstallerImpl] - No appenders 
> present in context [sling] for logger 
> [org.apache.sling.installer.core.impl.OsgiInstallerImpl].
> ---
> Further some debug level logs are also seen during the startup

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-3047) Log message from other loggers get added to error.log

2013-09-09 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13761813#comment-13761813
 ] 

Amit Gupta commented on SLING-3047:
---

I have applied the patch At revision: 1521082.

Thanks Chetan.


> Log message from other loggers get added to error.log
> -
>
> Key: SLING-3047
> URL: https://issues.apache.org/jira/browse/SLING-3047
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Priority: Minor
>  Labels: logback
> Attachments: SLING-3047.patch
>
>
> With new Logback based Log the error message for other categories like 
> "log.request" get added to error.log. This is happening because by default 
> Logback Loggers have additivity [1] set to true. For compatibility purpose 
> the additivity for Loggers configured vis OSGi config must be set to false
> [1] http://logback.qos.ch/manual/architecture.html#additivity

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-3047) Log message from other loggers get added to error.log

2013-09-09 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3047:
--

Assignee: Amit Gupta

> Log message from other loggers get added to error.log
> -
>
> Key: SLING-3047
> URL: https://issues.apache.org/jira/browse/SLING-3047
> Project: Sling
>  Issue Type: Bug
>  Components: Commons
>Affects Versions: Commons Log 4.0.0
>Reporter: Chetan Mehrotra
>Assignee: Amit Gupta
>Priority: Minor
>  Labels: logback
> Attachments: SLING-3047.patch
>
>
> With new Logback based Log the error message for other categories like 
> "log.request" get added to error.log. This is happening because by default 
> Logback Loggers have additivity [1] set to true. For compatibility purpose 
> the additivity for Loggers configured vis OSGi config must be set to false
> [1] http://logback.qos.ch/manual/architecture.html#additivity

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (SLING-3250) [SlingPostServlet] Request Tracking does not include information about PostOperation

2013-11-18 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3250:
-

 Summary: [SlingPostServlet] Request Tracking does not include 
information about PostOperation
 Key: SLING-3250
 URL: https://issues.apache.org/jira/browse/SLING-3250
 Project: Sling
  Issue Type: Bug
  Components: General
Affects Versions: Servlets Post 2.3.4
Reporter: Amit Gupta
Assignee: Amit Gupta
Priority: Minor


org.apache.sling.servlets.post.impl.SlingPostServlet
does not record information about the PostOperation in the request tracker. 

This information is useful when looking at recent requests in web console, to 
find out post operation that processed the request. Specially in case of custom 
post operations.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Resolved] (SLING-3250) [SlingPostServlet] Request Tracking does not include information about PostOperation

2013-11-22 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3250.
---

   Resolution: Fixed
Fix Version/s: Servlets Post 2.3.4

committed At revision: 1544497 

added a log in request tracker to record the post operation used

> [SlingPostServlet] Request Tracking does not include information about 
> PostOperation
> 
>
> Key: SLING-3250
> URL: https://issues.apache.org/jira/browse/SLING-3250
> Project: Sling
>  Issue Type: Bug
>  Components: General
>Affects Versions: Servlets Post 2.3.4
>Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: Servlets Post 2.3.4
>
>
> org.apache.sling.servlets.post.impl.SlingPostServlet
> does not record information about the PostOperation in the request tracker. 
> This information is useful when looking at recent requests in web console, to 
> find out post operation that processed the request. Specially in case of 
> custom post operations.



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Updated] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3361:
--

Attachment: bug.patch

patch file

> JcrResourceUtil.createPath does not work in certain ACL setups
> --
>
> Key: SLING-3361
> URL: https://issues.apache.org/jira/browse/SLING-3361
> Project: Sling
>  Issue Type: Bug
>  Components: JCR
>Affects Versions: JCR Resource 2.3.0
>    Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: JCR Resource 2.3.2
>
> Attachments: bug.patch
>
>
> JcrResourceUtil.createPath fails for path such as 
> /a/b/c/d/e
> where /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read permission on 
> /.
> Current implementation expects that user would have read permission on root 
> node.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3361:
-

 Summary: JcrResourceUtil.createPath does not work in certain ACL 
setups
 Key: SLING-3361
 URL: https://issues.apache.org/jira/browse/SLING-3361
 Project: Sling
  Issue Type: Bug
  Components: JCR
Affects Versions: JCR Resource 2.3.0
Reporter: Amit Gupta
Assignee: Amit Gupta
Priority: Minor
 Fix For: JCR Resource 2.3.2
 Attachments: bug.patch

JcrResourceUtil.createPath fails for path such as 
/a/b/c/d/e
where /ab/c already exists and d/e needs to be created in certain acl setups 
i.e.
user has read & write permission to /a/b/c not don't have read permission on /.
Current implementation expects that user would have read permission on root 
node.





--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887695#comment-13887695
 ] 

Amit Gupta commented on SLING-3361:
---

only fixed the issue in 
Node createPath(String path,
  String intermediateNodeType,
  String nodeType,
  Session session,
  boolean autoSave)

for the other variant, I am not sure if we need to fix that as well. As caller 
is already passing parentNode, so we can assume that user already have access 
to  parentNode.

> JcrResourceUtil.createPath does not work in certain ACL setups
> --
>
> Key: SLING-3361
> URL: https://issues.apache.org/jira/browse/SLING-3361
> Project: Sling
>  Issue Type: Bug
>  Components: JCR
>Affects Versions: JCR Resource 2.3.0
>Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: JCR Resource 2.3.2
>
> Attachments: bug.patch
>
>
> JcrResourceUtil.createPath fails for path such as 
> /a/b/c/d/e
> where /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read permission on 
> /.
> Current implementation expects that user would have read permission on root 
> node.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3361:
--

Attachment: SLING-3361.patch

fixing other variants as well.. added one more specific test for the variant.

> JcrResourceUtil.createPath does not work in certain ACL setups
> --
>
> Key: SLING-3361
> URL: https://issues.apache.org/jira/browse/SLING-3361
> Project: Sling
>  Issue Type: Bug
>  Components: JCR
>Affects Versions: JCR Resource 2.3.0
>    Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: JCR Resource 2.3.2
>
> Attachments: SLING-3361.patch, bug.patch
>
>
> JcrResourceUtil.createPath fails for path such as 
> /a/b/c/d/e
> where /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read permission on 
> /.
> Current implementation expects that user would have read permission on root 
> node.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887883#comment-13887883
 ] 

Amit Gupta commented on SLING-3361:
---

patch applied At revision: 1563166  


> JcrResourceUtil.createPath does not work in certain ACL setups
> --
>
> Key: SLING-3361
> URL: https://issues.apache.org/jira/browse/SLING-3361
> Project: Sling
>  Issue Type: Bug
>  Components: JCR
>Affects Versions: JCR Resource 2.3.0
>Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: JCR Resource 2.3.2
>
> Attachments: SLING-3361.patch, bug.patch
>
>
> JcrResourceUtil.createPath fails for path such as 
> /a/b/c/d/e
> where /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read permission on 
> /.
> Current implementation expects that user would have read permission on root 
> node.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3361) JcrResourceUtil.createPath does not work in certain ACL setups

2014-01-31 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3361.
---

Resolution: Fixed

> JcrResourceUtil.createPath does not work in certain ACL setups
> --
>
> Key: SLING-3361
> URL: https://issues.apache.org/jira/browse/SLING-3361
> Project: Sling
>  Issue Type: Bug
>  Components: JCR
>Affects Versions: JCR Resource 2.3.0
>    Reporter: Amit Gupta
>Assignee: Amit Gupta
>Priority: Minor
> Fix For: JCR Resource 2.3.2
>
> Attachments: SLING-3361.patch, bug.patch
>
>
> JcrResourceUtil.createPath fails for path such as 
> /a/b/c/d/e
> where /ab/c already exists and d/e needs to be created in certain acl setups 
> i.e.
> user has read & write permission to /a/b/c not don't have read permission on 
> /.
> Current implementation expects that user would have read permission on root 
> node.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build

2014-02-01 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3362:
-

 Summary: org.apache.sling.installer.factory.deploymentpackage 
fails to build
 Key: SLING-3362
 URL: https://issues.apache.org/jira/browse/SLING-3362
 Project: Sling
  Issue Type: Bug
  Components: Installer
Reporter: Amit Gupta
Assignee: Amit Gupta


pom has dependency on installer.api 1.0-SNAPSHOT. 


org.apache.sling
org.apache.sling.installer.api
1.0-SNAPSHOT
provided


on a fresh machine, this snapshot version is not available and the build fails.

api has been merged into core.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build

2014-02-01 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13888540#comment-13888540
 ] 

Amit Gupta commented on SLING-3362:
---

seems to be affect of SLING-2947

> org.apache.sling.installer.factory.deploymentpackage fails to build
> ---
>
> Key: SLING-3362
> URL: https://issues.apache.org/jira/browse/SLING-3362
> Project: Sling
>  Issue Type: Bug
>  Components: Installer
>    Reporter: Amit Gupta
>Assignee: Amit Gupta
>
> pom has dependency on installer.api 1.0-SNAPSHOT. 
> 
> org.apache.sling
> org.apache.sling.installer.api
> 1.0-SNAPSHOT
> provided
> 
> on a fresh machine, this snapshot version is not available and the build 
> fails.
> api has been merged into core.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3362) org.apache.sling.installer.factory.deploymentpackage fails to build

2014-02-01 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3362.
---

   Resolution: Fixed
Fix Version/s: Installer Core 3.5.2

fixed the pom in revision: 1563397  

using latest released installer.core now.


> org.apache.sling.installer.factory.deploymentpackage fails to build
> ---
>
> Key: SLING-3362
> URL: https://issues.apache.org/jira/browse/SLING-3362
> Project: Sling
>  Issue Type: Bug
>  Components: Installer
>    Reporter: Amit Gupta
>    Assignee: Amit Gupta
> Fix For: Installer Core 3.5.2
>
>
> pom has dependency on installer.api 1.0-SNAPSHOT. 
> 
> org.apache.sling
> org.apache.sling.installer.api
> 1.0-SNAPSHOT
> provided
> 
> on a fresh machine, this snapshot version is not available and the build 
> fails.
> api has been merged into core.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Assigned] (SLING-3376) TenantProvider passes tenant with old state to TenantCustomizer

2014-02-05 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta reassigned SLING-3376:
-

Assignee: Amit Gupta

> TenantProvider passes tenant with old state to TenantCustomizer
> ---
>
> Key: SLING-3376
> URL: https://issues.apache.org/jira/browse/SLING-3376
> Project: Sling
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: Tenant 1.0.0
>Reporter: Roland Schaer
>Assignee: Amit Gupta
>Priority: Minor
> Attachments: SLING-3376.patch
>
>
> The TenantProvider does pass a Tenant with the old state to the 
> TenantCustomizer#setup() method, making it impossible to handle changes  on 
> the update case. I would expect to have a Tenant (in a transient state) 
> passed which reflects the new state.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3376) TenantProvider passes tenant with old state to TenantCustomizer

2014-02-05 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13893063#comment-13893063
 ] 

Amit Gupta commented on SLING-3376:
---

Thanks for the patch applied At revision: 1565082  


> TenantProvider passes tenant with old state to TenantCustomizer
> ---
>
> Key: SLING-3376
> URL: https://issues.apache.org/jira/browse/SLING-3376
> Project: Sling
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: Tenant 1.0.0
>Reporter: Roland Schaer
>Assignee: Amit Gupta
>Priority: Minor
> Attachments: SLING-3376.patch
>
>
> The TenantProvider does pass a Tenant with the old state to the 
> TenantCustomizer#setup() method, making it impossible to handle changes  on 
> the update case. I would expect to have a Tenant (in a transient state) 
> passed which reflects the new state.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3392) JobManager MaintenanceTask should not rely on search for removing tokens

2014-02-14 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3392:
-

 Summary: JobManager MaintenanceTask should not rely on search for 
removing tokens
 Key: SLING-3392
 URL: https://issues.apache.org/jira/browse/SLING-3392
 Project: Sling
  Issue Type: Bug
  Components: Extensions
Affects Versions: Event 3.3.4
Reporter: Amit Gupta


org.apache.sling.event.impl.jobs.MaintenanceTask relies on search to find 
obsolete locks and remove those.

Search can fail for reasons such as index corruption. It should not rely on 
search for such critical tasks.

And, another issue with locks is that those are created in a flat hierarchy.




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (SLING-3392) JobManager MaintenanceTask should not rely on search for removing locks

2014-02-14 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3392:
--

Summary: JobManager MaintenanceTask should not rely on search for removing 
locks  (was: JobManager MaintenanceTask should not rely on search for removing 
tokens)

> JobManager MaintenanceTask should not rely on search for removing locks
> ---
>
> Key: SLING-3392
> URL: https://issues.apache.org/jira/browse/SLING-3392
> Project: Sling
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: Event 3.3.4
>    Reporter: Amit Gupta
>
> org.apache.sling.event.impl.jobs.MaintenanceTask relies on search to find 
> obsolete locks and remove those.
> Search can fail for reasons such as index corruption. It should not rely on 
> search for such critical tasks.
> And, another issue with locks is that those are created in a flat hierarchy.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above

2014-02-14 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13901294#comment-13901294
 ] 

Amit Gupta commented on SLING-3393:
---

I think that we can keep both parameters to support previous versions

> Parameter re-encoding does not work for Jetty 7 and above
> -
>
> Key: SLING-3393
> URL: https://issues.apache.org/jira/browse/SLING-3393
> Project: Sling
>  Issue Type: Bug
>  Components: Engine
>Affects Versions: Engine 2.2.10
>Reporter: Dominique Pfister
>
> SLING-559 changed the query encoding to 8859-1 when used in combination with 
> Jetty, by setting a request attribute called:
> "org.mortbay.jetty.Request.queryEncoding"
> With Jetty 7 and above, this attribute has been changed to: 
> "org.eclipse.jetty.server.Request.queryEncoding" 
> [1], so the fix no longer works. I suggest to either use both attribute names 
> or only the new one, if support for Jetty 6 or earlier is no longer a must.
> [1] 
> http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Assigned] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above

2014-02-14 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta reassigned SLING-3393:
-

Assignee: Amit Gupta

> Parameter re-encoding does not work for Jetty 7 and above
> -
>
> Key: SLING-3393
> URL: https://issues.apache.org/jira/browse/SLING-3393
> Project: Sling
>  Issue Type: Bug
>  Components: Engine
>Affects Versions: Engine 2.2.10
>Reporter: Dominique Pfister
>Assignee: Amit Gupta
>
> SLING-559 changed the query encoding to 8859-1 when used in combination with 
> Jetty, by setting a request attribute called:
> "org.mortbay.jetty.Request.queryEncoding"
> With Jetty 7 and above, this attribute has been changed to: 
> "org.eclipse.jetty.server.Request.queryEncoding" 
> [1], so the fix no longer works. I suggest to either use both attribute names 
> or only the new one, if support for Jetty 6 or earlier is no longer a must.
> [1] 
> http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (SLING-3393) Parameter re-encoding does not work for Jetty 7 and above

2014-02-14 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-3393:
--

Attachment: SLING-3393.patch

patch tested with latest Jetty >7, not tested with older version. 

> Parameter re-encoding does not work for Jetty 7 and above
> -
>
> Key: SLING-3393
> URL: https://issues.apache.org/jira/browse/SLING-3393
> Project: Sling
>  Issue Type: Bug
>  Components: Engine
>Affects Versions: Engine 2.2.10
>Reporter: Dominique Pfister
>Assignee: Amit Gupta
> Attachments: SLING-3393.patch
>
>
> SLING-559 changed the query encoding to 8859-1 when used in combination with 
> Jetty, by setting a request attribute called:
> "org.mortbay.jetty.Request.queryEncoding"
> With Jetty 7 and above, this attribute has been changed to: 
> "org.eclipse.jetty.server.Request.queryEncoding" 
> [1], so the fix no longer works. I suggest to either use both attribute names 
> or only the new one, if support for Jetty 6 or earlier is no longer a must.
> [1] 
> http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Request.html#setQueryEncoding(java.lang.String)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Assigned] (SLING-3370) Bootdelegation support for third party library

2014-02-24 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta reassigned SLING-3370:
-

Assignee: Amit Gupta

> Bootdelegation support for third party library
> --
>
> Key: SLING-3370
> URL: https://issues.apache.org/jira/browse/SLING-3370
> Project: Sling
>  Issue Type: Improvement
>  Components: Launchpad
>Affects Versions: Launchpad Base 2.5.0
>Reporter: Rohit Kumar
>Assignee: Amit Gupta
> Attachments: SLING-3370_New.patch
>
>
> Requirement:
> 1) Bootdelegate third party library in SLing OSGI framework.
> 2) Bootdelegated classes and resources should be looked up from configured 
> third party jars only. Similar classes from parent classloaders should not 
> leak into system. This case arises usually in Web deployment scenario. 
> Infact we want to bootdelegate RSA library and at the same time prevent 
> interference from parent classloaders in Web deployment model.
> Approach:
> 1) We extend SlingLauncherClassloader to scan a predefined path (say 
> /lib/etx) for jar files and add them to its classpath. This is 
> done at startup. SlingLauncherClassloader will  try to load class from its 
> classpath before trying parent classloaders. Currently it is done for 
> org.apache.sling.launchpad.base.jar.  
> 2) The packages can be configured for bootdelegation using sling properties:
>   sling.bootdelegation.class.= package>



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows

2014-02-24 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3416:
-

 Summary: Some tests in 
o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows
 Key: SLING-3416
 URL: https://issues.apache.org/jira/browse/SLING-3416
 Project: Sling
  Issue Type: Bug
  Components: Maven Plugins and Archetypes
Affects Versions: Maven Launchpad Plugin 2.2.0
Reporter: Amit Gupta
Assignee: Amit Gupta
 Fix For: Maven Launchpad Plugin 2.2.2


Some of the test like testInstall5 fails with following error
"Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of 
resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)"

seems to be platform specific, fixing the test



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows

2014-02-24 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13910589#comment-13910589
 ] 

Amit Gupta commented on SLING-3416:
---

fix Completed: At revision: 1571375  


> Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on 
> windows
> ---
>
> Key: SLING-3416
> URL: https://issues.apache.org/jira/browse/SLING-3416
> Project: Sling
>  Issue Type: Bug
>  Components: Maven Plugins and Archetypes
>Affects Versions: Maven Launchpad Plugin 2.2.0
>Reporter: Amit Gupta
>Assignee: Amit Gupta
> Fix For: Maven Launchpad Plugin 2.2.2
>
>
> Some of the test like testInstall5 fails with following error
> "Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of 
> resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)"
> seems to be platform specific, fixing the test



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3416) Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on windows

2014-02-24 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3416.
---

Resolution: Fixed

> Some tests in o.a.s.m.projectsupport.BundleListContentProviderTest fails on 
> windows
> ---
>
> Key: SLING-3416
> URL: https://issues.apache.org/jira/browse/SLING-3416
> Project: Sling
>  Issue Type: Bug
>  Components: Maven Plugins and Archetypes
>Affects Versions: Maven Launchpad Plugin 2.2.0
>Reporter: Amit Gupta
>Assignee: Amit Gupta
> Fix For: Maven Launchpad Plugin 2.2.2
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Some of the test like testInstall5 fails with following error
> "Expecting file:/FAKE_BUNDLE/commons-io/0/null in children of 
> resources/install/0 (result= file:/C:/FAKE_BUNDLE/commons-io/0/null)"
> seems to be platform specific, fixing the test



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (SLING-3370) Bootdelegation support for third party library

2014-02-26 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3370.
---

   Resolution: Fixed
Fix Version/s: Launchpad Base 2.5.2

Completed: At revision: 1571975  

Applied with slight modification, external libraries can be put at 
${sling.home}/ext, if ext does not exists it is not created by launchpad

> Bootdelegation support for third party library
> --
>
> Key: SLING-3370
> URL: https://issues.apache.org/jira/browse/SLING-3370
> Project: Sling
>  Issue Type: Improvement
>  Components: Launchpad
>Affects Versions: Launchpad Base 2.5.0
>Reporter: Rohit Kumar
>Assignee: Amit Gupta
> Fix For: Launchpad Base 2.5.2
>
> Attachments: SLING-3370_New.patch
>
>
> Requirement:
> 1) Bootdelegate third party library in SLing OSGI framework.
> 2) Bootdelegated classes and resources should be looked up from configured 
> third party jars only. Similar classes from parent classloaders should not 
> leak into system. This case arises usually in Web deployment scenario. 
> Infact we want to bootdelegate RSA library and at the same time prevent 
> interference from parent classloaders in Web deployment model.
> Approach:
> 1) We extend SlingLauncherClassloader to scan a predefined path (say 
> /lib/etx) for jar files and add them to its classpath. This is 
> done at startup. SlingLauncherClassloader will  try to load class from its 
> classpath before trying parent classloaders. Currently it is done for 
> org.apache.sling.launchpad.base.jar.  
> 2) The packages can be configured for bootdelegation using sling properties:
>   sling.bootdelegation.class.= package>



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType

2014-03-04 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-3433:
-

 Summary: Unclosed session detected with 
ResourceResolverContext#getParentResourceType
 Key: SLING-3433
 URL: https://issues.apache.org/jira/browse/SLING-3433
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Resolver 1.0.6
Reporter: Amit Gupta
Assignee: Amit Gupta
 Fix For: Resource Resolver 1.1.0


03.03.2014 00:46:19.103 *WARN* [Finalizer] 
org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session 
was opened here: 
java.lang.Exception: Stack Trace
at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) 
~[na:na]
at 
org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) ~[na:na]
at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) 
~[na:na]
at 
com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935)
 ~[na:na]
at 
org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984)
 ~[na:na]
at 
org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42)
 ~[na:na]
at 
com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76)
 ~[na:na]
at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191)
 ~[na:na]
at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072)
 ~[na:na]
at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097)
 ~[na:na]
at 
org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123)
 ~[na:na]



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType

2014-03-04 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13920575#comment-13920575
 ] 

Amit Gupta commented on SLING-3433:
---

Interesting, I see that now. The code flow that is calling this is using older 
way to get the admin session.

{code}
Session admin = null;
try {
admin = repository.loginAdministrative(null);
} finally {
if (admin != null) {
try {
admin.logout();
} catch (Exception ignore) {

}
}
}
{code}

logout should have called the close() on resolver??

> Unclosed session detected with ResourceResolverContext#getParentResourceType
> 
>
> Key: SLING-3433
> URL: https://issues.apache.org/jira/browse/SLING-3433
> Project: Sling
>  Issue Type: Bug
>  Components: ResourceResolver
>Affects Versions: Resource Resolver 1.0.6
>Reporter: Amit Gupta
>Assignee: Amit Gupta
> Fix For: Resource Resolver 1.1.0
>
>
> 03.03.2014 00:46:19.103 *WARN* [Finalizer] 
> org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session 
> was opened here: 
> java.lang.Exception: Stack Trace
>   at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) 
> ~[na:na]
>   at 
> org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) 
> ~[na:na]
>   at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) 
> ~[na:na]
>   at 
> com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935)
>  ~[na:na]
>   at 
> org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984)
>  ~[na:na]
>   at 
> org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42)
>  ~[na:na]
>   at 
> com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76)
>  ~[na:na]
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191)
>  ~[na:na]
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097)
>  ~[na:na]
>   at 
> org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123)
>  ~[na:na]



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Resolved] (SLING-3433) Unclosed session detected with ResourceResolverContext#getParentResourceType

2014-03-04 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-3433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta resolved SLING-3433.
---

Resolution: Not A Problem

As Carsten explained, this does not seem to be an sling issue, rather an issue 
in the calling code.

closing this

> Unclosed session detected with ResourceResolverContext#getParentResourceType
> 
>
> Key: SLING-3433
> URL: https://issues.apache.org/jira/browse/SLING-3433
> Project: Sling
>  Issue Type: Bug
>  Components: ResourceResolver
>Affects Versions: Resource Resolver 1.0.6
>    Reporter: Amit Gupta
>Assignee: Amit Gupta
> Fix For: Resource Resolver 1.1.0
>
>
> 03.03.2014 00:46:19.103 *WARN* [Finalizer] 
> org.apache.jackrabbit.core.SessionImpl Unclosed session detected. The session 
> was opened here: 
> java.lang.Exception: Stack Trace
>   at org.apache.jackrabbit.core.SessionImpl.(SessionImpl.java:222) 
> ~[na:na]
>   at 
> org.apache.jackrabbit.core.XASessionImpl.(XASessionImpl.java:117) 
> ~[na:na]
>   at com.day.crx.core.CRXSessionImpl.(CRXSessionImpl.java:69) 
> ~[na:na]
>   at 
> com.day.crx.core.CRXRepositoryImpl.createSessionInstance(CRXRepositoryImpl.java:935)
>  ~[na:na]
>   at 
> org.apache.jackrabbit.core.RepositoryImpl.createSession(RepositoryImpl.java:984)
>  ~[na:na]
>   at 
> org.apache.jackrabbit.core.SessionFactory.createAdminSession(SessionFactory.java:42)
>  ~[na:na]
>   at 
> com.day.crx.sling.server.impl.SlingRepositoryWrapper.loginAdministrative(SlingRepositoryWrapper.java:76)
>  ~[na:na]
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getResourceProviderInternal(JcrResourceProviderFactory.java:191)
>  ~[na:na]
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory.getAdministrativeResourceProvider(JcrResourceProviderFactory.java:154)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.login(ResourceProviderFactoryHandler.java:162)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry.loginToRequiredFactories(RootResourceProviderEntry.java:95)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:106)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getAdministrativeResourceResolver(CommonResourceResolverFactoryImpl.java:73)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getResourceTypeResourceResolver(ResourceResolverContext.java:226)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext.getParentResourceType(ResourceResolverContext.java:250)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1082)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.getParentResourceType(ResourceResolverImpl.java:1072)
>  ~[na:na]
>   at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.isResourceType(ResourceResolverImpl.java:1097)
>  ~[na:na]
>   at 
> org.apache.sling.api.resource.AbstractResource.isResourceType(AbstractResource.java:123)
>  ~[na:na]



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (SLING-2656) Multitenancy support

2012-11-08 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-2656:
-

 Summary: Multitenancy support
 Key: SLING-2656
 URL: https://issues.apache.org/jira/browse/SLING-2656
 Project: Sling
  Issue Type: New Feature
  Components: API, JCR
Affects Versions: API 2.2.4
Reporter: Amit Gupta


Adding support for proposal listed at
https://cwiki.apache.org/SLING/multitenancy-support.html


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2656) Multitenancy support

2012-11-08 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493076#comment-13493076
 ] 

Amit Gupta commented on SLING-2656:
---

A first cut implementation is available at
https://github.com/amitxlnc/sling/compare/mt

I have added Tenant and TenantProvider interfaces. and a basic implementation 
for JCR based TenantProvider. 
Also, I have added a JcrTenantAdapterFactory that can adapt ResourceResolver to 
a tenant, based on logged in user.

TODO:
* externalize the logic of identifying tenant based on logged in User.
* Add support to resolve resource to a tenant, for use cases where there is no 
logged in user and execution is happening in some admin context. i.e. 
observation listener.

With above basic support, we can later add support for new Tenant Aware 
JcrResourceResolver.

> Multitenancy support
> 
>
> Key: SLING-2656
> URL: https://issues.apache.org/jira/browse/SLING-2656
> Project: Sling
>  Issue Type: New Feature
>  Components: API, JCR
>Affects Versions: API 2.2.4
>Reporter: Amit Gupta
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Adding support for proposal listed at
> https://cwiki.apache.org/SLING/multitenancy-support.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2656) Multitenancy support

2012-11-09 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2656:
--

Attachment: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip

attaching source zip patch

> Multitenancy support
> 
>
> Key: SLING-2656
> URL: https://issues.apache.org/jira/browse/SLING-2656
> Project: Sling
>  Issue Type: New Feature
>  Components: API, JCR
>Affects Versions: API 2.2.4
>    Reporter: Amit Gupta
> Attachments: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Adding support for proposal listed at
> https://cwiki.apache.org/SLING/multitenancy-support.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2656) Multitenancy support

2012-11-11 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13495067#comment-13495067
 ] 

Amit Gupta commented on SLING-2656:
---

>I am not sure about the TenantProvider.getTenants(String filter): Should this 
>throw the InvalidSyntaxException ? Somehow this does not feel right. 
Yes, this can be wrapped as IllegalArgumentException

>To allow for the TenantAdapterFactory to make use of the tenant resolution 
>without exposing implementation details through the API, the adapter factory 
>is not a separate component but is created from the TenantProviderImpl and 
>registered as a separate service. Maybe it would even make sense to combine 
>them both in a single class.
Yes, make sense
>As for tenant administration: I suggest you create a Web Console plugin which 
>allows to create, modify and remove tenants and maybe pluggable support to 
>configure tenants on creation.
okie, I will work on this.


> Multitenancy support
> 
>
> Key: SLING-2656
> URL: https://issues.apache.org/jira/browse/SLING-2656
> Project: Sling
>  Issue Type: New Feature
>  Components: API, JCR
>Affects Versions: API 2.2.4
>Reporter: Amit Gupta
>Assignee: Felix Meschberger
> Attachments: org.apache.sling.tenant-0.0.1-SNAPSHOT-src.zip
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Adding support for proposal listed at
> https://cwiki.apache.org/SLING/multitenancy-support.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (SLING-2671) TenantProvider configuration should be allow multiple values

2012-11-19 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-2671:
-

 Summary: TenantProvider configuration should be allow multiple 
values
 Key: SLING-2671
 URL: https://issues.apache.org/jira/browse/SLING-2671
 Project: Sling
  Issue Type: Bug
  Components: JCR
Reporter: Amit Gupta


Tenants Path Matcher configuration property should allow multiple values for 
TenantProvider Implementation.

diff --git 
a/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java
 
b/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java
index 8cc366c..86ab106 100644
--- 
a/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java
+++ 
b/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java
@@ -36,6 +36,7 @@ import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyUnbounded;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.LoginException;
@@ -78,6 +79,7 @@ public class TenantProviderImpl implements TenantProvider {
 @Property(
 value = {},
+unbounded = PropertyUnbounded.ARRAY,
 label = "Tenants Path Matcher",
 description = "Defines tenants path matcher i.e. 
/content/sample/([^/]+)/*, used while resolving path to tenant")
 private static final String TENANT_PATH_MATCHER = "tenant.path.matcher";


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (SLING-2676) Web console plugin for tenant tenant management

2012-11-23 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-2676:
-

 Summary: Web console plugin for tenant tenant management
 Key: SLING-2676
 URL: https://issues.apache.org/jira/browse/SLING-2676
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Reporter: Amit Gupta
Priority: Minor
 Fix For: Tenant 1.0


Extending the support for Tenant API, we need to add a console plugin to 
create/remove tenants.
We also need a pluggable support to register tenant setup handler, so that 
various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2676) Web console plugin for tenant tenant management

2012-11-23 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503177#comment-13503177
 ] 

Amit Gupta commented on SLING-2676:
---

We can an interface 
{code}
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.sling.tenant.spi;

import java.util.Map;

import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.tenant.Tenant;

/**
 * This is a service interface which services are called by the WebConsole 
plugin (or admim tool) 
 * to complete the Tenant setup.
 *
 */
public interface TenantSetup {
/**
 * Method called to create or update the given tenant.
 * The method may return additional properties to be added
 * to the Tenant's property list.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public Map setup(Tenant tenant, ResourceResolver resolver);

/**
 * Called to remove the setup for the given Tenant. This reverts all changes
 * done by the #setup method.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public void remove(Tenant tenant, ResourceResolver resolver);
}
{code}

This is a service interface which services are called by the WebConsole plugin 
(or admim tool) to complete the Tenant setup.



> Web console plugin for tenant tenant management
> ---
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>      Components: Extensions
>Reporter: Amit Gupta
>Priority: Minor
> Fix For: Tenant 1.0
>
>
> Extending the support for Tenant API, we need to add a console plugin to 
> create/remove tenants.
> We also need a pluggable support to register tenant setup handler, so that 
> various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (SLING-2676) Web console plugin for tenant tenant management

2012-11-23 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503177#comment-13503177
 ] 

Amit Gupta edited comment on SLING-2676 at 11/23/12 12:17 PM:
--

We can provide an interface 

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.sling.tenant.spi;

import java.util.Map;

import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.tenant.Tenant;

/**
 * This is a service interface which services are called by the WebConsole 
Plugin (or admin tool)
 * to complete the Tenant setup.
 *
 */
public interface TenantSetup {
/**
 * Method called to create or update the given tenant.
 * The method may return additional properties to be added
 * to the Tenant's property list.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public Map setup(Tenant tenant, ResourceResolver resolver);

/**
 * Called to remove the setup for the given Tenant. This reverts all changes
 * done by the #setup method.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public void remove(Tenant tenant, ResourceResolver resolver);
}

This is a service interface which services are called by the WebConsole plugin 
(or admim tool) to complete the Tenant setup.



  was (Author: amitxlnc):
We can an interface 
{code}
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.sling.tenant.spi;

import java.util.Map;

import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.tenant.Tenant;

/**
 * This is a service interface which services are called by the WebConsole 
plugin (or admim tool) 
 * to complete the Tenant setup.
 *
 */
public interface TenantSetup {
/**
 * Method called to create or update the given tenant.
 * The method may return additional properties to be added
 * to the Tenant's property list.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public Map setup(Tenant tenant, ResourceResolver resolver);

/**
 * Called to remove the setup for the given Tenant. This reverts all changes
 * done by the #setup method.
 * The ResourceResolver allows for access to the persistence;
 * the ResourceResolver.commit method must not be called by
 * this method.
 */
public void remove(Tenant tenant, ResourceResolver resolver);
}
{code}

This is a service interface which services are called by the WebConsole plugin 
(or admim tool) to complete the Tenant setup.


  
> Web console plugin for tenant tenant management
> ---
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Amit Gupta
>Priority: Minor
> Fix For: Tenant 1.0
>
>
> Extending the support for Tenant API, we

[jira] [Updated] (SLING-2676) Web console plugin for tenant management

2012-11-23 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2676:
--

Summary: Web console plugin for tenant management  (was: Web console plugin 
for tenant tenant management)

> Web console plugin for tenant management
> 
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>    Reporter: Amit Gupta
>Priority: Minor
> Fix For: Tenant 1.0
>
>
> Extending the support for Tenant API, we need to add a console plugin to 
> create/remove tenants.
> We also need a pluggable support to register tenant setup handler, so that 
> various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2676) Web console plugin for tenant management

2012-11-25 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2676:
--

Attachment: tenant.rar

patched bundle for tenant extension

> Web console plugin for tenant management
> 
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>    Reporter: Amit Gupta
>Priority: Minor
> Fix For: Tenant 1.0
>
> Attachments: tenant.rar
>
>
> Extending the support for Tenant API, we need to add a console plugin to 
> create/remove tenants.
> We also need a pluggable support to register tenant setup handler, so that 
> various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2676) Web console plugin for tenant management

2012-11-25 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503585#comment-13503585
 ] 

Amit Gupta commented on SLING-2676:
---

patch available at https://github.com/amitxlnc/sling/commits/trunk

> Web console plugin for tenant management
> 
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>    Reporter: Amit Gupta
>Priority: Minor
> Fix For: Tenant 1.0
>
> Attachments: tenant.rar
>
>
> Extending the support for Tenant API, we need to add a console plugin to 
> create/remove tenants.
> We also need a pluggable support to register tenant setup handler, so that 
> various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2676) Web console plugin for tenant management

2012-11-28 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2676:
--

Attachment: tenant-web-console.diff

created from git fork, and can be applied using patch command. Please note that 
there are some new files

> Web console plugin for tenant management
> 
>
> Key: SLING-2676
> URL: https://issues.apache.org/jira/browse/SLING-2676
> Project: Sling
>  Issue Type: Improvement
>  Components: Extensions
>    Reporter: Amit Gupta
>Assignee: Felix Meschberger
>Priority: Minor
> Fix For: Tenant 1.0
>
> Attachments: tenant.rar, tenant-web-console.diff
>
>
> Extending the support for Tenant API, we need to add a console plugin to 
> create/remove tenants.
> We also need a pluggable support to register tenant setup handler, so that 
> various modules/implementations can be plugged in.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2707) Support of chunked file upload into Sling

2013-02-18 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13580933#comment-13580933
 ] 

Amit Gupta commented on SLING-2707:
---

Introducing a new node type sling:PartialFile seems unnecessary complexity. And 
then whether to store chunks in JCR or in file system that is anyways 
implementation details. Implementation can be changed/improved when OAK comes 
in.

Current spec with part number gives opportunity for future extension for 
supporting uploading of parallel chunks. It takes best of amazon S3 multi part 
chunk upload, using part number approach. And, by use of part number amazon s3 
upload also encourages concurrent uploads of parts. I think that we all agree 
that multi connection upload at this point is an added complexity, but if just 
by using part number (which is already simple enough), we can keep scope for 
future extension then that is not a bad idea at all.


> Support of chunked file upload into Sling
> -
>
> Key: SLING-2707
> URL: https://issues.apache.org/jira/browse/SLING-2707
> Project: Sling
>  Issue Type: New Feature
>  Components: General
>Reporter: Shashank Gupta
> Attachments: uploadclient.jar
>
>
> Use cases: 
> 1. Large file upload - With high speed internet connections, advent of cloud 
> and HD going mainstream, Sling should support large files (> 2GB) upload.
> 2. Fault tolerant uploads - Sling should provide capability to resume upload 
> from failure point. It should not require client to restart the complete 
> upload process. 
> 3. Faster upload: Sling should support its clients to initiate multiple 
> connection and upload file chunks in parallel. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2710) Define TenantManager API

2013-02-20 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582036#comment-13582036
 ] 

Amit Gupta commented on SLING-2710:
---

looks good..

> Define TenantManager API
> 
>
> Key: SLING-2710
> URL: https://issues.apache.org/jira/browse/SLING-2710
> Project: Sling
>  Issue Type: New Feature
>  Components: Extensions
>Reporter: Felix Meschberger
> Fix For: Tenant 1.0
>
> Attachments: SLING-2710.patch
>
>
> Tenants currently can only be administered (create, update, remove) through 
> the Web Console. In addition the TenantProvider service interface allows for 
> looking tenants up (read).
> For administrative purposes it would be good to have a TenantManager service 
> interface which allows for these administrative tasks. Something like:
> public interface TenantManager extends TenantProvider {
>Tenant create(String tenantId, Map properties);
>void setProperty(Tenant tenant, String name, Object value);
>void remove(Tenant tenant);
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2707) Support of chunked file upload into Sling

2013-03-28 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2707?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13616545#comment-13616545
 ] 

Amit Gupta commented on SLING-2707:
---

Hi,

I am on vacation till 29th March 2013. Please contact my manager Gitesh Malik 
for any critical issue.

Thanks,
Amit


> Support of chunked file upload into Sling
> -
>
> Key: SLING-2707
> URL: https://issues.apache.org/jira/browse/SLING-2707
> Project: Sling
>  Issue Type: New Feature
>  Components: General
>Reporter: Shashank Gupta
> Attachments: uploadclient.jar
>
>
> Use cases: 
> 1. Large file upload - With high speed internet connections, advent of cloud 
> and HD going mainstream, Sling should support large files (> 2GB) upload.
> 2. Fault tolerant uploads - Sling should provide capability to resume upload 
> from failure point. It should not require client to restart the complete 
> upload process. 
> 3. Faster upload: Sling should support its clients to initiate multiple 
> connection and upload file chunks in parallel. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (SLING-2853) Add ResourceCollection to SLING

2013-05-03 Thread Amit Gupta (JIRA)
Amit Gupta created SLING-2853:
-

 Summary: Add ResourceCollection to SLING
 Key: SLING-2853
 URL: https://issues.apache.org/jira/browse/SLING-2853
 Project: Sling
  Issue Type: New Feature
  Components: API
Affects Versions: API 2.0.2
Reporter: Amit Gupta
Priority: Minor


Creating a collection of resources has been a use case for a while and there 
has been no inherent support in SLING for the same.

This proposal is to add a ResourceCollection interface and implementation that 
allows creation of collection of resources. 
Collection is a simple list of members, where each member contains path of 
resource it refers to. In future, we might need to store additional information 
with the member, hence following structure is proposed

{code}
N: resourceCollection (nt:unstructured)
+ P: sling:resourceType
+ N : members (nt:unstructured)
+ N: member_res1  > nt:unstructured
+ P: path > string, reference to actual resource
+ N: member_res2  > nt:unstructured
+ P: path > string, reference to actual resource
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2853) Add ResourceCollection to SLING

2013-05-03 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2853:
--

Description: 
Creating a collection of resources has been a use case for a while and there 
has been no inherent support in SLING for the same.

This proposal is to add a ResourceCollection interface and implementation that 
allows creation of collection of resources. 
Collection is a simple list of members, where each member contains path of 
resource it refers to. In future, we might need to store additional information 
with the member, hence following structure is proposed

N: resourceCollection (nt:unstructured)
+ P: sling:resourceType
+ N : members (nt:unstructured)
+ N: member_res1  > nt:unstructured
+ P: path > string, reference to actual resource
+ N: member_res2  > nt:unstructured
+ P: path > string, reference to actual resource

  was:
Creating a collection of resources has been a use case for a while and there 
has been no inherent support in SLING for the same.

This proposal is to add a ResourceCollection interface and implementation that 
allows creation of collection of resources. 
Collection is a simple list of members, where each member contains path of 
resource it refers to. In future, we might need to store additional information 
with the member, hence following structure is proposed

{code}
N: resourceCollection (nt:unstructured)
+ P: sling:resourceType
+ N : members (nt:unstructured)
+ N: member_res1  > nt:unstructured
+ P: path > string, reference to actual resource
+ N: member_res2  > nt:unstructured
+ P: path > string, reference to actual resource
{code}


> Add ResourceCollection to SLING
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>Reporter: Amit Gupta
>Priority: Minor
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2853) Add ResourceCollection to SLING

2013-05-03 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2853:
--

Attachment: resourcecollection.zip

Patch zip.

> Add ResourceCollection to SLING
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>    Reporter: Amit Gupta
>Priority: Minor
> Attachments: resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling

2013-05-03 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648382#comment-13648382
 ] 

Amit Gupta commented on SLING-2853:
---

> The ResourceCollection interface exposes the resources exposed but does not 
> expose the collection entries are said to have additional properties in the 
> future. What is the way forward here ?
There are two options
1. expose the member resource with additional api i.e. getMembers() and this 
return member resource iterator instead of iterator of resource referred to.
2. give api getMemberProperties(Resource resource); this can return a 
ModifiableValueMap.

While adding resource, we can take a map i.e. add(Resource resource, 
Map props);

Above has not been added to api, as there was no immediate need. But content 
structure has been proposed to accomodate future extensions

> ResourceCollections don't seem to be orderable ? Would ordering be simulated 
> by an order property on the resourceCollection root resource ? 
Not too sure about making it orderable, would collection needs to be ordered in 
general use cases. Basically should it be a list or set?
Ordering is simple to add
+ P: sling:resourceType
+ N : members (nt:unstructured)
+P: memberPaths > String[] [member_res1, member_res2]
+ N: member_res1 > nt:unstructured
+ P: path > string, reference to actual resource
+ N: member_res2 > nt:unstructured
+ P: path > string, reference to actual resource

Or order can be stored as a property with each node. I like the first one, as 
to change the order only one property needs to be changed.


> Add ResourceCollection to Sling
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>Reporter: Amit Gupta
>Priority: Minor
> Attachments: resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-2853) Add ResourceCollection to Sling

2013-05-03 Thread Amit Gupta (JIRA)

 [ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Gupta updated SLING-2853:
--

Attachment: collection.zip

updated patch

> Add ResourceCollection to Sling
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>    Reporter: Amit Gupta
>Priority: Minor
> Attachments: collection.zip, resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling

2013-05-03 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648941#comment-13648941
 ] 

Amit Gupta commented on SLING-2853:
---

> Your bundle provides API in the o.a.s.api namespace. I think this namespace 
> should be reserved for the Sling API bundle. So either the new API is in the 
> o.a.s.resource.collection (or similar) namespace or is moved to the Sling API 
> bundle.
refactored

> ResourceCollectionUtil.createValidChildName actually does 
> "createUniqueChildName" and should maybe provided in the existing 
> ResourceUtil class (IIRC the Sling POST Servlet has a similar method)
Refactored the name, one can move it to ResourceUtil, while applying the patch.

> ResourceCollectionManager.getByPath should probably be renamed to 
> ResourceCollectionManager.getCollection to align with the createCollection 
> method.
refactored

> ResourceCollectionManager declares its methods to be transient referring to 
> ResourceResolver.commit. At least I think the JavaDoc of this interface must 
> define how one can get an instance of the ResourceResolverManager and how it 
> relates to the ResourceResolver. Maybe the ResourceResolver used by the 
> ResourceResolverManager should be exposed through a getResourceResolver 
> method.
Updated java doc, added a getRsourceResolver() method
> The ResourceCollection interface exposes the resources exposed but does not 
> expose the collection entries are said to have additional properties in the 
> future. What is the way forward here ?
Added aditional api getEntries() and updated javadoc to make it more clear. 
Collection.add now takes a map of additional properties which can be null

> ResourceCollections don't seem to be orderable ? Would ordering be simulated 
> by an order property on the resourceCollection root resource ? 
added implementation for ordering, a new api orderBefore is added to maintain 
the order

> Automated tests wouldn't hurt, of course.
Added Junit test cases.

> Can't you use the adapter pattern Instead of 
> ResourceCollectionManager.getByPath(...) ? Adapt a Resource to a 
> ResourceCollectionManager.
Intentionally kept that way so that if there is any additional code needs to be 
executed on delete of collection, then can be plugged in/added. To create 
instance of ResourceCollectionManager, one can adapt from ResourceResolver.

Please review the latest patch.

Regards,
Amit

> Add ResourceCollection to Sling
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>Reporter: Amit Gupta
>Priority: Minor
> Attachments: collection.zip, resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SLING-2853) Add ResourceCollection to Sling

2013-05-05 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649385#comment-13649385
 ] 

Amit Gupta commented on SLING-2853:
---

> If you look at the code, it's actually simpler. The current code already 
> relies on the "pathorder" property for the order, which needs to keep all 
> references anyway for it to work.
code is simpler, but if you look at it will eventually add inconsistencies. 
such that getEntries returns a iterator over resources which represent entries 
in collection. So, for simple entries, I actually can not return the entries.
That is the reason why I didn't try to do that optimization.


> Add ResourceCollection to Sling
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>  Components: API
>Affects Versions: API 2.0.2
>Reporter: Amit Gupta
>Priority: Minor
> Attachments: collection.zip, resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (SLING-2853) Add ResourceCollection to Sling

2013-05-05 Thread Amit Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-2853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649385#comment-13649385
 ] 

Amit Gupta edited comment on SLING-2853 at 5/5/13 6:10 PM:
---

> If you look at the code, it's actually simpler. The current code already 
> relies on the "pathorder" property for the order, which needs to keep all 
> references anyway for it to work.
code is simpler, but if you look at it will eventually add inconsistencies. 
such that getEntries returns a iterator over resources which represent entries 
in collection. So, for simple entries, I actually can not return the entries.
That is the reason why I didn't try to do that optimization.

GetEntries is needed otherwise, there is no way to return the additional 
properties stored with an entry in collection.

  was (Author: amitxlnc):
> If you look at the code, it's actually simpler. The current code already 
relies on the "pathorder" property for the order, which needs to keep all 
references anyway for it to work.
code is simpler, but if you look at it will eventually add inconsistencies. 
such that getEntries returns a iterator over resources which represent entries 
in collection. So, for simple entries, I actually can not return the entries.
That is the reason why I didn't try to do that optimization.

  
> Add ResourceCollection to Sling
> ---
>
> Key: SLING-2853
> URL: https://issues.apache.org/jira/browse/SLING-2853
> Project: Sling
>  Issue Type: New Feature
>      Components: API
>Affects Versions: API 2.0.2
>Reporter: Amit Gupta
>Priority: Minor
> Attachments: collection.zip, resourcecollection.zip
>
>
> Creating a collection of resources has been a use case for a while and there 
> has been no inherent support in SLING for the same.
> This proposal is to add a ResourceCollection interface and implementation 
> that allows creation of collection of resources. 
> Collection is a simple list of members, where each member contains path of 
> resource it refers to. In future, we might need to store additional 
> information with the member, hence following structure is proposed
> N: resourceCollection (nt:unstructured)
> + P: sling:resourceType
> + N : members (nt:unstructured)
> + N: member_res1  > nt:unstructured
> + P: path > string, reference to actual resource
> + N: member_res2  > nt:unstructured
> + P: path > string, reference to actual resource

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


  1   2   >