1
0
mirror of https://github.com/dmsl/anyplace.git synced 2021-06-25 09:21:17 +03:00
- crlbsDir is now an option in application.conf
        - should be able to be put in docker image easily
    - server side:
        - creating a lock file when initiating the on the fly generation
        - if anyone attempts to regenerate the relevant msg is return to the web app
            - which is properly displayed as a warning (ACCES generation in background thread)
    - client side:
        - freezing the button and displaying progress animation when:
            - client waits for server's result (incl. generation time)
            - client render the data (even when changing zoom levels)
        - optimized the client render code

Tagged 2 BUGS:
    - profileData (on login I guess)
    - item[prop] is null (hits often)
This commit is contained in:
Paschalis Mpeis
2020-04-24 03:19:16 +03:00
parent 60c84ca726
commit 5925c48f15
11 changed files with 578 additions and 358 deletions

1
server/.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
anyplace

View File

@@ -15,10 +15,203 @@
<excludeFolder url="file://$MODULE_DIR$/../../public/anyplace_viewer/build" />
<excludeFolder url="file://$MODULE_DIR$/../../public/anyplace_viewer_campus/build" />
<excludeFolder url="file://$MODULE_DIR$/../../target" />
<excludeFolder url="file://$MODULE_DIR$/../../target/native_libraries" />
<excludeFolder url="file://$MODULE_DIR$/../../target/resolution-cache" />
<excludeFolder url="file://$MODULE_DIR$/../../target/streams" />
<excludeFolder url="file://$MODULE_DIR$/../../target/web" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="sbt: aopalliance:aopalliance:1.0:jar" level="project" />
<orderEntry type="library" name="sbt: bouncycastle:bcmail-jdk14:138:jar" level="project" />
<orderEntry type="library" name="sbt: bouncycastle:bcprov-jdk14:138:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: cglib:cglib-nodep:2.1_3:jar" level="project" />
<orderEntry type="library" name="sbt: ch.qos.logback:logback-classic:1.1.3:jar" level="project" />
<orderEntry type="library" name="sbt: ch.qos.logback:logback-core:1.1.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.chuusai:shapeless_2.11:2.0.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.couchbase.client:core-io:1.4.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.couchbase.client:java-client:2.4.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.esotericsoftware:kryo-shaded:3.0.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.esotericsoftware:minlog:1.3.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-annotations:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-core:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-databind:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.danielkorzekwa:bayes-scala-gp_2.11:0.1-SNAPSHOT:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.danielkorzekwa:bayes-scala_2.11:0.7-SNAPSHOT:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:core:1.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:native_ref-java:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:native_system-java:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-armhf:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-osx-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-win-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-win-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-armhf:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-osx-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-win-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-win-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil:jniloader:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.rwl:jtransforms:2.4.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.google.code.findbugs:jsr305:2.0.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.google.code.gson:gson:2.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.guava:guava:18.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.inject.extensions:guice-assistedinject:4.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.inject:guice:4.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.h2database:h2:1.4.187:jar" level="project" />
<orderEntry type="library" name="sbt: com.jolbox:bonecp:0.8.0.RELEASE:jar" level="project" />
<orderEntry type="library" name="sbt: com.lowagie:itext:2.1.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.ning:async-http-client:1.9.21:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.novocode:junit-interface:0.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.sun.activation:javax.activation:1.2.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.twitter:chill-java:0.8.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.twitter:chill_2.11:0.8.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor_2.11:2.3.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-slf4j_2.11:2.3.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.netty:netty-http-pipelining:1.1.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.netty:netty-reactive-streams:2.0.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:build-link:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:filters-helpers_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-cache_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-datacommons_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-exceptions:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-functional_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-iteratees_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-jdbc-api_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-jdbc_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-json_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-netty-server_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-netty-utils:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-server_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.typesafe.play:play-specs2_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.typesafe.play:play-test_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-ws_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:twirl-api_2.11:1.1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.scala-logging:scala-logging-api_2.11:2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.scala-logging:scala-logging-slf4j_2.11:2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe:config:1.3.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.zaxxer:HikariCP:2.3.7:jar" level="project" />
<orderEntry type="library" name="sbt: commons-codec:commons-codec:1.10:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-collections:commons-collections:3.2.1:jar" level="project" />
<orderEntry type="library" name="sbt: commons-io:commons-io:1.3.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-io:commons-io:2.4:jar" level="project" />
<orderEntry type="library" name="sbt: commons-logging:commons-logging:1.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-logging:commons-logging:1.1.3:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-buffer:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-dns:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-http:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-socks:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-common:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-handler-proxy:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-handler:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-resolver-dns:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-resolver:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-epoll:4.1.42.Final:linux-x86_64:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-kqueue:4.1.42.Final:osx-x86_64:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-unix-common:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty:3.10.3.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.razem:scala-influxdb-client_2.11:0.6.2:jar" level="project" />
<orderEntry type="library" name="sbt: io.reactivex:rxjava:1.2.7:jar" level="project" />
<orderEntry type="library" name="sbt: io.spray:spray-json_2.11:1.3.5:jar" level="project" />
<orderEntry type="library" name="sbt: javax.inject:javax.inject:1:jar" level="project" />
<orderEntry type="library" name="sbt: javax.transaction:jta:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: jfree:jcommon:1.0.16:jar" level="project" />
<orderEntry type="library" name="sbt: jfree:jfreechart:1.0.13:jar" level="project" />
<orderEntry type="library" name="sbt: joda-time:joda-time:2.8.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: junit:junit:4.12:jar" level="project" />
<orderEntry type="library" name="sbt: junit:junit:4.8.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.java.dev.jna:jna:3.4.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.java.dev.jna:platform:3.4.0:jar" level="project" />
<orderEntry type="library" name="sbt: net.sf.ehcache:ehcache-core:2.6.11:jar" level="project" />
<orderEntry type="library" name="sbt: net.sf.opencsv:opencsv:2.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.cssparser:cssparser:0.9.14:jar" level="project" />
<orderEntry type="library" name="sbt: net.sourceforge.f2j:arpack_combined_all:0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.htmlunit:htmlunit-core-js:2.15:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.htmlunit:htmlunit:2.15:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.nekohtml:nekohtml:1.9.21:jar" level="project" />
<orderEntry type="library" name="sbt: oauth.signpost:signpost-commonshttp4:1.2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: oauth.signpost:signpost-core:1.2.1.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.commons:commons-exec:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.commons:commons-lang3:3.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.commons:commons-math3:3.3:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.httpcomponents:httpclient:4.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpclient:4.3.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.httpcomponents:httpcore:4.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpcore:4.3.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpmime:4.3.3:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.xmlgraphics:xmlgraphics-commons:1.3.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.asynchttpclient:async-http-client-netty-utils:2.10.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.asynchttpclient:async-http-client:2.10.4:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-http:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-io:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-util:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-websocket:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.fluentlenium:fluentlenium-core:0.10.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.hamcrest:hamcrest-core:1.3:jar" level="project" />
<orderEntry type="library" name="sbt: org.javassist:javassist:3.19.0-GA:jar" level="project" />
<orderEntry type="library" name="sbt: org.joda:joda-convert:1.7:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.mockito:mockito-core:1.9.5:jar" level="project" />
<orderEntry type="library" name="sbt: org.objenesis:objenesis:2.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.reactivestreams:reactive-streams:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-lang.modules:scala-parser-combinators_2.11:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-xml_2.11:1.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-lang.modules:scala-xml_2.11:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.11.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.11.7:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-sbt:test-interface:1.0:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-stm:scala-stm_2.11:0.7:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-macros_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-natives_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-viz_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze_2.11:0.12:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz.stream:scalaz-stream_2.11:0.7a:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-concurrent_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-core_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-effect_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scodec:scodec-bits_2.11:1.0.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-api:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-chrome-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-firefox-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-ie-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-java:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-remote-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-safari-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-support:2.44.0:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:jcl-over-slf4j:1.7.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:jul-to-slf4j:1.7.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:slf4j-api:1.7.26:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-common_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-core_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-junit_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-matcher_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-mock_2.11:3.6:jar" level="project" />
<orderEntry type="library" name="sbt: org.spire-math:spire-macros_2.11:0.7.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.spire-math:spire_2.11:0.7.4:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.w3c.css:sac:1.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.webbitserver:webbit:0.4.14:jar" level="project" />
<orderEntry type="library" name="sbt: tyrex:tyrex:1.0.1:jar" level="project" />
<orderEntry type="module-library">
<library name="sbt: unmanaged-jars">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../lib/JGoogleAnalyticsTracker-1.2.0.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/Jama-1.0.2.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/commons-codec-1.10.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/gson-2.2.4.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/jettison-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sbt: unmanaged-sources-and-docs">
<CLASSES />
@@ -41,198 +234,9 @@
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sbt: unmanaged-jars">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../lib/JGoogleAnalyticsTracker-1.2.0.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/Jama-1.0.2.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/commons-codec-1.10.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/gson-2.2.4.jar!/" />
<root url="jar://$MODULE_DIR$/../../lib/jettison-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" name="sbt: xml-apis:xml-apis:1.4.01:jar" level="project" />
<orderEntry type="library" name="sbt: xerces:xercesImpl:2.11.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: xalan:xalan:2.7.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: xalan:serializer:2.7.1:jar" level="project" />
<orderEntry type="library" name="sbt: tyrex:tyrex:1.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.webbitserver:webbit:0.4.14:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.w3c.css:sac:1.3:jar" level="project" />
<orderEntry type="library" name="sbt: org.spire-math:spire_2.11:0.7.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.spire-math:spire-macros_2.11:0.7.4:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-mock_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-matcher_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-junit_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-core_2.11:3.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.specs2:specs2-common_2.11:3.6:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:slf4j-api:1.7.26:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:jul-to-slf4j:1.7.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.slf4j:jcl-over-slf4j:1.7.12:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-support:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-safari-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-remote-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-java:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-ie-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-htmlunit-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-firefox-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-chrome-driver:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.seleniumhq.selenium:selenium-api:2.44.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scodec:scodec-bits_2.11:1.0.6:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz.stream:scalaz-stream_2.11:0.7a:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-effect_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-core_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scalaz:scalaz-concurrent_2.11:7.1.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-viz_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-natives_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scalanlp:breeze-macros_2.11:0.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-stm:scala-stm_2.11:0.7:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-sbt:test-interface:1.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-lang.modules:scala-xml_2.11:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-xml_2.11:1.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.scala-lang.modules:scala-parser-combinators_2.11:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.11.7:jar" level="project" />
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.11.12:jar" level="project" />
<orderEntry type="library" name="sbt: org.reactivestreams:reactive-streams:1.0.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.objenesis:objenesis:2.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.mockito:mockito-core:1.9.5:jar" level="project" />
<orderEntry type="library" name="sbt: org.joda:joda-convert:1.7:jar" level="project" />
<orderEntry type="library" name="sbt: org.javassist:javassist:3.19.0-GA:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.hamcrest:hamcrest-core:1.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.fluentlenium:fluentlenium-core:0.10.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-websocket:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-util:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-io:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.eclipse.jetty:jetty-http:8.1.15.v20140411:jar" level="project" />
<orderEntry type="library" name="sbt: org.asynchttpclient:async-http-client-netty-utils:2.10.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.asynchttpclient:async-http-client:2.10.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.xmlgraphics:xmlgraphics-commons:1.3.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpmime:4.3.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpcore:4.3.2:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.httpcomponents:httpcore:4.0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.httpcomponents:httpclient:4.3.4:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.httpcomponents:httpclient:4.0.1:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.commons:commons-math3:3.3:jar" level="project" />
<orderEntry type="library" name="sbt: org.apache.commons:commons-lang3:3.4:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: org.apache.commons:commons-exec:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: oauth.signpost:signpost-core:1.2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: oauth.signpost:signpost-commonshttp4:1.2.1.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.nekohtml:nekohtml:1.9.21:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.htmlunit:htmlunit-core-js:2.15:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.htmlunit:htmlunit:2.15:jar" level="project" />
<orderEntry type="library" name="sbt: net.sourceforge.f2j:arpack_combined_all:0.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.sourceforge.cssparser:cssparser:0.9.14:jar" level="project" />
<orderEntry type="library" name="sbt: net.sf.opencsv:opencsv:2.3:jar" level="project" />
<orderEntry type="library" name="sbt: net.sf.ehcache:ehcache-core:2.6.11:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.java.dev.jna:platform:3.4.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: net.java.dev.jna:jna:3.4.0:jar" level="project" />
<orderEntry type="library" name="sbt: junit:junit:4.8.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: junit:junit:4.12:jar" level="project" />
<orderEntry type="library" name="sbt: joda-time:joda-time:2.8.1:jar" level="project" />
<orderEntry type="library" name="sbt: jfree:jfreechart:1.0.13:jar" level="project" />
<orderEntry type="library" name="sbt: jfree:jcommon:1.0.16:jar" level="project" />
<orderEntry type="library" name="sbt: javax.transaction:jta:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: javax.inject:javax.inject:1:jar" level="project" />
<orderEntry type="library" name="sbt: io.spray:spray-json_2.11:1.3.5:jar" level="project" />
<orderEntry type="library" name="sbt: io.reactivex:rxjava:1.2.7:jar" level="project" />
<orderEntry type="library" name="sbt: io.razem:scala-influxdb-client_2.11:0.6.2:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-unix-common:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-kqueue:4.1.42.Final:osx-x86_64:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport-native-epoll:4.1.42.Final:linux-x86_64:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-transport:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-resolver-dns:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-resolver:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-handler-proxy:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-handler:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-common:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-socks:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-http:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec-dns:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-codec:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty-buffer:4.1.42.Final:jar" level="project" />
<orderEntry type="library" name="sbt: io.netty:netty:3.10.3.Final:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-logging:commons-logging:1.1.3:jar" level="project" />
<orderEntry type="library" name="sbt: commons-logging:commons-logging:1.1.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-io:commons-io:2.4:jar" level="project" />
<orderEntry type="library" name="sbt: commons-io:commons-io:1.3.1:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: commons-collections:commons-collections:3.2.1:jar" level="project" />
<orderEntry type="library" name="sbt: commons-codec:commons-codec:1.10:jar" level="project" />
<orderEntry type="library" name="sbt: com.zaxxer:HikariCP:2.3.7:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.scala-logging:scala-logging-slf4j_2.11:2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.scala-logging:scala-logging-api_2.11:2.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:twirl-api_2.11:1.1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-ws_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.typesafe.play:play-test_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.typesafe.play:play-specs2_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-server_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-netty-utils:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-netty-server_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-json_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-jdbc_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-jdbc-api_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-iteratees_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-functional_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-exceptions:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-datacommons_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:play-cache_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:filters-helpers_2.11:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.play:build-link:2.4.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.netty:netty-reactive-streams:2.0.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.netty:netty-http-pipelining:1.1.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-slf4j_2.11:2.3.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor_2.11:2.3.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.typesafe:config:1.3.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.twitter:chill_2.11:0.8.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.twitter:chill-java:0.8.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.sun.activation:javax.activation:1.2.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.novocode:junit-interface:0.11:jar" level="project" />
<orderEntry type="library" name="sbt: com.ning:async-http-client:1.9.21:jar" level="project" />
<orderEntry type="library" name="sbt: com.lowagie:itext:2.1.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.jolbox:bonecp:0.8.0.RELEASE:jar" level="project" />
<orderEntry type="library" name="sbt: com.h2database:h2:1.4.187:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.inject.extensions:guice-assistedinject:4.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.inject:guice:4.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.google.guava:guava:18.0:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.google.code.gson:gson:2.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: com.google.code.findbugs:jsr305:2.0.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.rwl:jtransforms:2.4.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-win-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-win-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-osx-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_system-linux-armhf:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-win-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-win-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-osx-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-x86_64:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-i686:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:netlib-native_ref-linux-armhf:1.1:natives:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:native_system-java:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:native_ref-java:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil.netlib:core:1.1.2:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.fommil:jniloader:1.1:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.danielkorzekwa:bayes-scala_2.11:0.7-SNAPSHOT:jar" level="project" />
<orderEntry type="library" name="sbt: com.github.danielkorzekwa:bayes-scala-gp_2.11:0.1-SNAPSHOT:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-databind:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-core:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.fasterxml.jackson.core:jackson-annotations:2.5.4:jar" level="project" />
<orderEntry type="library" name="sbt: com.esotericsoftware:minlog:1.3.0:jar" level="project" />
<orderEntry type="library" name="sbt: com.esotericsoftware:kryo-shaded:3.0.3:jar" level="project" />
<orderEntry type="library" name="sbt: com.couchbase.client:java-client:2.4.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.couchbase.client:core-io:1.4.5:jar" level="project" />
<orderEntry type="library" name="sbt: com.chuusai:shapeless_2.11:2.0.0:jar" level="project" />
<orderEntry type="library" name="sbt: ch.qos.logback:logback-core:1.1.3:jar" level="project" />
<orderEntry type="library" name="sbt: ch.qos.logback:logback-classic:1.1.3:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: cglib:cglib-nodep:2.1_3:jar" level="project" />
<orderEntry type="library" name="sbt: bouncycastle:bcprov-jdk14:138:jar" level="project" />
<orderEntry type="library" name="sbt: bouncycastle:bcmail-jdk14:138:jar" level="project" />
<orderEntry type="library" scope="TEST" name="sbt: xalan:xalan:2.7.1:jar" level="project" />
<orderEntry type="library" name="sbt: xerces:xercesImpl:2.11.0:jar" level="project" />
<orderEntry type="library" name="sbt: xml-apis:xml-apis:1.4.01:jar" level="project" />
</component>
</module>

