petclinic-uncached
Changes
pom.xml 207(+87 -120)
src/main/webapp/resources/.gitignore 1(+1 -0)
src/main/webapp/vendors/jquery-ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_flat_0_aaaaaa_40x100.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_flat_75_ffffff_40x100.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_glass_55_fbf9ee_1x400.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_glass_65_ffffff_1x400.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_glass_75_dadada_1x400.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_glass_75_e6e6e6_1x400.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_glass_95_fef1ec_1x400.png 0(+0 -0)
src/main/webapp/vendors/jquery-ui/themes/base/minified/images/ui-bg_highlight-soft_75_cccccc_1x100.png 0(+0 -0)
src/main/webapp/WEB-INF/tags/footer.tag 11(+4 -7)
src/main/webapp/WEB-INF/tags/htmlHeader.tag 17(+7 -10)
Details
pom.xml 207(+87 -120)
diff --git a/pom.xml b/pom.xml
index 3aef083..4d1d442 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,9 +20,6 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <!-- Java EE / Java SE dependencies -->
- <tomcat.version>7.0.59</tomcat.version>
-
<!-- Test -->
<assertj.version>2.2.0</assertj.version>
<hamcrest.version>1.3</hamcrest.version>
@@ -32,11 +29,8 @@
<jodatime-jsptags.version>1.1.1</jodatime-jsptags.version>
<jadira-usertype-core.version>3.2.0.GA</jadira-usertype-core.version>
- <!-- Others -->
- <mysql-driver.version>5.1.36</mysql-driver.version>
<!-- Web dependencies -->
- <dandelion.version>1.1.1</dandelion.version>
<dandelion.datatables.version>1.1.0</dandelion.datatables.version>
<cobertura.version>2.7</cobertura.version>
@@ -71,12 +65,6 @@
<artifactId>spring-context-support</artifactId>
</dependency>
- <!-- Tomcat -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
@@ -106,27 +94,6 @@
<scope>runtime</scope>
</dependency>
- <!-- Database connection pool
- See here for more details on commons-dbcp versus tomcat-jdbc:
- http://blog.ippon.fr/2013/03/13/improving-the-performance-of-the-spring-petclinic-sample-application-part-3-of-5/
- -->
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-jdbc</artifactId>
- <scope>runtime</scope>
- </dependency>
-
- <!-- Logging with SLF4J & LogBack -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>runtime</scope>
- </dependency>
-
<!-- Date and Time -->
<dependency>
<groupId>joda-time</groupId>
@@ -186,7 +153,7 @@
<dependency>
<groupId>com.github.dandelion</groupId>
<artifactId>dandelion-jsp</artifactId>
- <version>${dandelion.version}</version>
+ <version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.github.dandelion</groupId>
@@ -198,18 +165,35 @@
<artifactId>datatables-export-itext</artifactId>
<version>${dandelion.datatables.version}</version>
</dependency>
+
+ <!-- webjars -->
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery</artifactId>
+ <version>2.2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery-ui</artifactId>
+ <version>1.11.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>bootstrap</artifactId>
+ <version>3.3.6</version>
+ </dependency>
+ <!-- end of webjars -->
+
</dependencies>
<!-- Maven plugin versions are mentioned in order to guarantee the build reproducibility in the long term -->
<build>
+ <finalName>petclinic</finalName>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <classifier>boot</classifier>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -237,14 +221,6 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <warName>petclinic</warName>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
@@ -270,37 +246,85 @@
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>${cobertura.version}</version>
<configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
+ <check/>
</configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>clean</goal>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
+
<plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.2</version>
+ <!--
+ right now lesscss maven plugin does NOT support @Import from classpath
+ https://github.com/marceloverdijk/lesscss-maven-plugin/issues/72
+
+ workaround here will be unpacking the bootstrap on-the-fly
+
+ remove this plugin config when the issue is resolved OR a better resolution is found
+ -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>bootstrap</artifactId>
+ <version>3.3.6</version>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.basedir}/src/main/webapp/resources/generated</outputDirectory>
+ <includes>**/*.less</includes>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- refer to dependency plugin comments above -->
+ <artifactId>maven-clean-plugin</artifactId>
<configuration>
- <server>tomcat-development-server</server>
- <port>9966</port>
- <path>/petclinic</path>
+ <filesets>
+ <fileset>
+ <directory>${project.basedir}/src/main/webapp/resources/generated</directory>
+ </fileset>
+ </filesets>
</configuration>
</plugin>
+
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>${cobertura.version}</version>
+ <groupId>org.lesscss</groupId>
+ <artifactId>lesscss-maven-plugin</artifactId>
+ <version>1.7.0.1.1</version>
<configuration>
- <check/>
+ <sourceDirectory>${project.basedir}/src/main/webapp/resources/less</sourceDirectory>
+ <outputDirectory>${project.basedir}/src/main/webapp/resources/generated</outputDirectory>
+ <compress>true</compress>
+ <includes>
+ <include>petclinic.less</include>
+ </includes>
</configuration>
<executions>
<execution>
+ <phase>process-resources</phase>
<goals>
- <goal>clean</goal>
- <goal>check</goal>
+ <goal>compile</goal>
</goals>
</execution>
</executions>
@@ -309,7 +333,6 @@
</build>
<reporting>
<plugins>
-
<!-- integrate maven-cobertura-plugin to project site -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -324,62 +347,6 @@
</plugin>
</plugins>
</reporting>
- <profiles>
- <profile>
- <id>bower-install</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.4.0</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <executable>bower</executable>
- <arguments>
- <argument>install</argument>
- </arguments>
- <workingDirectory>${basedir}</workingDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>less-install</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.lesscss</groupId>
- <artifactId>lesscss-maven-plugin</artifactId>
- <version>1.7.0.1.1</version>
- <configuration>
- <sourceDirectory>${project.basedir}/src/main/webapp/resources/less</sourceDirectory>
- <outputDirectory>${project.basedir}/src/main/webapp/resources/css</outputDirectory>
- <compress>true</compress>
- <includes>
- <include>petclinic.less</include>
- </includes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
<url>demopetclinic</url>
</project>
src/main/webapp/resources/.gitignore 1(+1 -0)
diff --git a/src/main/webapp/resources/.gitignore b/src/main/webapp/resources/.gitignore
new file mode 100644
index 0000000..86d4c2d
--- /dev/null
+++ b/src/main/webapp/resources/.gitignore
@@ -0,0 +1 @@
+generated
diff --git a/src/main/webapp/resources/css/jquery-ui.theme.min.css b/src/main/webapp/resources/css/jquery-ui.theme.min.css
new file mode 100644
index 0000000..eff13ab
--- /dev/null
+++ b/src/main/webapp/resources/css/jquery-ui.theme.min.css
@@ -0,0 +1,11 @@
+/*
+for further customization, follow the link below
+http://jqueryui.com/themeroller/#!zThemeParams=5d00000100d805000000000000003d8888d844329a8dfe02723de3e5700bbb34ecf36cdef1e1654faa0015427bdb9eb45ebe89aaede0ec5f0d92417fcc6551ce804ff46bf543167700d2cf4e583f2515147aacb86ffa11c0e588dae72a13c98dc37478199f7eea536e99702ea72bbd73d5e47a971ce54b81577463f5d94a7dee7b78d730e5f0e5b36143d0854af864d09e6dfeb499c775162a1dc8ece282210987b6ed92e34b030f954391e9a74efd9ae74d5bfa4a0f9279585e59808386e2e2598b131a9fb228b77cdfc6bd5daa135aeb0140333b1fa47281595bd036eaaa5ee8bee7d7645657ab1daf448d27ffc2a4b1a9080e84d697443d6d18d9beb24c48b8832a8969b523e5515db266f031aaeca6b493b2696ad3895cc9feb83467fbe15f1a94aea4c20683fbc63bfa858c2bd17cdfbb5794ae84228f03e7e217d86ec61bf878d21e0b59eecbb9f78e49015d1a1c954de1a4792b7a85c60d93fced492ed82ede7ae3041401aec984aecdea1eb7c567893d71a08abc1c2773489cceaf48ba1827b3cbee4a0473234c78c93160129fe9f83c16a6eef336ff92590214e03c56c9f6fa21323586d93d7c681556b7225c4251843df88826359ebe2dac6a418562470edb1e58a67d3876d984fddba1ef
+remember to update the link when you changed the theme
+*/
+
+/*! jQuery UI - v1.11.4 - 2016-06-28
+* http://jqueryui.com
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#6db33f;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #5fa134;background:#6db33f;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #6db33f;background:#88D041;color:#fff}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#fff}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
diff --git a/src/main/webapp/resources/less/petclinic.less b/src/main/webapp/resources/less/petclinic.less
index f939bab..ebab7e1 100644
--- a/src/main/webapp/resources/less/petclinic.less
+++ b/src/main/webapp/resources/less/petclinic.less
@@ -11,7 +11,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@import "../../vendors/bootstrap/less/bootstrap.less";
+@import "../generated/META-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less";
+
+@icon-font-path: "../../webjars/bootstrap/3.3.6/fonts/";
@spring-green: #6db33f;
@spring-dark-green: #5fa134;
@@ -40,8 +42,6 @@
@btn-default-bg: @spring-brown;
@btn-default-border: @spring-green;
-@icon-font-path: "../../vendors/bootstrap/dist/fonts/";
-
@nav-tabs-active-link-hover-color: @spring-light-grey;
@nav-tabs-active-link-hover-bg: @spring-brown;
@nav-tabs-active-link-hover-border-color: @spring-brown;
@@ -51,9 +51,6 @@
@pagination-active-border: @spring-green;
@table-border-color: @spring-brown;
-@import "typography.less";
-@import "header.less";
-
.table > thead > tr > th {
background-color: lighten(@spring-brown, 3%);
color: @spring-light-grey;
@@ -235,18 +232,10 @@ table td.action-column {
-webkit-animation-timing-function: linear;
}
-@keyframes "spinner" {
- from { transform: rotate( 0deg ); }
- to { transform: rotate( 360deg ); }
-}
-
-@-webkit-keyframes "spinner" {
- from { -webkit-transform: rotate( 0deg ); }
- to { -webkit-transform: rotate( 360deg ); }
-}
-
hr {
border-top: 1px dotted @spring-brown;
}
+@import "typography.less";
+@import "header.less";
@import "responsive.less";
src/main/webapp/WEB-INF/tags/footer.tag 11(+4 -7)
diff --git a/src/main/webapp/WEB-INF/tags/footer.tag b/src/main/webapp/WEB-INF/tags/footer.tag
index 6029efb..74179d7 100644
--- a/src/main/webapp/WEB-INF/tags/footer.tag
+++ b/src/main/webapp/WEB-INF/tags/footer.tag
@@ -1,18 +1,15 @@
+<%@ tag trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%-- Placed at the end of the document so the pages load faster --%>
-<spring:url value="/vendors/jquery/jquery.min.js" var="jQuery"/>
+<spring:url value="/webjars/jquery/2.2.4/jquery.min.js" var="jQuery"/>
<script src="${jQuery}"></script>
<%-- jquery-ui.js file is really big so we only load what we need instead of loading everything --%>
-<spring:url value="/vendors/jquery-ui/ui/jquery.ui.core.js" var="jQueryUiCore"/>
+<spring:url value="/webjars/jquery-ui/1.11.4/jquery-ui.min.js" var="jQueryUiCore"/>
<script src="${jQueryUiCore}"></script>
-<spring:url value="/vendors/jquery-ui/ui/jquery.ui.datepicker.js" var="jQueryUiDatePicker"/>
-<script src="${jQueryUiDatePicker}"></script>
-
-
<%-- Bootstrap --%>
-<spring:url value="/vendors/bootstrap/dist/js/bootstrap.min.js" var="bootstrapJs"/>
+<spring:url value="/webjars/bootstrap/3.3.6/js/bootstrap.min.js" var="bootstrapJs"/>
<script src="${bootstrapJs}"></script>
src/main/webapp/WEB-INF/tags/htmlHeader.tag 17(+7 -10)
diff --git a/src/main/webapp/WEB-INF/tags/htmlHeader.tag b/src/main/webapp/WEB-INF/tags/htmlHeader.tag
index a51e56d..323cca4 100644
--- a/src/main/webapp/WEB-INF/tags/htmlHeader.tag
+++ b/src/main/webapp/WEB-INF/tags/htmlHeader.tag
@@ -16,22 +16,19 @@ PetClinic :: a Spring Framework demonstration
<title>PetClinic :: a Spring Framework demonstration</title>
- <%-- CSS generated from LESS --%>
- <spring:url value="/resources/css/petclinic.css" var="petclinicCss"/>
- <link href="${petclinicCss}" rel="stylesheet"/>
-
-
<%-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --%>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
- <!-- Only datepicker is used -->
- <spring:url value="/vendors/jquery-ui/themes/base/minified/jquery-ui.min.css" var="jQueryUiCss"/>
+ <spring:url value="/resources/generated/petclinic.css" var="petClinicCss"/>
+ <link href="${petClinicCss}" rel="stylesheet"/>
+
+ <spring:url value="/webjars/jquery-ui/1.11.4/jquery-ui.min.css" var="jQueryUiCss"/>
<link href="${jQueryUiCss}" rel="stylesheet"/>
- <spring:url value="/vendors/jquery-ui/themes/base/minified/jquery.ui.theme.min.css" var="jQueryUiThemeCss"/>
+
+ <spring:url value="/resources/css/jquery-ui.theme.min.css" var="jQueryUiThemeCss"/>
<link href="${jQueryUiThemeCss}" rel="stylesheet"/>
- <spring:url value="/vendors/jquery-ui/themes/base/minified/jquery.ui.datepicker.min.css" var="jQueryUiDatePickerCss"/>
- <link href="${jQueryUiDatePickerCss}" rel="stylesheet"/>
+
</head>