diff --git a/src/main/java/com/example/cosmos_serversb/models/Groups.java b/src/main/java/com/example/cosmos_serversb/models/Groups.java index be52147..924caed 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -16,34 +16,11 @@ private static ArrayList groups = new ArrayList<>(); private static SessionFactory sessionFactory; - - public static void setUp() { - // A SessionFactory is set up once for an application! - final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() - .configure() // configures settings from hibernate.cfg.xml - .build(); - try { - sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); - } - catch (Exception e) { - // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory - // so destroy it manually. - StandardServiceRegistryBuilder.destroy( registry ); - } - } - - public static void tearDown() { - try { - if ( sessionFactory != null ) { - sessionFactory.close(); - } - } catch (Exception e) { - System.out.println("Exception!"); - } - } + private static String baseURI = "http://nitta-lab-www.is.konan-u.ac.jp/"; + private static String AppName = "cosmos"; private Groups(){ - setUp(); + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); } public static Groups getInstance(){ @@ -53,13 +30,27 @@ return theInstance; } + public static String createGId() { + //gIdを作成し既存していないかチェック後DBに保存し作成したgIdを返す + String gId = UUID.randomUUID().toString(); + return gId; + } + + public static String createRId() { + //rIdを作成し既存していないかチェック後DBに保存し作成したrIdを返す + String rId = UUID.randomUUID().toString(); + return rId; + } + public static HashMap getGroupsListByUid(String uId){ return createTestHashMap(); } public static Group createGroup(String name, String uId){ //先にGidとuriの発行を行う - Group testGroup = new Group("123456789", "http://test.com", name, uId); + String gId = getInstance().createGId(); + String uri = baseURI + AppName + "/groups/" + gId; + Group testGroup = new Group(gId, uri, name, uId); Session session = sessionFactory.openSession(); session.beginTransaction(); session.save(testGroup); @@ -113,7 +104,9 @@ public static Request addRequests(String gId, String uId, String product, String deadline, int location){ //テスト用 - Request testRequest = new Request("123456789", "http://test.com", "1999/01/01/15:00:00", + String rId = getInstance().createRId(); + String uri = baseURI + AppName + "/groups/" + gId + "/requests/" + rId; + Request testRequest = new Request(rId, uri, "1999/01/01/15:00:00", uId, product, "1999/01/01/15:00:00", 999); return testRequest; } @@ -125,7 +118,7 @@ public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ //テスト用 - Request testRequest = new Request("123456789", "http://test.com", "1999/01/01/15:00:00", + Request testRequest = new Request(rId, "http://test.com", "1999/01/01/15:00:00", uId, product, "1999/01/01/15:00:00", 999); return testRequest; diff --git a/src/main/java/com/example/cosmos_serversb/models/SessionFactoryManager.java b/src/main/java/com/example/cosmos_serversb/models/SessionFactoryManager.java new file mode 100644 index 0000000..965cb6a --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/models/SessionFactoryManager.java @@ -0,0 +1,56 @@ +package com.example.cosmos_serversb.models; + +import org.hibernate.SessionFactory; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; + +import javax.inject.Singleton; + + +@Singleton +public class SessionFactoryManager { + private static SessionFactoryManager theInstance = null; + private static SessionFactory sessionFactory; + + private SessionFactoryManager(){ + setUp(); + } + + public static SessionFactoryManager getInstance(){ + if(theInstance == null){ + theInstance = new SessionFactoryManager(); + } + return theInstance; + } + + public static void setUp() { + // A SessionFactory is set up once for an application! + final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .configure() // configures settings from hibernate.cfg.xml + .build(); + try { + sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); + } + catch (Exception e) { + // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory + // so destroy it manually. + StandardServiceRegistryBuilder.destroy( registry ); + } + } + + public static void tearDown() { + try { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } catch (Exception e) { + System.out.println("Exception!"); + } + } + + public static SessionFactory getSessionFactory(){ + return sessionFactory; + } + +} diff --git a/src/main/java/com/example/cosmos_serversb/models/Users.java b/src/main/java/com/example/cosmos_serversb/models/Users.java index 6416916..6bf4d18 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -44,7 +44,7 @@ } private Users() { - setUp(); + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); } public static Users getInstance() { diff --git a/src/test/java/hibernateTest/entities/Event.java b/src/test/java/hibernateTest/entities/Event.java index 2a6df8a..f9520df 100644 --- a/src/test/java/hibernateTest/entities/Event.java +++ b/src/test/java/hibernateTest/entities/Event.java @@ -26,10 +26,11 @@ import java.util.Date; public class Event { - private Long id; + private Long id; - private String title; - private Date date; + private String title; + private Date date; + public Event() { // this form used by Hibernate diff --git a/src/test/java/hibernateTest/models/Groups.java b/src/test/java/hibernateTest/models/Groups.java index 110d243..e95681f 100644 --- a/src/test/java/hibernateTest/models/Groups.java +++ b/src/test/java/hibernateTest/models/Groups.java @@ -2,7 +2,6 @@ import hibernateTest.entities.Group; import hibernateTest.entities.Request; -import hibernateTest.entities.Event; import com.example.cosmos_serversb.models.DeleteResult; import org.hibernate.Session; import org.hibernate.SessionFactory; @@ -11,43 +10,23 @@ import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import javax.inject.Singleton; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.UUID; @Singleton public class Groups { private static Groups theInstance = null; + private static ArrayList groups = new ArrayList<>(); private static SessionFactory sessionFactory; - - public static void setUp() { - // A SessionFactory is set up once for an application! - final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() - .configure() // configures settings from hibernate.cfg.xml - .build(); - try { - sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); - } - catch (Exception e) { - // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory - // so destroy it manually. - StandardServiceRegistryBuilder.destroy( registry ); - } - } - - public static void tearDown() { - try { - if ( sessionFactory != null ) { - sessionFactory.close(); - } - } catch (Exception e) { - System.out.println("Exception!"); - } - } + private static String baseURI = "http://nitta-lab-www.is.konan-u.ac.jp/"; + private static String AppName = "cosmos"; private Groups(){ - setUp(); + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); } public static Groups getInstance(){ @@ -57,28 +36,37 @@ return theInstance; } + public static String createGId() { + //gIdを作成し既存していないかチェック後DBに保存し作成したgIdを返す + String gId = UUID.randomUUID().toString(); + return gId; + } + + public static String createRId() { + //rIdを作成し既存していないかチェック後DBに保存し作成したrIdを返す + String rId = UUID.randomUUID().toString(); + return rId; + } + public static HashMap getGroupsListByUid(String uId){ return createTestHashMap(); } public static Group createGroup(String name, String uId){ //先にGidとuriの発行を行う - Group testGroup = new Group("123456789", "http://test.com", name, uId); - Session session = sessionFactory.openSession(); - session.beginTransaction(); - session.save(testGroup); - session.getTransaction().commit(); - session.close(); + String gId = getInstance().createGId(); + String uri = baseURI + AppName + "/groups/" + gId; + Group testGroup = new Group(gId, uri, name, uId); - Session output = sessionFactory.openSession(); - output.beginTransaction(); - //hibernateテスト用出力 - List groupResult = output.createQuery( "from Group" ).list(); - for ( hibernateTest.entities.Group group : (List) groupResult ) { - System.out.println( "Group (" + group.getgId() + ") : " + group.getUri() + ": " + group.getName()); - } - output.getTransaction().commit(); - output.close(); +// Session session = sessionFactory.openSession(); +// session.beginTransaction(); +// Session session = SessionManager.getInstance().getCurrentSession(); + +// session.save(testGroup); + +// session.getTransaction().commit(); +// session.close(); + return testGroup; } @@ -87,7 +75,7 @@ Session session = sessionFactory.openSession(); session.beginTransaction(); List groupResult = session.createQuery( "from Group" ).list(); - for ( hibernateTest.entities.Group group : (List) groupResult ) { + for ( Group group : (List) groupResult ) { editGroup = group; if (editGroup.getgId().equals(gId)) { session.getTransaction().commit(); @@ -127,8 +115,10 @@ public static Request addRequests(String gId, String uId, String product, String deadline, int location){ //テスト用 - Request testRequest = new Request("123456789", "http://test.com", "1999/01/01/15:00:00", - uId, product, "1999/01/01/15:00:00", 999); + String rId = getInstance().createRId(); + String uri = baseURI + AppName + "/groups/" + gId + "/requests/" + rId; + Request testRequest = new Request(rId, uri, "1999/01/01/15:00:00", + uId, product, "1999/01/01/15:00:00", 999); return testRequest; } @@ -139,8 +129,8 @@ public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ //テスト用 - Request testRequest = new Request("123456789", "http://test.com", "1999/01/01/15:00:00", - uId, product, "1999/01/01/15:00:00", 999); + Request testRequest = new Request(rId, "http://test.com", "1999/01/01/15:00:00", + uId, product, "1999/01/01/15:00:00", 999); return testRequest; } @@ -160,10 +150,9 @@ for (String key : TestMap.keySet()) { System.out.println(key + " " + TestMap.get(key)); } - */ + */ + return testMap; } - - -} +} \ No newline at end of file diff --git a/src/test/java/hibernateTest/models/GroupsMain.java b/src/test/java/hibernateTest/models/GroupsMain.java index 6e3f5b7..55c547f 100644 --- a/src/test/java/hibernateTest/models/GroupsMain.java +++ b/src/test/java/hibernateTest/models/GroupsMain.java @@ -5,9 +5,9 @@ //このメインクラスを実行すると、Hibernateのテストが行えます。 public class GroupsMain { public static void main(String args[]){ - Groups.setUp(); + //Groups.setUp(); Groups.createGroup("test1", "1234567890"); Groups.getGroupByGid("123456789"); - Groups.tearDown(); + //Groups.tearDown(); } } diff --git a/src/test/java/hibernateTest/models/Main.java b/src/test/java/hibernateTest/models/Main.java index 141bccd..8f2a16a 100644 --- a/src/test/java/hibernateTest/models/Main.java +++ b/src/test/java/hibernateTest/models/Main.java @@ -6,9 +6,9 @@ public class Main { public static void main(String args[]){ NativeApiIllustrationTest test = new NativeApiIllustrationTest(); - test.setUp(); +// test.setUp(); // test.testBasicUsage();//Hibernate全般のテストが行えます。 - test.GroupMemberTest();//Group-Memberテーブルに関するテストが行えます。 - test.tearDown(); +// test.GroupMemberTest();//Group-Memberテーブルに関するテストが行えます。 +// test.tearDown(); } } diff --git a/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java b/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java index b1d902c..2cfd078 100644 --- a/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java +++ b/src/test/java/hibernateTest/models/NativeApiIllustrationTest.java @@ -282,12 +282,21 @@ public void GroupMemberTest(){ + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); + Session session = sessionFactory.openSession(); session.beginTransaction(); session.save( new User("I", "011","http://test1","hoge", "011" ) ); session.save( new User("YOU", "022","http://test2","hoge", "011" ) ); session.save( new User("HE", "033","http://test3","hoge", "011" ) ); - session.save( new Group("111", "http://test1", "family", "011" ) ); + +// session.save( new Group("111", "http://test1", "family", "011" ) ); + +// Group group = new Group("111", "http://test1", "family", "011" ); +// session.beginTransaction(); +// session.save(group); +// session.getTransaction().commit(); + session.save( new Group("222", "http://test2", "friend", "022" ) ); session.getTransaction().commit(); session.close(); diff --git a/src/test/java/hibernateTest/models/SessionFactoryManager.java b/src/test/java/hibernateTest/models/SessionFactoryManager.java new file mode 100644 index 0000000..afd6404 --- /dev/null +++ b/src/test/java/hibernateTest/models/SessionFactoryManager.java @@ -0,0 +1,56 @@ +package hibernateTest.models; + +import org.hibernate.SessionFactory; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; + +import javax.inject.Singleton; + + +@Singleton +public class SessionFactoryManager { + private static SessionFactoryManager theInstance = null; + private static SessionFactory sessionFactory; + + private SessionFactoryManager(){ + setUp(); + } + + public static SessionFactoryManager getInstance(){ + if(theInstance == null){ + theInstance = new SessionFactoryManager(); + } + return theInstance; + } + + public static void setUp() { + // A SessionFactory is set up once for an application! + final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .configure() // configures settings from hibernate.cfg.xml + .build(); + try { + sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory(); + } + catch (Exception e) { + // The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory + // so destroy it manually. + StandardServiceRegistryBuilder.destroy( registry ); + } + } + + public static void tearDown() { + try { + if ( sessionFactory != null ) { + sessionFactory.close(); + } + } catch (Exception e) { + System.out.println("Exception!"); + } + } + + public static SessionFactory getSessionFactory(){ + return sessionFactory; + } + +} diff --git a/src/test/java/hibernateTest/models/Users.java b/src/test/java/hibernateTest/models/Users.java index 797f930..f8a087a 100644 --- a/src/test/java/hibernateTest/models/Users.java +++ b/src/test/java/hibernateTest/models/Users.java @@ -52,7 +52,7 @@ } private Users() { - setUp(); + sessionFactory = SessionFactoryManager.getInstance().getSessionFactory(); } public static Users getInstance() {