View File

@@ -6,7 +6,9 @@
<entry key="anyplace">
<value>
<ProjectSettingsEntry>
<option name="sourceDir" value="$PROJECT_DIR$/app" />
<option name="confDir" value="$PROJECT_DIR$/app" />
<option name="playDistrPath" value="$USER_HOME$/.ivy2/cache/com.typesafe.play/play_2.11/jars/play_2.11-2.4.2.jar" />
<option name="templateImports">
<list>
<option value="models._" />

View File

@@ -2896,8 +2896,8 @@ object AnyplaceMapping extends play.api.mvc.Controller {
} else {
val (latlon_predict, crlbs) = getAccesMap(rm = rm.get, buid = buid, floor_number = floor_number,
cut_k_features = cut_k_features, h = h)
if (latlon_predict.isEmpty) {
return AnyResponseHelper.bad_request("Generating ACCES map!")
if (latlon_predict == null) {
return AnyResponseHelper.bad_request("Generating ACCES map in another background thread!")
}
val res = JsonObject.empty()
@@ -2963,7 +2963,7 @@ object AnyplaceMapping extends play.api.mvc.Controller {
LPLogger.info("getAccesMap: Ignoring request. Another process is already building: " + crlb_filename)
// CHECK throw exception?
// throw new Exception("Error while creating Radio Map on-the-fly!")
return
return (null, null)
}
val hm = rm.getGroupLocationRSS_HashMap()
@@ -2974,11 +2974,11 @@ object AnyplaceMapping extends play.api.mvc.Controller {
val m = rm.getMacAdressList().size()
for (key <- keys) {
val lrhm = hm.get(key)
for (loc: String <- lrhm.keySet()) {
val rss: util.List[String] = lrhm.get(loc)
val rss_vec = DenseVector.zeros[Double](m)
for (i <- 0 until rss.size()) {
val lrhm = hm.get(key)
rss_vec(i) = rss.get(i).toDouble
}
val slat_slon = loc.split(" ")

View File

@@ -426,10 +426,16 @@ app.filter('propsFilter', function () {
var keys = Object.keys(props);
for (var i = 0; i < keys.length; i++) {
var prop = keys[i];
var prop = keys[i];
if(prop == null || item[prop] == null) {
// BUG
console.log("BUG: item[prop]==null;");
// console.log("prop:" + prop);
// console.log("item:" + item);
// console.log("keys:" + keys);
continue;
}
var text = props[prop].toLowerCase();
console.log("PROP: ");
console.log("PROP: " + prop);
if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {
itemMatches = true;
break;

View File

@@ -395,12 +395,18 @@ app.controller('BuildingController', ['$cookieStore', '$scope', '$compile', 'GMa
// _suc('Successfully fetched buildings.');
},
function (resp) {
// on error
var data = resp.data;
// TODO provide here more info, if on develop
_err('Something went wrong while fetching buildings.');
function (resp) {
// on error
var data = resp.data;
var msg = "Something went wrong while fetching buildings.";
if (data["message"] != null) {
// custom message from server
msg = data["message"];
console.log("ERROR: " + msg);
}
// TODO provide here more info, if on develop
_err(msg);
}
);
};

View File

@@ -104,6 +104,7 @@ app.controller('ControlBarController', ['$scope', '$rootScope', 'AnyplaceService
window.onSignInFailure = $scope.onSignInFailure;
$scope.personLookUp = function (resp) {
// BUG: resp.getBasicProfile is not a function
$scope.person = resp.getBasicProfile();
$scope.person.image = $scope.person.getImageUrl();
$scope.person.id = $scope.person.getId();

View File

@@ -336,7 +336,6 @@ app.controller('WiFiController', ['$cookieStore','$scope', 'AnyplaceService', 'G
$('#APsButton').click();
}
function initializeAcces(){
$('#wifiTab').click();
$('#LAs').click();
$('#LAButton').click();
@@ -542,13 +541,16 @@ app.controller('WiFiController', ['$cookieStore','$scope', 'AnyplaceService', 'G
//}
});
var _err = function (msg) {
$scope.anyService.addAlert('danger', msg);
};
var _err = function (msg) {
$scope.anyService.addAlert('danger', msg);
};
var _warn = function (msg) {
$scope.anyService.addAlert('warning', msg);
};
var _suc = function (msg) {
$scope.anyService.addAlert('success', msg);
};
var _suc = function (msg) {
$scope.anyService.addAlert('success', msg);
};
$scope.$watch('anyService.selectedFloor', function (newVal, oldVal) {
@@ -902,50 +904,46 @@ app.controller('WiFiController', ['$cookieStore','$scope', 'AnyplaceService', 'G
};
// REVIEWLS different than develop
$scope.toggleLocalizationAccuracy = function () {
$scope.isDisabled = true;
console.log("toggleLocalizationAccuracy");
$('#LAButton').addClass('disabled');
var check = 0;
if ((heatMap_Location[check] !== undefined && heatMap_Location[check] !== null) || $scope.radioHeatmapLocalization) {
console.log("toggleLocalizationAccuracy: inside loop")
var i = heatMap_Location.length;
while (i--) {
heatMap_Location[i].setMap(null);
heatMap_Location[i] = null;
}
heatMap_Location = [];
/**
* This methods asynchronoysly calls showLocalizationAccHeatmap, that will
* eventually show the ACCES map. No UI changes should happen here as it returns immediately.
*
* */
$scope.toggleLocalizationAccuracy = function () {
var check = 0;
if ((heatMap_Location[check] !== undefined &&
heatMap_Location[check] !== null) ||
$scope.radioHeatmapLocalization) {
var i = heatMap_Location.length;
while (i--) {
heatMap_Location[i].setMap(null);
heatMap_Location[i] = null;
}
heatMap_Location = [];
_HEATMAP_Localization = false;
setColorClicked('g', false);
setColorClicked('y', false);
setColorClicked('o', false);
setColorClicked('p', false);
setColorClicked('r', false);
document.getElementById("localizationAccuracy-mode").classList.remove('draggable-border-green');
$scope.radioHeatmapLocalization = false;
_HEATMAP_Localization = false;
// CHECK what is this?
setColorClicked('g', false);
setColorClicked('y', false);
setColorClicked('o', false);
setColorClicked('p', false);
setColorClicked('r', false);
document.getElementById("localizationAccuracy-mode").
classList.remove('draggable-border-green');
$scope.radioHeatmapLocalization = false;
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
return;
}
console.log("toggleLocalizationAccuracy: inside loop: ret")
$('#LAButton').removeClass('disabled');
$scope.isDisabled = false;
return;
}
$scope.showLocalizationAccHeatmap();
$scope.showLocalizationAccHeatmap();
console.log("toggleLocalizationAccuracy: ret")
$('#LAButton').removeClass('disabled');
$scope.isDisabled = false;
document.getElementById("localizationAccuracy-mode").classList.add('draggable-border-green');
return;
};
document.getElementById("localizationAccuracy-mode").classList.add('draggable-border-green');
return;
};
$scope.toggleFingerPrintsTime = function () {
@@ -2318,123 +2316,176 @@ app.controller('WiFiController', ['$cookieStore','$scope', 'AnyplaceService', 'G
}
};
// REVIEWLS lsolea code
$scope.showLocalizationAccHeatmap = function () {
console.log("showLocalizationAccHeatmap");
var jsonReq = {"buid": $scope.anyService.getBuildingId(), "floor": $scope.anyService.getFloorNumber()};
/**
* This method will do the heavy work of showing the ACCES map.
* If the file exists, it will get it from the server, and then display it.
* If it does not, then the server will produce it, cache it, and then return the cache,
* a process that takes several seconds.
*
* We disable/enable the buttons where relevant to disallow any further actions from the user.
* Even when the ACCES map is cached, the fetching and rendering process requires some work.
*/
$scope.showLocalizationAccHeatmap = function () {
var jsonReq = {"buid": $scope.anyService.getBuildingId(), "floor": $scope.anyService.getFloorNumber()};
console.log("showLocalizationAccHeatmap: disabled button:1");
$('#LAButton').addClass('disabled');
jsonReq.username = $scope.creds.username;
jsonReq.password = $scope.creds.password;
var laButton = $("#LAButton");
var laButtonProgress = $("#LAButtonProgress");
laButton.addClass('disabled');
laButton.prop('disabled', true);
laButtonProgress.removeClass("hidden");
var promise = $scope.anyAPI.getHeatmapAcces(jsonReq);
console.log("showLocalizationAccHeatmap: got access map?");
jsonReq.username = $scope.creds.username;
jsonReq.password = $scope.creds.password;
//zoom
_NOW_ZOOM = GMapService.gmap.getZoom();
var promise = $scope.anyAPI.getHeatmapAcces(jsonReq);
var circleRadius=1.5;
if (_NOW_ZOOM > MIN_ZOOM_FOR_HEATMAPS && _NOW_ZOOM < MAX_ZOOM_FOR_HEATMAPS) {
levelOfZoom = 2;
}
else if (_NOW_ZOOM > MIN_ZOOM_FOR_HEATMAPS) {
levelOfZoom = 3;
}
else {
levelOfZoom = 1;
//zoom
_NOW_ZOOM = GMapService.gmap.getZoom();
if (_NOW_ZOOM > MIN_ZOOM_FOR_HEATMAPS && _NOW_ZOOM < MAX_ZOOM_FOR_HEATMAPS) {
levelOfZoom = 2;
circleRadius=1.8;
} else if (_NOW_ZOOM > MIN_ZOOM_FOR_HEATMAPS) {
levelOfZoom = 3;
circleRadius=2.1;
} else {
levelOfZoom = 1;
}
promise.then(
function (resp) { // got ACCES map (either cached or generated on the fly)
var values = resp.data.crlb;
var data = resp.data.geojson.coordinates;
var i = data.length;
if (i <= 0) {
_warn("This floor seems not to be FingerPrint mapped."
+ "Download the Anyplace app from the Google Play store to map the floor.");
document.getElementById("localizationAccuracy-mode")
.classList.remove('draggable-border-green');
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
laButton.removeClass('disabled');
laButton.prop('disabled', false);
laButtonProgress.addClass("hidden");
return;
}
promise.then(
function (resp) {
var values = resp.data.crlb;
var k = values.length;
var data = resp.data.geojson.coordinates;
var i = data.length;
var circleStroke=0.8*(levelOfZoom);
// GMaps colors:
// general surface: #F8F9FA
// building color: #F1F1F1
var strokeColor = '#a8a8a8';
if (i <= 0) {
_err("This floor seems not to be FingerPrint mapped. Download the Anyplace app from the Google Play store to map the floor.");
document.getElementById("localizationAccuracy-mode").classList.remove('draggable-border-green');
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
console.log("enabling button: ret1");
$('#LAButton').removeClass('disabled');
return;
}
var j = 0;
while (i--) { // pushing elements to map
var rp = data[i];
// FASTER RENDER
var color = '#33cc33';
if (isNaN(values[i]) || values[i] < 0) {
color = '#000000';
} else if (values[i] > 60) {
color = '#ff391e';
} else if (values[i] > 30) {
color = '#ff8a1b';
} else if (values[i] > 15) {
color = '#ffd716';
} else if (values[i] > 10) {
color = '#fdff76';
} else if (values[i] > 5) {
color = '#99ff33';
}
// var color = '#ffffff'; // CLR 2x slower
// if (isNaN(values[i]) || values[i] < 0) {
// color = '#000000';
// } else if (values[i] > 0 && values[i] < 5) {
// color = '#33cc33';
// } else if (values[i] > 5 && values[i] < 10) {
// color = '#99ff33';
// } else if (values[i] > 10 && values[i] < 15) {
// color = '#fdff76';
// } else if (values[i] > 15 && values[i] < 30) {
// color = '#ffd716';
// } else if (values[i] > 30 && values[i] < 60) {
// color = '#ff8a1b';
// } else {
// color = '#ff391e';
// }
// var heatMapData = [];
var j = 0;
while (i--) { // pushing elements to map
var rp = data[i];
var color = '#ffffff';
if (isNaN(values[i]) || values[i] < 0) {
color = '#000000';
}
else if (values[i] > 0 && values[i] < 5) {
color = '#33cc33';
}
else if (values[i] > 5 && values[i] < 10) {
color = '#99ff33';
}
else if (values[i] > 10 && values[i] < 15) {
color = '#fdff76';
}
else if (values[i] > 15 && values[i] < 30) {
color = '#ffd716';
}
else if (values[i] > 30 && values[i] < 60) {
color = '#ff8a1b';
}
else {
color = '#ff391e';
}
var ra=1.5;
var circle = new google.maps.Circle({
// path: google.maps.SymbolPath.CIRCLE,
strokeWeight: 0.5,
strokeColor: '#ffffff',
fillColor: color,
fillOpacity: 0.5,
map: $scope.gmapService.gmap,
center: {lat: rp[0], lng: rp[1]},
radius: ra
});
/* circle here is perfectly round, but it's slow
var perfectCircle = {
path: google.maps.SymbolPath.CIRCLE,
fillOpacity: 0.5,
fillColor: color,
strokeColor: strokeColor,
strokeWeight: 0.7,
// strokeOpacity: 1.0,
scale: circleScale // instead of radius..
};
heatMap_Location.push(circle);
data.splice(i, 1);
j++;
}
var latLng = new google.maps.LatLng(rp[0], rp[1])
var circle = new google.maps.Marker({
icon: perfectCircle,
position: latLng
});
circle.setMap($scope.gmapService.gmap);
*/
document.getElementById("localizationAccuracy-mode").classList.add('draggable-border-green');
$scope.localizationAccMode = true;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
} else {
localStorage.setItem('localizationAccMode', 'YES');
}
var circle = new google.maps.Circle({
strokeWeight: circleStroke,
strokeColor: strokeColor,
fillColor: color,
fillOpacity: 0.5,
map: $scope.gmapService.gmap,
center: {lat: rp[0], lng: rp[1]},
radius: circleRadius
});
_HEATMAP_Localization = true;
$scope.radioHeatmapLocalization = true;
$('#LAButton').removeClass('disabled');
console.log("enabling button: :2");
}, function (resp) {
// on error
var data = resp.data;
_err('Something went wrong while fetching fingerPrints.');
document.getElementById("localizationAccuracy-mode").classList.remove('draggable-border-green');
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
heatMap_Location.push(circle);
data.splice(i, 1);
j++;
}
console.log("enabling button: err:3");
$('#LAButton').removeClass('disabled');
}
);
};
document.getElementById("localizationAccuracy-mode").classList.add('draggable-border-green');
$scope.localizationAccMode = true;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
} else {
localStorage.setItem('localizationAccMode', 'YES');
}
_HEATMAP_Localization = true;
$scope.radioHeatmapLocalization = true;
laButtonProgress.addClass("hidden");
laButton.removeClass('disabled');
laButton.prop('disabled', false);
console.log("SLA: enabling button: 2");
}, function (resp) { // on error
var data = resp.data;
var msg = "Something went wrong while building ACCES map.";
if (data["message"] != null) {
msg = data["message"]; // custom message from server
}
_warn(msg);
document.getElementById("localizationAccuracy-mode").classList.remove('draggable-border-green');
$scope.localizationAccMode = false;
if (typeof(Storage) !== "undefined" && localStorage) {
localStorage.setItem('localizationAccMode', 'NO');
}
laButtonProgress.addClass("hidden");
laButton.removeClass('disabled');
laButton.prop('disabled', false);
}
);
};
$scope.showConnections = function () {

View File

@@ -942,9 +942,10 @@
<a data-toggle="modal" data-target="#myModal_3">read more...</a>
</div>
<div style="margin: 10px; font-weight: bold">
<button id="LAButton" class="btn btn-success" ng-click="toggleLocalizationAccuracy()" >
{{getLocalizationAccuracyText()}}
</button>
<button id="LAButton" class="btn btn-success" ng-click="toggleLocalizationAccuracy()" >
{{getLocalizationAccuracyText()}}
<i id="LAButtonProgress" class="fa fa-circle-o-notch fa-spin hidden"></i>
</button>
<button id="LAButton1" class="btn btn-success" ng-click="deleteRadiomaps()" >
Delete Radiomap
</button>

View File

@@ -53,6 +53,15 @@
"uri-js": "^4.2.2"
}
},
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
"requires": {
"ansi-wrap": "^0.1.0"
}
},
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -68,6 +77,12 @@
"color-convert": "^1.9.0"
}
},
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
"dev": true
},
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
@@ -717,6 +732,12 @@
"integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
"dev": true
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
"bytes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
@@ -865,6 +886,18 @@
}
}
},
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
"clone-buffer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
"dev": true
},
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -875,6 +908,23 @@
"mimic-response": "^1.0.0"
}
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"cloneable-readable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
"integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"process-nextick-args": "^2.0.0",
"readable-stream": "^2.3.5"
}
},
"coa": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
@@ -2580,6 +2630,19 @@
"which": "~1.3.0"
}
},
"gulp-uglify-es": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/gulp-uglify-es/-/gulp-uglify-es-2.0.0.tgz",
"integrity": "sha512-00KkawzjWdjPo1YfD1FXKijVxZkyr6YSwJ2cJQgD1fNKFZCFPNjGc5sTyzyW8tZns8FmZafgHMrg7LUDNvIQ5A==",
"dev": true,
"requires": {
"o-stream": "^0.2.2",
"plugin-error": "^1.0.1",
"terser": "^4.3.9",
"vinyl": "^2.2.0",
"vinyl-sourcemaps-apply": "^0.2.1"
}
},
"gzip-size": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
@@ -3786,6 +3849,12 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"o-stream": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/o-stream/-/o-stream-0.2.2.tgz",
"integrity": "sha512-V3j76KU3g/Gyl8rpdi2z72rn5zguMvTCQgAXfBe3pxEefKqXmOUOD7mvx/mNjykdxGqDVfpSoo8r+WdrkWg/1Q==",
"dev": true
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -4117,6 +4186,18 @@
"pinkie": "^2.0.0"
}
},
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"requires": {
"ansi-colors": "^1.0.1",
"arr-diff": "^4.0.0",
"arr-union": "^3.1.0",
"extend-shallow": "^3.0.2"
}
},
"plur": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz",
@@ -4754,6 +4835,24 @@
"urix": "^0.1.0"
}
},
"source-map-support": {
"version": "0.5.18",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.18.tgz",
"integrity": "sha512-9luZr/BZ2QeU6tO2uG8N2aZpVSli4TSAOAqFOyTO51AJcD9P99c0K1h6dD6r6qo5dyT44BR5exweOaLLeldTkQ==",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
@@ -5162,6 +5261,31 @@
"uuid": "^3.0.1"
}
},
"terser": {
"version": "4.6.11",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.11.tgz",
"integrity": "sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA==",
"dev": true,
"requires": {
"commander": "^2.20.0",
"source-map": "~0.6.1",
"source-map-support": "~0.5.12"
},
"dependencies": {
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -5489,6 +5613,29 @@
"extsprintf": "^1.2.0"
}
},
"vinyl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
"integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
},
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
"requires": {
"source-map": "^0.5.1"
}
},
"walkdir": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",

View File

@@ -8,7 +8,8 @@
"grunt-contrib-cssmin": "~3.0.0",
"grunt-contrib-imagemin": "^3.1.0",
"grunt-contrib-uglify": "~4.0.1",
"grunt-contrib-watch": "~1.1.0"
"grunt-contrib-watch": "~1.1.0",
"gulp-uglify-es": "^2.0.0"
},
"dependencies": {
"bower": "^1.8.8"