Fluent API for Vaadlets
I added support for Fluent API into https://github.com/ahoehma/vaadlets.
Now you can do this:
VaadletsBuilder.build(
new Vaadlets().withRootComponent(
new VerticalLayout()
.withHeight("100px")
.withWidth("100px")
.withStyleName("foobar")
.withComponents(
new Button().withCaption("hustensaft")
.withAlignment(Alignment.MIDDLE_CENTER)
.withExpandRatio(1f))));
Use maven profile to recompile vaadin widgetset #2
In a older post I describe my solution to handle VAADIN/GWT widgetset compilation with maven.
Today I will share some changes to use GWT 2.4 with my solution.
The problem: after GWT compilation a new directory gwt-unitCache exists under the VAADIN directory. I don’t need this
I integrate this workaround in my profile:
<profile>
<!-- Updates Vaadin widgetset definitions based on project dependencies -->
<id>update-widgetset</id>
<activation>
<file>
<missing>${basedir}/src/main/webapp/VAADIN/widgetsets/</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>1.0.2</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets/</webappDirectory>
<extraJvmArgs>-Xmx512M -Xss1024k </extraJvmArgs>
<deploy>${project.build.directory}/gwt-tmp/</deploy>
<soyc>false</soyc>
<force>true</force>
<strict>true</strict>
<style>OBFUSCATED</style>
<optimizationLevel>9</optimizationLevel>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- workaround for
http://code.google.com/p/google-web-toolkit/issues/detail?id=6397 -->
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src/main/webapp/VAADIN/</directory>
<includes>
<directory>gwt-unitCache/**</directory>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>generate-resources</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
Reset sa password for SQLExpress
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -E sa -S [HOSTNAME]\SQLEXPRESS
1> sp_password @old=null, @new=’123geheim’, @loginame = ‘sa’
2> go
Enable JMX Management for Hibernate EhCache
Have a look at
- net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory.start(Settings, Properties)
- net.sf.ehcache.hibernate.management.impl.ProviderMBeanRegistrationHelper.registerMBean(CacheManager, Properties)
jmonkey maven support next round
jmonkey have no maven support … here is my solution
1. clone jme3-thirdparty from git, mvn install … done
2. clone jme3-buildhelper, copy pom.xml into jmonkey-engine … done
3. start hacking your jmonkey game with maven build support
Good to know this Hibernate Envers API changes
Today I tried to update the hibernate version for an internal customer project from 3.6.0.Final to 3.6.9.Final. In the project we are using Envers to track entity revisions. I already posted about that here.
I noticed that some tests broken with the new version. These tests doing something like this: “create a bean, do changes X times, check available revisions and changed properties from rev A to B”. In the new version I missed some changed properties. I’m so happy that we have some tests for that aspect because without them I guess I had found these effects.
I found this entries in the Envers user forum:
- Envers not auditing properties in super class
- Envers modification in Hibernate 3.6.8 is causing problems
Then I use the “try and fail” principle to find the latest working version: ONLY 3.6.0.Final works
So there was an API change from 3.6.0.Final to 3.6.1.Final. Since 3.6.1.Final Envers doesn’t inspect parent class (es) per default to find out the audit able properties. But it’s easy to fix that:
- put a @Audited to all the base classes
- or use org.hibernate.envers.Audited.auditParents() (if you can’t change the base class)
Use maven profile to recompile vaadin widgetset
Today I will show you my maven profile to configure Vaadin widgetset recompilation.
The Vaadin wiki shows the basics … but I want widgetset update only if its necessary … so I moved the gwt/vaadin plugins in a profile and add a activation per file for this profile:
<profile>
<!--
Updates Vaadin widgetset definitions based on project dependencies
Remove widgetset directory to trigger recompile:
rm -Rf src/main/webapp/VAADIN/widgetsets/
-->
<id>update-widgetset</id>
<activation>
<file>
${basedir}/src/main/webapp/VAADIN/widgetsets/
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>1.0.2</version>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.3.0-1</version>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
${basedir}/src/main/webapp/VAADIN/widgetsets/
-Xmx512M -Xss1024k
${project.build.directory}/gwt-tmp/
<soyc>false</soyc>
<force>true</force>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
Recent Comments