• Recent
    • Tags
    • Popular
    • Register
    • Login
    1. Home
    2. Holzatelier

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website
    H
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 34
    • Best 0
    • Controversial 0
    • Groups 0

    Holzatelier

    @Holzatelier

    0
    Reputation
    351
    Profile views
    34
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Holzatelier Unfollow Follow

    Latest posts made by Holzatelier

    • RE: HTTP Json Receiver Timestamp

      @holzatelier Just a little update on this.
      It seems the data points are indeed updated on my system when timestamps are passed along with the JSON data. What I didn't realize is that if the timestamp predates the last entry in the point value history then the browser window needs to be refreshed to show the added historic data value.

      So this works for me now besides the missing JSON parsing Error.

      Thank you again for your attention.

      posted in User help
      H
      Holzatelier
    • RE: HTTP Json Receiver Timestamp

      @terrypacker Thanks again for looking at this.

      I have disabled ipv6 on all adaptors of the sending system:

      user@imac21:~$ sudo nano /etc/sysctl.conf
      [sudo] password for user:        
      user@imac21:~$ sudo sysctl -p
      net.ipv6.conf.all.disable_ipv6 = 1
      user@imac21:~$ ifconfig
      enp3s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.126  netmask 255.255.255.0  broadcast 192.168.1.255
              ether 10:dd:b1:af:71:03  txqueuelen 1000  (Ethernet)
              RX packets 1778257  bytes 2274299048 (2.1 GiB)
              RX errors 0  dropped 1399  overruns 0  frame 0
              TX packets 878148  bytes 93002850 (88.6 MiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
              device interrupt 18  
      
      lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
              inet 127.0.0.1  netmask 255.0.0.0
              loop  txqueuelen 1000  (Local Loopback)
              RX packets 826  bytes 41215 (40.2 KiB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 826  bytes 41215 (40.2 KiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      wlp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.129  netmask 255.255.255.0  broadcast 192.168.1.255
              ether ec:35:86:38:91:5e  txqueuelen 1000  (Ethernet)
              RX packets 8  bytes 1257 (1.2 KiB)
              RX errors 0  dropped 0  overruns 0  frame 189
              TX packets 126  bytes 16513 (16.1 KiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
              device interrupt 19  
      
      

      However this has not changed the behavior regarding the timestamp on my system.
      IMHO this looks like an issue with the parsing of the timestamp from the JSON message since the data is recieved correctly yet the point is not updated when a valid timestamp is present in the 'timestamp' tag. If the timestamp is 0 or not present then the point is updated using current system time. It also seems odd to me that there would be no parsing error if the JSON pointer for the timestamp is pointing to a non existing tag.

      posted in User help
      H
      Holzatelier
    • RE: HTTP Json Receiver Timestamp

      @jared-wiltshire Thank you for your prompt response.
      Unfortunately I'm still unable to get the timestamp logged with the point value.

      I changed my data source as suggested:

      {
        "dataSources":[
          {
            "xid":"DS_580c90e4-2b83-47aa-a4e7-3062c1a748f0",
            "name":"JSON-test",
            "enabled":true,
            "type":"HTTP_JSON_RECEIVER",
            "alarmLevels":{
              "SET_POINT_FAILURE":"URGENT",
              "JSON_READ_FAILURE":"URGENT"
            },
            "purgeType":"YEARS",
            "setType":"PUBLISHER",
            "dateFormat":"DATE_FORMAT_UTC",
            "receiveType":"JSON",
            "deviceIdWhiteList":[
              "*"
            ],
            "ipWhiteList":[
              "*.*.*.*"
            ],
            "setPointUrl":"",
            "data":null,
            "editPermission":[
              [
                "superadmin"
              ]
            ],
            "purgeOverride":false,
            "purgePeriod":1,
            "readPermission":[
            ]
          }
        ]
      }
      

      My data point is setup like this:
      ACI point setup.png
      ACI logging properties.png
      Let's say I want to send a value of 0.123456 with a timestamp of 12 Aug 2021 11:00:00 (ie epoch in ms: 1628766000000).

      This is what the HTTP JSON Reciever revieves:

      Zeit: Donnerstag, August 12. 2021, 2:28:54 pm
      
      {
        "analyser": [
          {
            "parameter": "ACI",
            "value": 0.123456,
            "timestamp": 1628766000000
          }
        ]
      }
      

      But the point is not updated:

      ACI not logging.png

      However if I send a timestamp of 0:

      Zeit: Donnerstag, August 12. 2021, 2:37:55 pm
      
      {
        "analyser": [
          {
            "parameter": "ACI",
            "value": 0.123456,
            "timestamp": 0
          }
        ]
      }
      

      The data point is updated using system time:

      ACI logging.png

      So it seems that if a JSON message with a valid timestamp is recieved the point is not updated but if the timestamp is not valid or missing then the point is updated using current system time. There are no error messages in the browser or in the ma.log. Neither are there any events logged.

      Looks like this has come up before: https://forum.mango-os.com/topic/4976/event-detector-created-event-with-wrong-timestamp?_=1628768475714

      posted in User help
      H
      Holzatelier
    • RE: HTTP Json Receiver Timestamp

      I have the same issue. My Json data as it is recieved in the "TEST RECIEVER" window:

      {
        "analyser": [
          {
            "parameter": "ACI",
            "value": 0.5678807,
            "timestamp": 1628632800000
          },
          {
            "parameter": "ACV",
            "value": 229.658
          }
        ]
      }
      

      This is my point setup:

      ACI-JSON test.png

      The problem is that there are no errors but the point is not updated at all. If I remove the 'Timestamp identifier' or even point it to some non existing JSON entry like /analyser/0/xyz the point updates just fine using system time as the timestamp.

      This is using Version 4.0.0

      posted in User help
      H
      Holzatelier
    • RE: Data file source - unable to Compile New Templates

      @joelhaggar

      Thanks! That solved it.
      My apologies if that could have been found in the documentation. I looked but I didn't find anything.

      posted in User help
      H
      Holzatelier
    • RE: Data file source - unable to Compile New Templates

      Here is the other half:

      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at com.serotonin.m2m2.web.mvc.spring.security.RateLimitingFilter.doFilterInternal(RateLimitingFilter.java:94) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[jetty-security-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:340) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at java.lang.Thread.run(Thread.java:829) [?:?]
      WARN  2021-07-19T18:16:07,331 (com.infiniteautomation.mango.rest.latest.exception.RestExceptionHandler.handleExceptionInternal:268) - Denying access, returning status 401 UNAUTHORIZED for request uri=/rest/latest/users/current;client=192.168.1.126
      org.springframework.security.access.AccessDeniedException: Anonymous access is not allowed
      	at com.serotonin.m2m2.web.mvc.spring.security.permissions.RequireAuthenticationInterceptor.preHandle(RequireAuthenticationInterceptor.java:39) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:148) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at com.infiniteautomation.mango.webapp.filters.MangoCacheControlHeaderFilter.doFilter(MangoCacheControlHeaderFilter.java:154) ~[mango-4.0.0.jar:?]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:196) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:166) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at com.serotonin.m2m2.web.mvc.spring.security.RateLimitingFilter.doFilterInternal(RateLimitingFilter.java:94) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[jetty-security-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:340) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at java.lang.Thread.run(Thread.java:829) [?:?]
      
      

      Also note that for this session I tried to compile the templates from a remote machine but I've also tried on the local machine (localhost) and I still get the same error in the browser console.

      posted in User help
      H
      Holzatelier
    • RE: Data file source - unable to Compile New Templates

      @jared-wiltshire
      Thank you for your prompt response.

      Maybe I need to elaborate a bit.
      I'm trying to add a Data File source for a CSV file but there are no entries in the 'template' list to choose from.
      DataSource_DataFile TemplateList.png
      As I understand it I need to compile the 'MultiColumnCsvImorter.java' and 'SimpleCSVImporter.java' from the '/opt/mango/web/modules/dataFile/resources/examples/CSV' folder.

      DataSource_DataFile example CsvImporters.png

      So I click on the 'COMPILE NEW TEMPLATES' button and I only get the error in the browser console as posted above.

      Note that I have chosen to have mango run as 'user' instead of 'mango'

      I'll have to split the content of ma.log because it seems the post gets too long otherwise.

      INFO  2021-07-19T18:15:25,388 (com.serotonin.m2m2.Main.createLifecycle:262) - Starting Mango 4.0.0 with Schema Version: 41
      INFO  2021-07-19T18:15:25,422 (com.serotonin.m2m2.Main.createLifecycle:266) - Java VM: OpenJDK 64-Bit Server VM, version: 11.0.11+9, vendor: AdoptOpenJDK
      INFO  2021-07-19T18:15:25,426 (com.serotonin.m2m2.Main.createLifecycle:267) - Java spec: Java Virtual Machine Specification, version: 11, vendor: Oracle Corporation
      INFO  2021-07-19T18:15:25,427 (com.serotonin.m2m2.Main.createLifecycle:273) - Operating System: Linux, arch: amd64, version: 5.8.0-36-generic
      INFO  2021-07-19T18:15:25,433 (com.serotonin.m2m2.Main.createLifecycle:279) - Running as user account: user
      INFO  2021-07-19T18:15:25,434 (com.serotonin.m2m2.Main.createLifecycle:282) - Installation directory: /opt/mango
      INFO  2021-07-19T18:15:25,435 (com.serotonin.m2m2.Main.createLifecycle:283) - Data directory: /opt/mango-data
      INFO  2021-07-19T18:15:25,436 (com.serotonin.m2m2.Main.createLifecycle:284) - Configuration file: /opt/mango-data/mango.properties
      INFO  2021-07-19T18:15:26,433 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'opcda', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,439 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'snmp', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,442 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'log4JReset', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,444 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'mqttClientDataSource', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,447 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'egauge', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,450 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'cloudConnect', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,453 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'sstGlobalScripts', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,455 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'scripting', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,458 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'advancedScheduler', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,460 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'lineProtocolDataSource', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,464 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'Haystack', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,470 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'asciiFile', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,474 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'envcands', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,477 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'mangoUI', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,480 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'meta', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,483 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'maintenanceEvents', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,485 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'modbus', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,488 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'controlcore', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,492 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'dataFile', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,496 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'BACnet', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,505 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'graaljs', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,509 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'watchlists', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,512 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'ssh', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,514 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'slackPublisher', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,519 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'sqlConsole', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,522 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'serial', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,525 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'TCPIP', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,529 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'dashboardDesigner', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,532 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'pop3', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,535 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'dnp3', v4.0.1 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,538 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'groovy', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,540 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'log4jDS', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,543 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'vmstat', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,548 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'http', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,551 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'excelReports', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,556 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'onewire', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,559 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'virtualDS', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,561 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'sqlds', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,564 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'mangoApi', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:26,568 (com.serotonin.m2m2.Main.loadModules:670) - Loading module 'internal', v4.0.0 by Infinite Automation Systems Inc.
      INFO  2021-07-19T18:15:30,052 (com.serotonin.m2m2.Lifecycle.loadLic:596) - Checking license...
      INFO  2021-07-19T18:15:30,053 (com.serotonin.m2m2.Lifecycle.loadLic:690) - License file not found
      INFO  2021-07-19T18:15:30,513 (com.serotonin.m2m2.db.H2Proxy.initializeImpl:79) - Initializing H2 connection manager
      INFO  2021-07-19T18:15:35,231 (com.serotonin.m2m2.db.upgrade.DBUpgrade.checkUpgrade:37) - Starting instance with core version 4.0.0, schema v41
      INFO  2021-07-19T18:15:43,653 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:159) - Spring context 'runtimeContext' refreshed: org.springframework.context.annotation.AnnotationConfigApplicationContext@773eca84
      INFO  2021-07-19T18:15:43,666 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextStarted:173) - Spring context 'runtimeContext' started: org.springframework.context.annotation.AnnotationConfigApplicationContext@773eca84
      INFO  2021-07-19T18:15:45,140 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initialize:182) - Starting 0 Publishers...
      INFO  2021-07-19T18:15:45,141 (com.serotonin.m2m2.rt.RuntimeManagerImpl.initialize:193) - 0 Publisher's started in 4ms
      INFO  2021-07-19T18:15:48,794 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:159) - Spring context 'rootWebContext' refreshed: Root WebApplicationContext
      WARN  2021-07-19T18:15:49,532 (org.springframework.core.log.CompositeLog.warn:127) - For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
      INFO  2021-07-19T18:15:49,836 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:159) - Spring context 'restDispatcherContext' refreshed: WebApplicationContext for namespace 'REST_DISPATCHER-servlet'
      INFO  2021-07-19T18:15:56,351 (com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration.contextRefreshed:159) - Spring context 'restV3Context' refreshed: WebApplicationContext for namespace 'restV3DispatcherServlet-servlet'
      WARN  2021-07-19T18:15:58,888 (com.infiniteautomation.mango.rest.latest.exception.RestExceptionHandler.handleExceptionInternal:268) - Denying access, returning status 401 UNAUTHORIZED for request uri=/rest/latest/users/current;client=192.168.1.126
      org.springframework.security.access.AccessDeniedException: Anonymous access is not allowed
      	at com.serotonin.m2m2.web.mvc.spring.security.permissions.RequireAuthenticationInterceptor.preHandle(RequireAuthenticationInterceptor.java:39) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:148) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at com.infiniteautomation.mango.webapp.filters.MangoCacheControlHeaderFilter.doFilter(MangoCacheControlHeaderFilter.java:154) ~[mango-4.0.0.jar:?]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:196) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:166) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at com.serotonin.m2m2.web.mvc.spring.security.RateLimitingFilter.doFilterInternal(RateLimitingFilter.java:94) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:115) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[jetty-security-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:340) ~[jetty-server-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:183) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:138) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:361) ~[http2-common-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[jetty-io-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) ~[jetty-util-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at java.lang.Thread.run(Thread.java:829) [?:?]
      WARN  2021-07-19T18:16:00,964 (com.infiniteautomation.mango.rest.latest.exception.RestExceptionHandler.handleExceptionInternal:268) - Denying access, returning status 401 UNAUTHORIZED for request uri=/rest/latest/users/current;client=192.168.1.126
      org.springframework.security.access.AccessDeniedException: Anonymous access is not allowed
      	at com.serotonin.m2m2.web.mvc.spring.security.permissions.RequireAuthenticationInterceptor.preHandle(RequireAuthenticationInterceptor.java:39) ~[mango-4.0.0.jar:?]
      	at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:148) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.3.jar:5.3.3]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.3.jar:5.3.3]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at com.infiniteautomation.mango.webapp.filters.MangoCacheControlHeaderFilter.doFilter(MangoCacheControlHeaderFilter.java:154) ~[mango-4.0.0.jar:?]
      	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) ~[jetty-servlet-9.4.41.v20210516.jar:9.4.41.v20210516]
      	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:196) ~[spring-security-web-5.4.2.jar:5.4.2]
      	at org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:166) ~[spring-security-web-5.4.2.jar:5.4.2]
      
      posted in User help
      H
      Holzatelier
    • Data file source - unable to Compile New Templates

      I'm trying to get the CSV templates for a "Data file" data source to compile.
      In the "DATA FILE TOOLS" tab I click on the "UPLOAD TMPLATE/POLL CLASS" tab and I see "MulitColumnCsvImporter.java" and "SimpleCsvImporter.jaba" listed.
      When I click on "COMPILE NEW TEMPLATES" nothing seems to happen but I get an error in the browser console:

      mangoUi~ngMango~ngMangoServices.js?v=536b31da9bbc5cc4a3ce:44 Possibly unhandled rejection: {"data":{"cause":null,"result":{"messages":[{"level":"ERROR","message":"???validate.requiredValue(i18n_de_DE)???","property":"templateFiles"}]},"mangoStatusCode":4002,"mangoStatusName":"VALIDATION_FAILED","localizedMessage":"Validation failed"},"status":422,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/rest/latest/data-file-data-source/compile","headers":{"Accept":"application/json","X-Requested-With":"XMLHttpRequest","Content-Type":"application/json;charset=utf-8","X-XSRF-TOKEN":"83966bc1-9eec-434c-8241-0f0cfb141467"},"data":{"additionalClasspath":"","destinationFileStore":"DATA_FILE_COMPILED_TEMPLATE","templateFiles":[]},"cached":false,"timeout":30000},"statusText":"","xhrStatus":"complete","mangoStatusText":"Validation failed, property ''templateFiles'' — ???validate.requiredValue(i18n_de_DE)???","mangoStatusTextShort":"Validation failed","mangoStatusTextFirstValidationMsg":"???validate.requiredValue(i18n_de_DE)???"}
      

      I'm logged in as superadmin.

      Thanks

      CORE: 4.0.0
      JAVA: openjdk version "11.0.11" 2021-04-20
      OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
      OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
      INSTALL METHOD: Linux installation script
      BROWSER: CHROME Version 91.0.4472.164 and every browser I tried.

      posted in User help
      H
      Holzatelier
    • RE: Forcasted Data: Purge existing data before writing updated values

      Thank you for all the help with this!

      It works now:forecast_chart.png

      Turns out there was no need to escape the data. It's this that fixed it:

      json-string='""+ptVals+""'
      

      So here is my markup in case anybody else is interested:

      <div class="ma-designer-root" style="width: 100%; height: 100%; position: relative;" id="792c5eac-7dc7-4de0-8e0e-a4df6d1d98d5">
          
          <ma-get-point-value point-xid="DP_be6e20a6-a71d-493a-a8b8-623a6d259b77" point="minTemp"></ma-get-point-value>
          <ma-get-point-value point-xid="DP_bb9a46b6-440b-4908-a8fb-1412d1f160d9" point="meanTemp"></ma-get-point-value>
          <ma-get-point-value point-xid="DP_e786c22d-1c02-44f6-bab0-7b669cdab3c0" point="maxTemp"></ma-get-point-value>
          <ma-get-point-value point-xid="DP_238a534c-fe33-4ed8-b9b3-35b1b2e1be6d" point="minPrecip"></ma-get-point-value>
          <ma-get-point-value point-xid="DP_5eadd0ab-68d8-43b6-8398-c8d95c30cbb2" point="meanPrecip"></ma-get-point-value>
          <ma-get-point-value point-xid="DP_7a00c8d4-760d-4d2d-9770-dd447f9c3bf8" point="maxPrecip"></ma-get-point-value>
      
          <get-json-object json-string='""+minTemp.renderedValue+""' output="minTempValues"></get-json-object>
          <get-json-object json-string='""+meanTemp.renderedValue+""' output="meanTempValues"></get-json-object>
          <get-json-object json-string='""+maxTemp.renderedValue+""' output="maxTempValues"></get-json-object>
          <get-json-object json-string='""+minPrecip.renderedValue+""' output="minPrecipValues"></get-json-object>
          <get-json-object json-string='""+meanPrecip.renderedValue+""' output="meanPrecipValues"></get-json-object>
          <get-json-object json-string='""+maxPrecip.renderedValue+""' output="maxPrecipValues"></get-json-object>
      
          <ma-serial-chart 
              default-type="smoothedLine" 
              style="height: 100%; width: 100%" 
              series-1-color="rgba(255, 128, 0, 0.3)" series-1-axis="left" series-1-values="minTempValues" 
              series-2-color="rgba(255, 128, 0, 1)"   series-2-axis="left" series-2-values="meanTempValues" 
              series-3-color="rgba(255, 128, 0, 0.3)" series-3-axis="left" series-3-values="maxTempValues" 
              series-4-type="column" series-4-color="rgba(1, 15, 18, 1)"     series-4-axis="right" series-4-values="minPrecipValues"  
              series-5-type="column" series-5-color="rgba(0, 255, 255, 0.3)" series-5-axis="right" series-5-values="meanPrecipValues"  
              series-6-type="column" series-6-color="rgba(0, 92, 92, 0.2)"   series-6-axis="right" series-6-values="maxPrecipValues" 
              options="{
                          valueAxes:[
                              {
                                  axisColor:'rgba(255, 128, 0, 1)', 
                                  title: 'Temperatur [°C]', 
                                  fontSize:16,
                                  titleFontSize:18,
                              }, 
                              {
                                  axisColor:'rgba(0, 255, 255, 0.3)', 
                                  title: 'Niederschlag [mm]', 
                                  fontSize:16,
                                  titleFontSize:18, 
                              }
                          ]
          }" ></ma-serial-chart>
          
      </div>
      
      posted in Scripting general Discussion
      H
      Holzatelier
    • RE: Forcasted Data: Purge existing data before writing updated values

      Thank you for the module!

      I got it working as far as you had it running in your last post. However I'm struggling to get the point data hooked into the module call in the markup. This is what I have now:

      <ma-point-values point-xid="DP_be6e20a6-a71d-493a-a8b8-623a6d259b77"  point="minTemp" values="minTempVals"></ma-point-values>
      <get-json-object json-string="minTempVals" output="ptValues"></get-json-object>
      <p>{{ptValues}}</p>
      <ma-serial-chart  default-type="smoothedLine" style="height: 300px; width: 100%" serias-1-point="" series-1-values="ptValues"></ma-serial-chart>
      

      This doesn't show the chart and the module spits out a warning:

      Input not string
      

      If I use the curly brackets to call the values like this:

      <get-json-object json-string={{minTempVals}} output="ptValues"></get-json-object>
      

      I get an error:

      Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{minTempVals}}] starting at [{minTempVals}}].
      

      So how do I pass the point value as a string? I presume that by not using this in the serial-chart markup:

      from="dateBar.from" to="dateBar.to"
      

      we just grab the latest data entry of the data point?

      Somehow I think I maybe need to concatenate the point value to double quotes?

      " + {{minTemp.value}} + "

      posted in Scripting general Discussion
      H
      Holzatelier