Sandbox-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 1825 discussions
14 Apr '13
Author: echatellier
Date: 2013-04-14 16:57:33 +0200 (Sun, 14 Apr 2013)
New Revision: 577
Url: http://nuiton.org/projects/sandbox/repository/revisions/577
Log:
Update webview demo
Modified:
jfxwvpoc/src/html/index.html
jfxwvpoc/src/org/codelutin/test/Main.java
Modified: jfxwvpoc/src/html/index.html
===================================================================
--- jfxwvpoc/src/html/index.html 2013-04-05 04:15:25 UTC (rev 576)
+++ jfxwvpoc/src/html/index.html 2013-04-14 14:57:33 UTC (rev 577)
@@ -14,9 +14,10 @@
You should have received a copy of the GNU General Lesser Public
License along with this program. If not, see
<http://www.gnu.org/licenses/gpl-3.0.html>. -->
-<html>
+<!doctype html>
+<html lang="fr">
<head>
-
+ <meta charset="utf-8">
<style>
.scene {
-webkit-perspective:2800px;
@@ -26,7 +27,7 @@
border:1px solid black;
background-color:yellow;
width:400px;
- height:400px;
+ height:600px;
}
.mainanim {
-webkit-transform-style: preserve-3d;
@@ -97,11 +98,591 @@
</head>
<body>
-
+
<div class="scene">
- <div class="main" onClick="this.setAttribute('class', 'main mainanim');">
- Jtimer
+ <div class="main">
+
+ Jtimer : <input type="button" value="Run 3D" onClick="this.parentNode.setAttribute('class', 'main mainanim');" />
+ <input type="button" value="Stop 3D" onClick="this.parentNode.setAttribute('class', 'main');" /><br />
+ <form>
+ Date picker : <input type="date" name="toto" autofocus="autofocus" /><br />
+ Search : <input type="search" placeholder="Recherche" name="recherche" /><br />
+ Color : <input type="color" name="color" /><br />
+ Completion : <input type="text" list="complete" />
+ <datalist id="complete">
+ <option>Ada</option>
+ <option>Java</option>
+ <option>JavaScript</option>
+ <option>HTML</option>
+ <option>CSS</option>
+ </datalist><br />
+ Progress : <progress max="100" value="34"></progress><br />
+ Meter : <meter value="33"></meter><br />
+ Keygen : <keygen><br />
+
+ Pattern : <input type="text" pattern="[0-9]{4}" placeholder="année" title="Entrer une année" /><br />
+
+ <input type="submit" formmethod="get" value="Submit GET" /> <input type="submit" formmethod="post" value="Submit POST" />
+ </form>
+
+ Video : <video width="320" height="240" controls="controls">
+ <source src="http://oss.bramosystems.com/bst-player/demo/media/big-buck-bunny.mp4" type="video/mp4"></source>
+ Your browser does not support the video tag.
+ </video>
+
+ Audio : <audio controls="controls">
+ <source src="data:audio/mp3;base64,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
+jzDzDyhR8b3o0oouLzcq2X/lv/q1WWWWWy//2X/////////I1a2ORkyyUjI7Lf/+2fkayVDIya1D
+I1YKCBOJVBq9loAAjA00Rn/dXSU4Pc0hIgdB0YIyQ2eJiFZKcNyUZJ2GTILBIRmTKm//q8UVTEFN
+RTMuOTguMlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVV//uUZNYOw51DSAsMLiArhhkRBWKWC+Fs2AeYbYiwkBxIECUoVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVMQU1FMy45OC4yVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uU
+ZO6P8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"></source>
+ </audio><br />
+ Audio : <audio controls="controls">
+ <source src="http://upload.wikimedia.org/wikipedia/en/a/a8/Game_of_Thrones_Main_Title_sa…"></source>
+ </audio><br />
+
<div class="cube">
<div class="face face1">1</div>
<div class="face face2">2</div>
@@ -111,6 +692,16 @@
<div class="face face6">6</div>
</div>
</div>
+
+ <details>
+ <summary>Liens</summary>
+ (notez l'absence de http:// ^^)
+ <ul>
+ <li><a href="http://html5test.com/">html5test.com</a></li>
+ <li><a href="http://acid3.acidtests.org/">acid3.acidtests.org</a></li>
+ <li><a href="http://www.codelutin.com">www.codelutin.com</a></li>
+ </ul>
+ </details>
</div>
</body>
</html>
Modified: jfxwvpoc/src/org/codelutin/test/Main.java
===================================================================
--- jfxwvpoc/src/org/codelutin/test/Main.java 2013-04-05 04:15:25 UTC (rev 576)
+++ jfxwvpoc/src/org/codelutin/test/Main.java 2013-04-14 14:57:33 UTC (rev 577)
@@ -37,9 +37,9 @@
@Override
public void start(Stage primaryStage) throws Exception {
- primaryStage.setTitle("Web View");
+ primaryStage.setTitle("Web View " + System.getProperty("java.version"));
Browser browser = new Browser();
- Scene scene = new Scene(browser, 1180, 800, Color.web("#666970"));
+ Scene scene = new Scene(browser, 450, 800, Color.web("#666970"));
primaryStage.setScene(scene);
primaryStage.show();
@@ -56,7 +56,7 @@
public Browser() {
getStyleClass().add("browser");
- //webEngine.load("http://www.google.com/");
+ //webEngine.load("http://html5test.com/");
URL url = getClass().getResource("/html/index.html");
webEngine.load(url.toExternalForm());
getChildren().add(browser);
1
0
Author: tchemit
Date: 2013-04-05 06:15:25 +0200 (Fri, 05 Apr 2013)
New Revision: 576
Url: http://nuiton.org/projects/sandbox/repository/revisions/576
Log:
tuto injectMavenPropertiesInJavaFile
Modified:
injectMavenPropertiesInJavaFile/pom.xml
Modified: injectMavenPropertiesInJavaFile/pom.xml
===================================================================
--- injectMavenPropertiesInJavaFile/pom.xml 2013-04-05 03:59:51 UTC (rev 575)
+++ injectMavenPropertiesInJavaFile/pom.xml 2013-04-05 04:15:25 UTC (rev 576)
@@ -22,19 +22,22 @@
<properties>
<!-- where to copy filtered java sources -->
- <javaGenDirectory>
- ${project.basedir}/target/generated-sources/java
- </javaGenDirectory>
+ <javaFilterDirectory>
+ ${project.basedir}/target/filtered-sources/java
+ </javaFilterDirectory>
</properties>
<build>
<resources>
- <!-- filter java source root -->
<resource>
+ <!-- java source root to filter -->
<directory>src/main/filter-java</directory>
- <targetPath>${javaGenDirectory}</targetPath>
+ <!-- filtered java source -->
+ <targetPath>${javaFilterDirectory}</targetPath>
+ <!-- yes filter -->
<filtering>true</filtering>
+ <!-- include all java files -->
<includes>
<include>**/*.java</include>
</includes>
@@ -55,7 +58,7 @@
</goals>
<configuration>
<sources>
- <source>${javaGenDirectory}</source>
+ <source>${javaFilterDirectory}</source>
</sources>
</configuration>
</execution>
1
0
r575 - injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven
by tchemit@users.nuiton.org 05 Apr '13
by tchemit@users.nuiton.org 05 Apr '13
05 Apr '13
Author: tchemit
Date: 2013-04-05 05:59:51 +0200 (Fri, 05 Apr 2013)
New Revision: 575
Url: http://nuiton.org/projects/sandbox/repository/revisions/575
Log:
tuto injectMavenPropertiesInJavaFile
Modified:
injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java
Modified: injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java
===================================================================
--- injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java 2013-04-05 03:57:07 UTC (rev 574)
+++ injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java 2013-04-05 03:59:51 UTC (rev 575)
@@ -9,7 +9,7 @@
public class MyClass {
public static void main(String[] args) {
- System.out.println("Project GAV: ${project.groupId}:${project:artifactId}:${project:version}");
+ System.out.println("Project GAV: ${project.groupId}:${project.artifactId}:${project.version}");
System.out.println("Project SCM: ${scm.url}");
}
}
1
0
r574 - in injectMavenPropertiesInJavaFile: . src src/main src/main/filter-java src/main/filter-java/com src/main/filter-java/com/codelutin src/main/filter-java/com/codelutin/tech src/main/filter-java/com/codelutin/tech/maven
by tchemit@users.nuiton.org 05 Apr '13
by tchemit@users.nuiton.org 05 Apr '13
05 Apr '13
Author: tchemit
Date: 2013-04-05 05:57:07 +0200 (Fri, 05 Apr 2013)
New Revision: 574
Url: http://nuiton.org/projects/sandbox/repository/revisions/574
Log:
tuto injectMavenPropertiesInJavaFile
Added:
injectMavenPropertiesInJavaFile/pom.xml
injectMavenPropertiesInJavaFile/src/
injectMavenPropertiesInJavaFile/src/main/
injectMavenPropertiesInJavaFile/src/main/filter-java/
injectMavenPropertiesInJavaFile/src/main/filter-java/com/
injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/
injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/
injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/
injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java
Modified:
injectMavenPropertiesInJavaFile/
Property changes on: injectMavenPropertiesInJavaFile
___________________________________________________________________
Added: svn:ignore
+ target
*.iml
.idea
*.ipr
*.iws
Added: injectMavenPropertiesInJavaFile/pom.xml
===================================================================
--- injectMavenPropertiesInJavaFile/pom.xml (rev 0)
+++ injectMavenPropertiesInJavaFile/pom.xml 2013-04-05 03:57:07 UTC (rev 574)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>com.codelutin.tech</groupId>
+ <artifactId>injectMavenPropertiesInJavaFile</artifactId>
+ <version>0.1-SNAPSHOT</version>
+
+ <description>
+ Example of how to inject maven properties in a java file.
+ </description>
+
+ <scm>
+ <url>
+ http://svn.nuiton.org/svn/sandbox/injectMavenPropertiesInJavaFile
+ </url>
+ </scm>
+
+ <properties>
+
+ <!-- where to copy filtered java sources -->
+ <javaGenDirectory>
+ ${project.basedir}/target/generated-sources/java
+ </javaGenDirectory>
+ </properties>
+
+ <build>
+
+ <resources>
+ <!-- filter java source root -->
+ <resource>
+ <directory>src/main/filter-java</directory>
+ <targetPath>${javaGenDirectory}</targetPath>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ </resource>
+ </resources>
+
+ <plugins>
+
+ <!-- Add the filtered java source root to compiler -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${javaGenDirectory}</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Exec the main java example class -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2.1</version>
+ <configuration>
+ <mainClass>com.codelutin.tech.maven.MyClass</mainClass>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+</project>
Property changes on: injectMavenPropertiesInJavaFile/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java
===================================================================
--- injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java (rev 0)
+++ injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java 2013-04-05 03:57:07 UTC (rev 574)
@@ -0,0 +1,15 @@
+package com.codelutin.tech.maven;
+
+/**
+ * Let's inject some maven project properties in the java file.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.1
+ */
+public class MyClass {
+
+ public static void main(String[] args) {
+ System.out.println("Project GAV: ${project.groupId}:${project:artifactId}:${project:version}");
+ System.out.println("Project SCM: ${scm.url}");
+ }
+}
Property changes on: injectMavenPropertiesInJavaFile/src/main/filter-java/com/codelutin/tech/maven/MyClass.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2013-04-05 05:48:34 +0200 (Fri, 05 Apr 2013)
New Revision: 573
Url: http://nuiton.org/projects/sandbox/repository/revisions/573
Log:
tuto injectMavenPropertiesInJavaFile
Added:
injectMavenPropertiesInJavaFile/
1
0
03 Apr '13
Author: athimel
Date: 2013-04-03 11:56:00 +0200 (Wed, 03 Apr 2013)
New Revision: 572
Url: http://nuiton.org/projects/sandbox/repository/revisions/572
Log:
Replace 'expected=' by try+catch+fail
Modified:
hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
Modified: hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
===================================================================
--- hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java 2013-04-03 09:40:35 UTC (rev 571)
+++ hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java 2013-04-03 09:56:00 UTC (rev 572)
@@ -23,6 +23,7 @@
*/
import org.junit.After;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -46,7 +47,7 @@
entityManagerFactory.close();
}
- @Test(expected = PersistenceException.class)
+ @Test
public void testCreateDuplicateEntry() {
EntityManager entityManager = entityManagerFactory.createEntityManager();
@@ -91,8 +92,13 @@
entityManager.persist(threadUserAssociation01);
entityManager.persist(threadUserAssociation02);
- // Should fail on flush because of unique constraint in ThreadUserAssociation
- entityManager.getTransaction().commit();
+ try {
+ // Should fail during flush because of unique constraint in ThreadUserAssociation
+ entityManager.getTransaction().commit();
+ Assert.fail("2 association classes created against unique constraint");
+ } catch (PersistenceException pe) {
+ // This is the expected behavior
+ }
entityManager.close();
}
1
0
r571 - in hibernate-HHH-8109/src: main/java/org/nuiton/hhh8109 test/java/org/nuiton/hhh8109
by athimel@users.nuiton.org 03 Apr '13
by athimel@users.nuiton.org 03 Apr '13
03 Apr '13
Author: athimel
Date: 2013-04-03 11:40:35 +0200 (Wed, 03 Apr 2013)
New Revision: 571
Url: http://nuiton.org/projects/sandbox/repository/revisions/571
Log:
Simplify code and comment testcase
Modified:
hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java
hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
Modified: hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java
===================================================================
--- hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java 2013-04-03 09:24:47 UTC (rev 570)
+++ hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java 2013-04-03 09:40:35 UTC (rev 571)
@@ -32,7 +32,6 @@
import javax.persistence.UniqueConstraint;
import javax.persistence.Version;
import java.io.Serializable;
-import java.util.Date;
@Entity
@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {"user", "thread"})})
@@ -55,10 +54,6 @@
protected int nbMessage;
- protected int nbUnreadMessages;
-
- protected Date modificationDate;
-
public String getId() {
return id;
}
@@ -99,19 +94,4 @@
this.nbMessage = nbMessage;
}
- public int getNbUnreadMessages() {
- return nbUnreadMessages;
- }
-
- public void setNbUnreadMessages(int nbUnreadMessages) {
- this.nbUnreadMessages = nbUnreadMessages;
- }
-
- public Date getModificationDate() {
- return modificationDate;
- }
-
- public void setModificationDate(Date modificationDate) {
- this.modificationDate = modificationDate;
- }
}
Modified: hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
===================================================================
--- hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java 2013-04-03 09:24:47 UTC (rev 570)
+++ hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java 2013-04-03 09:40:35 UTC (rev 571)
@@ -52,6 +52,7 @@
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
+ // Create and persist a user instance
User user = new User();
user.setId(UUID.randomUUID().toString());
user.setLogin("arno");
@@ -59,6 +60,7 @@
user.setLastName("Thimel");
entityManager.persist(user);
+ // Create and persist a thread instance
Thread thread = new Thread();
thread.setId(UUID.randomUUID().toString());
thread.setNaturalId("Whatever thread");
@@ -71,23 +73,25 @@
entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
+ // Create a first association class between "user" and "thread"
ThreadUserAssociation threadUserAssociation01 = new ThreadUserAssociation();
threadUserAssociation01.setId(UUID.randomUUID().toString());
threadUserAssociation01.setUser(user);
threadUserAssociation01.setThread(thread);
threadUserAssociation01.setNbMessage(3);
- threadUserAssociation01.setNbUnreadMessages(1);
+ // Create a second association class between "user" and "thread" (should not be possible because of unique constraint)
ThreadUserAssociation threadUserAssociation02 = new ThreadUserAssociation();
threadUserAssociation02.setId(UUID.randomUUID().toString());
threadUserAssociation02.setUser(user);
threadUserAssociation02.setThread(thread);
threadUserAssociation02.setNbMessage(1);
- threadUserAssociation02.setNbUnreadMessages(0);
+ // Persist the 2 association classes
entityManager.persist(threadUserAssociation01);
entityManager.persist(threadUserAssociation02);
+ // Should fail on flush because of unique constraint in ThreadUserAssociation
entityManager.getTransaction().commit();
entityManager.close();
}
1
0
Author: athimel
Date: 2013-04-03 11:24:47 +0200 (Wed, 03 Apr 2013)
New Revision: 570
Url: http://nuiton.org/projects/sandbox/repository/revisions/570
Log:
Improve README.txt
Modified:
hibernate-HHH-8109/README.txt
Modified: hibernate-HHH-8109/README.txt
===================================================================
--- hibernate-HHH-8109/README.txt 2013-04-03 09:18:21 UTC (rev 569)
+++ hibernate-HHH-8109/README.txt 2013-04-03 09:24:47 UTC (rev 570)
@@ -1,5 +1,16 @@
Test case for https://hibernate.atlassian.net/browse/HHH-8109
+HOWTO
+-----
+
+Run with
+$ mvn clean package
+
+The unit test is expecting an exception which is not thrown in Hibernate 4.2.0.Final
+
+To see regression, change the Hibernate version in pom.xml
+
+
hibernate.hbm2ddl.auto and Hibernate version
--------------------------------------------
1
0
Author: athimel
Date: 2013-04-03 11:18:21 +0200 (Wed, 03 Apr 2013)
New Revision: 569
Url: http://nuiton.org/projects/sandbox/repository/revisions/569
Log:
Ignore build files
Modified:
hibernate-HHH-8109/
Property changes on: hibernate-HHH-8109
___________________________________________________________________
Added: svn:ignore
+ .idea
*.iml
target
1
0
r568 - in hibernate-HHH-8109: . src src/main src/main/java src/main/java/org src/main/java/org/nuiton src/main/java/org/nuiton/hhh8109 src/test src/test/java src/test/java/org src/test/java/org/nuiton src/test/java/org/nuiton/hhh8109 src/test/resources src/test/resources/META-INF
by athimel@users.nuiton.org 03 Apr '13
by athimel@users.nuiton.org 03 Apr '13
03 Apr '13
Author: athimel
Date: 2013-04-03 11:16:45 +0200 (Wed, 03 Apr 2013)
New Revision: 568
Url: http://nuiton.org/projects/sandbox/repository/revisions/568
Log:
Initial import of HHH-8109 source code
Added:
hibernate-HHH-8109/LICENSE.txt
hibernate-HHH-8109/README.txt
hibernate-HHH-8109/changelog.txt
hibernate-HHH-8109/pom.xml
hibernate-HHH-8109/src/
hibernate-HHH-8109/src/main/
hibernate-HHH-8109/src/main/java/
hibernate-HHH-8109/src/main/java/org/
hibernate-HHH-8109/src/main/java/org/nuiton/
hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/
hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/Thread.java
hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java
hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/User.java
hibernate-HHH-8109/src/test/
hibernate-HHH-8109/src/test/java/
hibernate-HHH-8109/src/test/java/org/
hibernate-HHH-8109/src/test/java/org/nuiton/
hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/
hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
hibernate-HHH-8109/src/test/resources/
hibernate-HHH-8109/src/test/resources/META-INF/
hibernate-HHH-8109/src/test/resources/META-INF/persistence.xml
Added: hibernate-HHH-8109/LICENSE.txt
===================================================================
--- hibernate-HHH-8109/LICENSE.txt (rev 0)
+++ hibernate-HHH-8109/LICENSE.txt 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,166 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
+
Added: hibernate-HHH-8109/README.txt
===================================================================
--- hibernate-HHH-8109/README.txt (rev 0)
+++ hibernate-HHH-8109/README.txt 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,10 @@
+Test case for https://hibernate.atlassian.net/browse/HHH-8109
+
+hibernate.hbm2ddl.auto and Hibernate version
+--------------------------------------------
+
+Test always runs fine with hibernate.hbm2ddl.auto=create
+
+Test runs fine with Hibernate 4.1.9.Final AND hibernate.hbm2ddl.auto=update
+
+Test fails with Hibernate 4.2.0.Final AND hibernate.hbm2ddl.auto=update
Added: hibernate-HHH-8109/changelog.txt
===================================================================
Added: hibernate-HHH-8109/pom.xml
===================================================================
--- hibernate-HHH-8109/pom.xml (rev 0)
+++ hibernate-HHH-8109/pom.xml 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton</groupId>
+ <artifactId>mavenpom</artifactId>
+ <version>3.4.9</version>
+ </parent>
+
+ <groupId>org.nuiton</groupId>
+ <artifactId>hhh8109</artifactId>
+ <version>0.1-SNAPSHOT</version>
+
+ <!-- ************************************************************* -->
+ <!-- *** Project Information ************************************* -->
+ <!-- ************************************************************* -->
+
+ <name>Test case for HHH-8109</name>
+ <inceptionYear>2013</inceptionYear>
+
+ <licenses>
+ <license>
+ <name>Lesser General Public License (LGPL) v 3.0</name>
+ <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+
+ <developer>
+ <name>Arnaud Thimel</name>
+ <id>athimel</id>
+ <email>thimel(a)codelutin.com</email>
+ <organization>Code Lutin</organization>
+ <timezone>+2</timezone>
+ <roles>
+ <role>developer</role>
+ </roles>
+ </developer>
+
+ </developers>
+
+ <organization>
+ <name>Code Lutin</name>
+ <url>http://www.codelutin.com/</url>
+ </organization>
+
+ <!-- ************************************************************* -->
+ <!-- *** Build Environment ************************************** -->
+ <!-- ************************************************************* -->
+
+ <issueManagement/>
+ <ciManagement/>
+ <mailingLists/>
+ <scm/>
+
+ <!-- ************************************************************* -->
+ <!-- *** Build Settings ****************************************** -->
+ <!-- ************************************************************* -->
+
+ <properties>
+ <license.licenseName>lgpl_v3</license.licenseName>
+
+ <h2Version>1.3.171</h2Version>
+
+ <!-- AThimel 04/03/2013 Test successes with 4.1.9.Final but fails with 4.2.0.Final -->
+ <!--<hibernateVersion>4.1.9.Final</hibernateVersion>-->
+ <hibernateVersion>4.2.0.Final</hibernateVersion>
+ </properties>
+
+ <packaging>jar</packaging>
+
+ <dependencies>
+
+ <!-- Hibernate -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>${hibernateVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>${hibernateVersion}</version>
+ </dependency>
+
+ <!-- Other libraries -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.7.5</version>
+ </dependency>
+
+ <dependency>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>3.12.1.GA</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
+ <!-- Tests -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>${h2Version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <repositories/>
+
+ <build>
+ <resources/>
+ <extensions/>
+ <plugins/>
+ </build>
+
+ <reporting/>
+
+ <!-- ************************************************************* -->
+ <!-- *** Maven Environment *************************************** -->
+ <!-- ************************************************************* -->
+
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
+
+ <distributionManagement/>
+ <profiles/>
+
+</project>
+
Added: hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/Thread.java
===================================================================
--- hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/Thread.java (rev 0)
+++ hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/Thread.java 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,70 @@
+package org.nuiton.hhh8109;
+
+/*
+ * #%L
+ * Test case for HHH-8109
+ * %%
+ * Copyright (C) 2013 Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+import org.hibernate.annotations.BatchSize;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import java.io.Serializable;
+import java.util.List;
+
+@Entity
+public class Thread implements Serializable {
+
+ @Id
+ protected String id;
+
+ @Column(unique = true)
+ protected String naturalId;
+
+ @OneToMany(mappedBy = "thread")
+ @BatchSize(size = 5)
+ protected List<ThreadUserAssociation> userThreads;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getNaturalId() {
+ return naturalId;
+ }
+
+ public void setNaturalId(String naturalId) {
+ this.naturalId = naturalId;
+ }
+
+ public List<ThreadUserAssociation> getUserThreads() {
+ return userThreads;
+ }
+
+ public void setUserThreads(List<ThreadUserAssociation> userThreads) {
+ this.userThreads = userThreads;
+ }
+}
Added: hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java
===================================================================
--- hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java (rev 0)
+++ hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/ThreadUserAssociation.java 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,117 @@
+package org.nuiton.hhh8109;
+
+/*
+ * #%L
+ * Test case for HHH-8109
+ * %%
+ * Copyright (C) 2013 Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+import org.hibernate.annotations.BatchSize;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+import javax.persistence.UniqueConstraint;
+import javax.persistence.Version;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {"user", "thread"})})
+public class ThreadUserAssociation implements Serializable {
+
+ @Id
+ protected String id;
+
+ @ManyToOne
+ @BatchSize(size = 5)
+ @JoinColumn(name = "user")
+ protected User user;
+
+ @Version
+ int version;
+
+ @ManyToOne
+ @JoinColumn(name = "thread")
+ protected Thread thread;
+
+ protected int nbMessage;
+
+ protected int nbUnreadMessages;
+
+ protected Date modificationDate;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public User getUser() {
+ return user;
+ }
+
+ public void setUser(User user) {
+ this.user = user;
+ }
+
+ public int getVersion() {
+ return version;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
+
+ public Thread getThread() {
+ return thread;
+ }
+
+ public void setThread(Thread thread) {
+ this.thread = thread;
+ }
+
+ public int getNbMessage() {
+ return nbMessage;
+ }
+
+ public void setNbMessage(int nbMessage) {
+ this.nbMessage = nbMessage;
+ }
+
+ public int getNbUnreadMessages() {
+ return nbUnreadMessages;
+ }
+
+ public void setNbUnreadMessages(int nbUnreadMessages) {
+ this.nbUnreadMessages = nbUnreadMessages;
+ }
+
+ public Date getModificationDate() {
+ return modificationDate;
+ }
+
+ public void setModificationDate(Date modificationDate) {
+ this.modificationDate = modificationDate;
+ }
+}
Added: hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/User.java
===================================================================
--- hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/User.java (rev 0)
+++ hibernate-HHH-8109/src/main/java/org/nuiton/hhh8109/User.java 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,73 @@
+package org.nuiton.hhh8109;
+
+/*
+ * #%L
+ * Test case for HHH-8109
+ * %%
+ * Copyright (C) 2013 Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+@Entity
+public class User implements Serializable {
+
+ @Id
+ protected String id;
+
+ @Column(unique = true)
+ protected String login;
+
+ protected String firstName;
+ protected String lastName;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getLogin() {
+ return login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+}
Added: hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java
===================================================================
--- hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java (rev 0)
+++ hibernate-HHH-8109/src/test/java/org/nuiton/hhh8109/HHH8109Test.java 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,95 @@
+package org.nuiton.hhh8109;
+
+/*
+ * #%L
+ * Test case for HHH-8109
+ * %%
+ * Copyright (C) 2013 Code Lutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import javax.persistence.PersistenceException;
+import java.util.UUID;
+
+public class HHH8109Test {
+
+ private EntityManagerFactory entityManagerFactory;
+
+ @Before
+ public void setUp() throws Exception {
+ entityManagerFactory = Persistence.createEntityManagerFactory("org.nuiton.hhh8109");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ entityManagerFactory.close();
+ }
+
+ @Test(expected = PersistenceException.class)
+ public void testCreateDuplicateEntry() {
+
+ EntityManager entityManager = entityManagerFactory.createEntityManager();
+ entityManager.getTransaction().begin();
+
+ User user = new User();
+ user.setId(UUID.randomUUID().toString());
+ user.setLogin("arno");
+ user.setFirstName("Arnaud");
+ user.setLastName("Thimel");
+ entityManager.persist(user);
+
+ Thread thread = new Thread();
+ thread.setId(UUID.randomUUID().toString());
+ thread.setNaturalId("Whatever thread");
+ entityManager.persist(thread);
+
+ entityManager.getTransaction().commit();
+ entityManager.close();
+
+
+ entityManager = entityManagerFactory.createEntityManager();
+ entityManager.getTransaction().begin();
+
+ ThreadUserAssociation threadUserAssociation01 = new ThreadUserAssociation();
+ threadUserAssociation01.setId(UUID.randomUUID().toString());
+ threadUserAssociation01.setUser(user);
+ threadUserAssociation01.setThread(thread);
+ threadUserAssociation01.setNbMessage(3);
+ threadUserAssociation01.setNbUnreadMessages(1);
+
+ ThreadUserAssociation threadUserAssociation02 = new ThreadUserAssociation();
+ threadUserAssociation02.setId(UUID.randomUUID().toString());
+ threadUserAssociation02.setUser(user);
+ threadUserAssociation02.setThread(thread);
+ threadUserAssociation02.setNbMessage(1);
+ threadUserAssociation02.setNbUnreadMessages(0);
+
+ entityManager.persist(threadUserAssociation01);
+ entityManager.persist(threadUserAssociation02);
+
+ entityManager.getTransaction().commit();
+ entityManager.close();
+ }
+
+}
Added: hibernate-HHH-8109/src/test/resources/META-INF/persistence.xml
===================================================================
--- hibernate-HHH-8109/src/test/resources/META-INF/persistence.xml (rev 0)
+++ hibernate-HHH-8109/src/test/resources/META-INF/persistence.xml 2013-04-03 09:16:45 UTC (rev 568)
@@ -0,0 +1,51 @@
+<!--
+ #%L
+ Test case for HHH-8109
+ %%
+ Copyright (C) 2013 Code Lutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Lesser Public License for more details.
+
+ You should have received a copy of the GNU General Lesser Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ #L%
+ -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
+ version="2.0">
+
+ <persistence-unit name="org.nuiton.hhh8109">
+ <description>
+ Persistence unit for the HHH-8109 test case
+ </description>
+
+ <class>org.nuiton.hhh8109.User</class>
+ <class>org.nuiton.hhh8109.Thread</class>
+ <class>org.nuiton.hhh8109.ThreadUserAssociation</class>
+
+ <properties>
+ <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
+ <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE"/>
+ <property name="javax.persistence.jdbc.user" value="sa"/>
+ <property name="javax.persistence.jdbc.password" value=""/>
+
+ <property name="hibernate.show_sql" value="true"/>
+
+ <!-- AThimel 04/03/2013 Test successes with "create" but fails with "update" -->
+ <!--<property name="hibernate.hbm2ddl.auto" value="create" />-->
+ <property name="hibernate.hbm2ddl.auto" value="update"/>
+ </properties>
+
+ </persistence-unit>
+
+</persistence>
1
0