pongasoft / glu

Deployment Automation Platform
Apache License 2.0
521 stars 99 forks source link

Add support for array items in filters #248

Closed sodul closed 10 years ago

sodul commented 11 years ago

If an entry has an array in it:

      "initParameters": {
        "pygluLocation": "http://artifactory/artifactory/glu-scripts/glu.py",
        "shn_bin": "shnbin-product1-46.tgz",
        "skeleton": "shn-apache-tomcat.tgz",
        "webapps": [
          {
            "contextPath": "product1",
            "war": "product1-0.4.0.war"
          },
          {
            "contextPath": "probe",
            "war": "probe-2.3.3.war"
          }
        ]
      },

And the view shows it with:

    {
      "groupBy": "uniqueCountOrUniqueVal",
      "linkable": true,
      "name": "webapp",
      "orderBy": "asc",
      "source": "initParameters.webapps[0].war",
      "visible": true
    },

When clicking on a webapp to use it as a filter, we get a stack trace:

An unexpected error has occurred 
Error 500: Internal Server Error 
URI 
/console/dashboard/redelta 
Class 
groovy.lang.MissingMethodException 
Message 
No signature of method: org.linkedin.glu.provisioner.core.model.PropertySystemFilterBuilder.getAt() is applicable for argument types: (java.lang.Integer) values: [0] Possible solutions: getAt(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), grep(), getClass(), wait(long) 
Trace 
   Line | Method 
->>    1 | run              in Script1 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     92 | parse            in org.linkedin.glu.provisioner.core.model.SystemFilterBuilder 
|    132 | setCustomFilter  in org.linkedin.glu.orchestration.engine.session.UserSessionImpl 
|    181 | initUserSession  in org.linkedin.glu.console.filters.UserPreferencesFilters 
|     52 | doCall . . . . . in org.linkedin.glu.console.filters.UserPreferencesFilters$__clinit__closure2_closure3_closure4 
|    669 | handle           in org.eclipse.jetty.servlet.ServletHolder 
|   1448 | doFilter . . . . in org.eclipse.jetty.servlet.ServletHandler$CachedChain 
|    195 | doFilter         in grails.plugin.cache.web.filter.PageFragmentCachingFilter 
|     63 | doFilter . . . . in grails.plugin.cache.web.filter.AbstractFilter 
|   1419 | doFilter         in org.eclipse.jetty.servlet.ServletHandler$CachedChain 
|    455 | doHandle . . . . in org.eclipse.jetty.servlet.ServletHandler 
|    137 | handle           in org.eclipse.jetty.server.handler.ScopedHandler 
|    575 | handle . . . . . in org.eclipse.jetty.security.SecurityHandler 
|    231 | doHandle         in org.eclipse.jetty.server.session.SessionHandler 
|   1075 | doHandle . . . . in org.eclipse.jetty.server.handler.ContextHandler 
|    384 | doScope          in org.eclipse.jetty.servlet.ServletHandler 
|    193 | doScope . . . .  in org.eclipse.jetty.server.session.SessionHandler 
|   1009 | doScope          in org.eclipse.jetty.server.handler.ContextHandler 
|    135 | handle . . . . . in org.eclipse.jetty.server.handler.ScopedHandler 
|    276 | forward          in org.eclipse.jetty.server.Dispatcher 
|    103 | forward . . . .  in     '' 
|   1419 | doFilter         in org.eclipse.jetty.servlet.ServletHandler$CachedChain 
|     55 | doFilter . . . . in org.apache.shiro.grails.SavedRequestFilter 
|   1419 | doFilter         in org.eclipse.jetty.servlet.ServletHandler$CachedChain 
|    449 | executeChain . . in org.apache.shiro.web.servlet.AbstractShiroFilter 
|    365 | call             in org.apache.shiro.web.servlet.AbstractShiroFilter$1 
|     90 | doCall . . . . . in org.apache.shiro.subject.support.SubjectCallable 
|     83 | call             in     '' 
|    383 | execute . . . .  in org.apache.shiro.subject.support.DelegatingSubject 
|    362 | doFilterInternal in org.apache.shiro.web.servlet.AbstractShiroFilter 
|    125 | doFilter . . . . in org.apache.shiro.web.servlet.OncePerRequestFilter 
|   1419 | doFilter         in org.eclipse.jetty.servlet.ServletHandler$CachedChain 
|    455 | doHandle . . . . in org.eclipse.jetty.servlet.ServletHandler 
|    137 | handle           in org.eclipse.jetty.server.handler.ScopedHandler 
|    533 | handle . . . . . in org.eclipse.jetty.security.SecurityHandler 
|    231 | doHandle         in org.eclipse.jetty.server.session.SessionHandler 
|   1075 | doHandle . . . . in org.eclipse.jetty.server.handler.ContextHandler 
|    384 | doScope          in org.eclipse.jetty.servlet.ServletHandler 
|    193 | doScope . . . .  in org.eclipse.jetty.server.session.SessionHandler 
|   1009 | doScope          in org.eclipse.jetty.server.handler.ContextHandler 
|    135 | handle . . . . . in org.eclipse.jetty.server.handler.ScopedHandler 
|    255 | handle           in org.eclipse.jetty.server.handler.ContextHandlerCollection 
|    154 | handle . . . . . in org.eclipse.jetty.server.handler.HandlerCollection 
|    116 | handle           in org.eclipse.jetty.server.handler.HandlerWrapper 
|    368 | handle . . . . . in org.eclipse.jetty.server.Server 
|    489 | handleRequest    in org.eclipse.jetty.server.AbstractHttpConnection 
|    942 | headerComplete . in     '' 
|   1004 | headerComplete   in org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler 
|    640 | parseNext . . .  in org.eclipse.jetty.http.HttpParser 
|    235 | parseAvailable   in     '' 
|     82 | handle . . . . . in org.eclipse.jetty.server.AsyncHttpConnection 
|    628 | handle           in org.eclipse.jetty.io.nio.SelectChannelEndPoint 
|     52 | run . . . . . .  in org.eclipse.jetty.io.nio.SelectChannelEndPoint$1 
|    608 | runJob           in org.eclipse.jetty.util.thread.QueuedThreadPool 
|    543 | run . . . . . .  in org.eclipse.jetty.util.thread.QueuedThreadPool$3 
^    722 | run              in java.lang.Thread
ypujante commented 10 years ago

Implemented in glu 5.4.0