Netcentric / accesscontroltool

Rights and roles management for AEM made easy
Eclipse Public License 1.0
150 stars 91 forks source link

AEM6.2 - Loops - IllegalArgumentException #114

Closed chetanyajain closed 8 years ago

chetanyajain commented 8 years ago

Steps to reproduce the error:

  1. I have created a new site say "/content/chetanya".
  2. Defined the yaml with the below rule:
- group_config:
    - FOR site IN CHILDREN OF /content/chetanya: 
      - content-reader-${site-name}:
        - name: Content Reader ${site.title}
          isMemberOf: 
          path: /home/group/chetanya/${site.name}

      - IF ${startsWith(site.name, 'master-')}:
        - content-master-${site-name}:
          - name: Content Master ${site-name}
            isMemberOf: 
            path: /home/group/chetanya/${site.name}
  1. After this I created a site "ABC" under /content/chetanya. Now when I execute the rule, I get the below exception:
10.10.2016 15:48:47.491 *ERROR* [sling-oak-observation-288] biz.netcentric.cq.tools.actool.aceservice.impl.AceServiceImpl Exception in AceServiceImpl: {}
java.lang.IllegalArgumentException: Cannot convert {path=/content/chetanya/abc, jcr:content={jcr:created=2016-10-10T15:47:46.766-07:00, jcr:createdBy=admin, cq:lastModified=2016-10-10T15:47:46.768-07:00, sling:resourceType=geometrixx/components/homepage, cq:lastModifiedBy=admin, jcr:primaryType=cq:PageContent, jcr:title=ABC, cq:designPath=/etc/designs/geometrixx, cq:template=/apps/geometrixx/templates/homepage}, primaryType=cq:Page, name=abc, title=ABC} of type class java.util.HashMap to Number
    at org.apache.el.lang.ELArithmetic.coerce(ELArithmetic.java:375)
    at org.apache.el.lang.ELArithmetic.subtract(ELArithmetic.java:283)
    at org.apache.el.parser.AstMinus.getValue(AstMinus.java:40)
    at org.apache.el.parser.AstDynamicExpression.getValue(AstDynamicExpression.java:42)
    at org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:48)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:182)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroElEvaluator.evaluateEl(YamlMacroElEvaluator.java:86)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:59)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:92)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.unfold(YamlMacroProcessorImpl.java:174)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.unfoldLoop(YamlMacroProcessorImpl.java:153)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.evaluateForStatement(YamlMacroProcessorImpl.java:117)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:82)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:69)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:93)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:69)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.transform(YamlMacroProcessorImpl.java:50)
    at biz.netcentric.cq.tools.actool.configreader.YamlMacroProcessorImpl.processMacros(YamlMacroProcessorImpl.java:46)
    at biz.netcentric.cq.tools.actool.configreader.YamlConfigurationMerger.getMergedConfigurations(YamlConfigurationMerger.java:79)
    at biz.netcentric.cq.tools.actool.aceservice.impl.AceServiceImpl.installConfigurationFiles(AceServiceImpl.java:318)
    at biz.netcentric.cq.tools.actool.aceservice.impl.AceServiceImpl.execute(AceServiceImpl.java:268)
    at biz.netcentric.cq.tools.actool.configuploadlistener.impl.UploadListenerServiceImpl.onEvent(UploadListenerServiceImpl.java:100)
    at org.apache.jackrabbit.commons.observation.ListenerTracker$1.onEvent(ListenerTracker.java:164)
    at org.apache.jackrabbit.oak.jcr.observation.ChangeProcessor.contentChanged(ChangeProcessor.java:317)
    at org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:131)
    at org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:125)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
chetanyajain commented 8 years ago

There was a syntax error in yaml (site-name instead of site.name)