Revision: 4034
Author:   seba.wagner
Date:     Sat Aug 13 02:49:39 2011
Log:      Fix FieldLanguageDaoImpl
http://code.google.com/p/openmeetings/source/detail?r=4034

Modified:
/branches/dev/injection/server/red5/webapps/openmeetings/WEB-INF/red5-applicationContext.xml /branches/dev/injection/src/app/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java /branches/dev/injection/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java /branches/dev/injection/src/app/org/openmeetings/app/installation/ImportInitvalues.java /branches/dev/injection/src/app/org/openmeetings/app/remote/LanguageService.java /branches/dev/injection/src/app/org/openmeetings/app/xmlimport/LanguageImport.java /branches/dev/injection/src/app/org/openmeetings/servlet/outputhandler/LangExport.java /branches/dev/injection/src/test/org/openmeetings/test/basic/StartUpLanguageFieldsConference.java /branches/dev/injection/src/test/org/openmeetings/test/init/AdddefaultLanugages.java

=======================================
--- /branches/dev/injection/server/red5/webapps/openmeetings/WEB-INF/red5-applicationContext.xml Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/server/red5/webapps/openmeetings/WEB-INF/red5-applicationContext.xml Sat Aug 13 02:49:39 2011
@@ -31,6 +31,7 @@
                </property>
        </bean>

+ <bean id="fieldLanguageDaoImpl" class="org.openmeetings.app.data.basic.FieldLanguageDaoImpl"/> <bean id="fieldmanagment" class="org.openmeetings.app.data.basic.Fieldmanagment"/> <bean id="importInitvalues" class=" org.openmeetings.app.installation.ImportInitvalues"/> <bean id="cfgManagement" class="org.openmeetings.app.data.basic.Configurationmanagement"/>
=======================================
--- /branches/dev/injection/src/app/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java Sat Jul 23 04:37:43 2011 +++ /branches/dev/injection/src/app/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java Sat Aug 13 02:49:39 2011
@@ -1,47 +1,35 @@
 package org.openmeetings.app.data.basic;

-import java.util.List;
 import java.util.Date;
-
-import org.slf4j.Logger;
-import org.red5.logging.Red5LoggerFactory;
+import java.util.List;
+
+import javax.persistence.EntityManager;
 import javax.persistence.NoResultException;
+import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityTransaction;

 import org.openmeetings.app.persistence.beans.lang.FieldLanguage;
-import org.openmeetings.app.persistence.utils.PersistenceSessionUtil;
 import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.transaction.annotation.Transactional;

 /**
  *
  * @author sebastianwagner
- *
+ *
  */
+@Transactional
 public class FieldLanguageDaoImpl {

- private static final Logger log = Red5LoggerFactory.getLogger(FieldLanguageDaoImpl.class, ScopeApplicationAdapter.webAppRootKey);
-
-       private FieldLanguageDaoImpl() {
-       }
-
-       private static FieldLanguageDaoImpl instance = null;
-
-       public static synchronized FieldLanguageDaoImpl getInstance() {
-               if (instance == null) {
-                       instance = new FieldLanguageDaoImpl();
-               }
-               return instance;
-       }
-
+       private static final Logger log = Red5LoggerFactory.getLogger(
+                       FieldLanguageDaoImpl.class, 
ScopeApplicationAdapter.webAppRootKey);
+
+       @PersistenceContext
+       private EntityManager em;

        public Long addLanguage(String langName, Boolean langRtl) {
                try {
-                       Object idf = PersistenceSessionUtil.createSession();
-                       EntityManager session = 
PersistenceSessionUtil.getSession();
-                       EntityTransaction tx = session.getTransaction();
-                       tx.begin();

                        FieldLanguage fl = new FieldLanguage();
                        fl.setStarttime(new Date());
@@ -49,111 +37,82 @@
                        fl.setName(langName);
                        fl.setRtl(langRtl);

-                       fl = session.merge(fl);
-                       session.flush();
+                       fl = em.merge(fl);
                        Long languages_id = fl.getLanguage_id();

-                       tx.commit();
-                       PersistenceSessionUtil.closeSession(idf);
-
                        return languages_id;
                } catch (Exception ex2) {
-                       log.error("[addLanguage]: ",ex2);
+                       log.error("[addLanguage]: ", ex2);
                }
                return null;
        }

-
        public void emptyFieldLanguage() {
                try {
-                       Object idf = PersistenceSessionUtil.createSession();
-                       EntityManager session = 
PersistenceSessionUtil.getSession();
-                       EntityTransaction tx = session.getTransaction();
-                       tx.begin();
-
-//                      TODO delete hql query doesn't work, must be repared
-                       session.createQuery("delete from FieldLanguage");
-                       tx.commit();
-                       PersistenceSessionUtil.closeSession(idf);
+
+                       // TODO delete hql query doesn't work, must be repared
+                       em.createQuery("delete from FieldLanguage");
                } catch (Exception ex2) {
-                       log.error("[getConfKey]: ",ex2);
+                       log.error("[getConfKey]: ", ex2);
                }
        }
-
- public Long updateFieldLanguage(Long language_id, String langName, String deleted) {
+
+       public Long updateFieldLanguage(Long language_id, String langName,
+                       String deleted) {
                try {
                        FieldLanguage fl = 
this.getFieldLanguageById(language_id);
                        fl.setUpdatetime(new Date());
-                       if (langName.length()>0) fl.setName(langName);
+                       if (langName.length() > 0)
+                               fl.setName(langName);
                        fl.setDeleted(deleted);
                        this.updateLanguage(fl);
                        return language_id;
                } catch (Exception ex2) {
-                       log.error("[updateLanguage]: ",ex2);
+                       log.error("[updateLanguage]: ", ex2);
                }
                return new Long(-1);
        }

-
        private void updateLanguage(FieldLanguage fl) throws Exception {
-               Object idf = PersistenceSessionUtil.createSession();
-               EntityManager session = PersistenceSessionUtil.getSession();
-               EntityTransaction tx = session.getTransaction();
-               tx.begin();
                if (fl.getLanguage_id() == null) {
-                       session.persist(fl);
-                   } else {
-                       if (!session.contains(fl)) {
-                               session.merge(fl);
-                   }
-               }
-               tx.commit();
-               PersistenceSessionUtil.closeSession(idf);
-       }
-
+                       em.persist(fl);
+               } else {
+                       if (!em.contains(fl)) {
+                               em.merge(fl);
+                       }
+               }
+       }

        public FieldLanguage getFieldLanguageById(Long language_id) {
                try {
-                       String hql = "select c from FieldLanguage as c " +
-                                       "WHERE c.deleted <> :deleted " +
-                                       "AND c.language_id = :language_id";
-                       Object idf = PersistenceSessionUtil.createSession();
-                       EntityManager session = 
PersistenceSessionUtil.getSession();
-                       EntityTransaction tx = session.getTransaction();
-                       tx.begin();
-                       Query query = session.createQuery(hql);
+                       String hql = "select c from FieldLanguage as c "
+                                       + "WHERE c.deleted <> :deleted "
+                                       + "AND c.language_id = :language_id";
+                       Query query = em.createQuery(hql);
                        query.setParameter("deleted", "true");
                        query.setParameter("language_id", language_id);
                        FieldLanguage fl = null;
                        try {
                                fl = (FieldLanguage) query.getSingleResult();
-               } catch (NoResultException ex) {
-               }
-                       tx.commit();
-                       PersistenceSessionUtil.closeSession(idf);
+                       } catch (NoResultException ex) {
+                       }
                        return fl;
                } catch (Exception ex2) {
-                       log.error("[getLanguageById]: ",ex2);
+                       log.error("[getLanguageById]: ", ex2);
                }
                return null;
        }
-
+
        public List<FieldLanguage> getLanguages() {
                try {
-                       String hql = "select c from FieldLanguage as c " +
-                                       "WHERE c.deleted <> :deleted ";
-                       Object idf = PersistenceSessionUtil.createSession();
-                       EntityManager session = 
PersistenceSessionUtil.getSession();
-                       EntityTransaction tx = session.getTransaction();
-                       tx.begin();
-                       Query query = session.createQuery(hql);
+                       String hql = "select c from FieldLanguage as c "
+                                       + "WHERE c.deleted <> :deleted ";
+                       Query query = em.createQuery(hql);
                        query.setParameter("deleted", "true");
                        List<FieldLanguage> ll = query.getResultList();
-                       tx.commit();
-                       PersistenceSessionUtil.closeSession(idf);
                        return ll;
                } catch (Exception ex2) {
-                       log.error("[getLanguages]: ",ex2);
+                       log.error("[getLanguages]: ", ex2);
                }
                return null;
        }
=======================================
--- /branches/dev/injection/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java Sat Aug 13 02:49:39 2011
@@ -24,6 +24,7 @@
 import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;

 /**
@@ -40,6 +41,9 @@
        @PersistenceContext
        private EntityManager em;

+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+
        // Reflect the Reverse Order!!
        public Fieldlanguagesvalues getFieldByIdAndLanguageByNavi(
                        Long fieldvalues_id, Long language_id) {
@@ -58,7 +62,7 @@
                        } catch (NoResultException ex) {
                        }

-                       FieldLanguage fieldLanguage = 
FieldLanguageDaoImpl.getInstance()
+                       FieldLanguage fieldLanguage = fieldLanguageDaoImpl
                                        .getFieldLanguageById(language_id);

                        log.debug("Getting FieldById for Language "
@@ -182,7 +186,7 @@
                                        returnList.add(map);
                                }
                        }
-                       FieldLanguage fieldLanguage = 
FieldLanguageDaoImpl.getInstance()
+                       FieldLanguage fieldLanguage = fieldLanguageDaoImpl
                                        .getFieldLanguageById(language_id);

                        log.debug("Getting Labels for Language " + 
fieldLanguage.getName());
@@ -256,7 +260,7 @@
                        //
                        // }

-                       FieldLanguage fieldLanguage = 
FieldLanguageDaoImpl.getInstance()
+                       FieldLanguage fieldLanguage = fieldLanguageDaoImpl
                                        .getFieldLanguageById(language_id);

                        log.debug("GEtting all fields by language : "
=======================================
--- /branches/dev/injection/src/app/org/openmeetings/app/installation/ImportInitvalues.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/app/org/openmeetings/app/installation/ImportInitvalues.java Sat Aug 13 02:49:39 2011
@@ -49,6 +49,8 @@
        private Usermanagement userManagement;
        @Autowired
        private Fieldmanagment fieldmanagment;
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;

        public void loadMainMenu() {

@@ -752,8 +754,8 @@
                        if (rtl != null && rtl.equals("true"))
                                langRtl = true;

-                       Long languages_id = 
FieldLanguageDaoImpl.getInstance().addLanguage(
-                                       langName, langRtl);
+                       Long languages_id = 
fieldLanguageDaoImpl.addLanguage(langName,
+                                       langRtl);

                        SAXReader reader = new SAXReader();
                        Document document = reader.read(filePath + langName + 
".xml");
=======================================
--- /branches/dev/injection/src/app/org/openmeetings/app/remote/LanguageService.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/app/org/openmeetings/app/remote/LanguageService.java Sat Aug 13 02:49:39 2011
@@ -35,6 +35,8 @@
        private Usermanagement userManagement;
        @Autowired
        private Fieldmanagment fieldmanagment;
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;

        /**
         * get a List of all availible Languages
@@ -42,7 +44,7 @@
         * @return
         */
        public List getLanguages() {
-               return FieldLanguageDaoImpl.getInstance().getLanguages();
+               return fieldLanguageDaoImpl.getLanguages();
        }

        /**
@@ -90,8 +92,7 @@
                if 
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
                        if (langName.length() == 0)
                                return new Long(-30);
-                       return 
FieldLanguageDaoImpl.getInstance().addLanguage(langName,
-                                       false);
+                       return fieldLanguageDaoImpl.addLanguage(langName, 
false);
                }
                return null;
        }
@@ -102,8 +103,8 @@
                if 
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
                        if (langName.length() == 0)
                                return new Long(-30);
-                       return 
FieldLanguageDaoImpl.getInstance().updateFieldLanguage(
-                                       language_id, langName, "false");
+                       return 
fieldLanguageDaoImpl.updateFieldLanguage(language_id,
+                                       langName, "false");
                }
                return null;
        }
@@ -112,8 +113,8 @@
                Long users_id = sessionManagement.checkSession(SID);
                Long user_level = userManagement.getUserLevelByID(users_id);
                if 
(AuthLevelmanagement.getInstance().checkAdminLevel(user_level)) {
-                       return 
FieldLanguageDaoImpl.getInstance().updateFieldLanguage(
-                                       language_id, "", "true");
+                       return fieldLanguageDaoImpl.updateFieldLanguage(language_id, 
"",
+                                       "true");
                }
                return null;
        }
=======================================
--- /branches/dev/injection/src/app/org/openmeetings/app/xmlimport/LanguageImport.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/app/org/openmeetings/app/xmlimport/LanguageImport.java Sat Aug 13 02:49:39 2011
@@ -21,6 +21,8 @@

        @Autowired
        private Fieldmanagment fieldmanagment;
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;

        public LanguageImport() {
        }
@@ -38,8 +40,7 @@
                        throws Exception {

                // return null if no language availible
-               if (FieldLanguageDaoImpl.getInstance()
-                               .getFieldLanguageById(language_id) == null) {
+               if (fieldLanguageDaoImpl.getFieldLanguageById(language_id) == 
null) {
                        return null;
                }

=======================================
--- /branches/dev/injection/src/app/org/openmeetings/servlet/outputhandler/LangExport.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/app/org/openmeetings/servlet/outputhandler/LangExport.java Sat Aug 13 02:49:39 2011
@@ -43,6 +43,8 @@
        private Usermanagement userManagement;
        @Autowired
        private Fieldmanagment fieldmanagment;
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;

        /*
         * (non-Javadoc)
@@ -77,7 +79,7 @@
                        log.debug("user_level: " + user_level);

                        if (user_level != null && user_level > 0) {
-                               FieldLanguage fl = 
FieldLanguageDaoImpl.getInstance()
+                               FieldLanguage fl = fieldLanguageDaoImpl
                                                
.getFieldLanguageById(language_id);

                                List<Fieldvalues> fvList = fieldmanagment
=======================================
--- /branches/dev/injection/src/test/org/openmeetings/test/basic/StartUpLanguageFieldsConference.java Sat Aug 13 02:42:52 2011 +++ /branches/dev/injection/src/test/org/openmeetings/test/basic/StartUpLanguageFieldsConference.java Sat Aug 13 02:49:39 2011
@@ -1,69 +1,78 @@
 package org.openmeetings.test.basic;

-import org.openmeetings.app.data.basic.Fieldmanagment;
-import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import java.io.File;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;

 import junit.framework.TestCase;

-import javax.xml.parsers.*;
-
-import org.w3c.dom.*;
-import java.io.*;
-import java.lang.Long;
+import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;

 public class StartUpLanguageFieldsConference extends TestCase {
-
-       public StartUpLanguageFieldsConference(String testname){
+
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+
+       public StartUpLanguageFieldsConference(String testname) {
                super(testname);
        }
-
- public static NodeList getLanguageXmlFile(String fileLanguage) throws Exception{
+
+       public static NodeList getLanguageXmlFile(String fileLanguage)
+                       throws Exception {
                File xml;
-
-        try{
-               xml = new File("src/languages/" + fileLanguage + ".xml");
-        }catch(Exception e){
-               throw e;
-        }
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
-        DocumentBuilder construct = factory.newDocumentBuilder();
-        Document document = construct.parse(xml);
-
-        Element root = document.getDocumentElement();
-
-        return root.getElementsByTagName("string");
-        }
-
-       public void testStartUpLanguageFieldsConference() throws Exception{
-               String listLanguages[] = {"deutsch", "english", "french", 
"spanish"};
+
+               try {
+                       xml = new File("src/languages/" + fileLanguage + 
".xml");
+               } catch (Exception e) {
+                       throw e;
+               }
+
+               DocumentBuilderFactory factory = 
DocumentBuilderFactory.newInstance();
+
+               DocumentBuilder construct = factory.newDocumentBuilder();
+               Document document = construct.parse(xml);
+
+               Element root = document.getDocumentElement();
+
+               return root.getElementsByTagName("string");
+       }
+
+       public void testStartUpLanguageFieldsConference() throws Exception {
+               String listLanguages[] = { "deutsch", "english", "french", 
"spanish" };
                NodeList nodeListLanguages[] = new NodeList[4];
-
+
                // TODO empty tables before launch unit test
-               //Languagemanagement.getInstance().emptyFieldLanguage();
-
+               // Languagemanagement.getInstance().emptyFieldLanguage();
+
                /** Read all languages files */
-               for (int i = 0; i < listLanguages.length ; i ++)
-               {
-                       
FieldLanguageDaoImpl.getInstance().addLanguage(listLanguages[i],false);
+               for (int i = 0; i < listLanguages.length; i++) {
+                       fieldLanguageDaoImpl.addLanguage(listLanguages[i], 
false);
                        nodeListLanguages[i] = 
getLanguageXmlFile(listLanguages[i]);
-               }
-
-               /** Insert all languages strings into database
+               }
+
+               /**
+                * Insert all languages strings into database
                 *
-                * This code can-not work
-                * swagner 15.05.2007*/
-// for (int item_id = 0; item_id < nodeListLanguages[0].getLength(); item_id++)
-//             {
-// fieldmanagment.addField(nodeListLanguages[0].item(item_id).getAttributes().getNamedItem("name").getNodeValue());
-//
-// for (int language_id = 0; language_id < listLanguages.length; language_id ++)
-//                     {
-// fieldmanagment.addFieldValueByFieldAndLanguage(Long.valueOf(nodeListLanguages[language_id].item(item_id).getAttributes().getNamedItem("id").getNodeValue()), (long) (language_id + 1), nodeListLanguages[language_id].item(item_id).getTextContent());
-//                     }
-//             }
-       }
-
+                * This code can-not work swagner 15.05.2007
+                */
+               // for (int item_id = 0; item_id < 
nodeListLanguages[0].getLength();
+               // item_id++)
+               // {
+ // fieldmanagment.addField(nodeListLanguages[0].item(item_id).getAttributes().getNamedItem("name").getNodeValue());
+               //
+               // for (int language_id = 0; language_id < listLanguages.length;
+               // language_id ++)
+               // {
+ // fieldmanagment.addFieldValueByFieldAndLanguage(Long.valueOf(nodeListLanguages[language_id].item(item_id).getAttributes().getNamedItem("id").getNodeValue()),
+               // (long) (language_id + 1),
+               // 
nodeListLanguages[language_id].item(item_id).getTextContent());
+               // }
+               // }
+       }

 }
=======================================
--- /branches/dev/injection/src/test/org/openmeetings/test/init/AdddefaultLanugages.java Mon Oct 12 02:56:03 2009 +++ /branches/dev/injection/src/test/org/openmeetings/test/init/AdddefaultLanugages.java Sat Aug 13 02:49:39 2011
@@ -3,18 +3,22 @@
 import junit.framework.TestCase;

 import org.openmeetings.app.data.basic.FieldLanguageDaoImpl;
+import org.springframework.beans.factory.annotation.Autowired;

 public class AdddefaultLanugages extends TestCase {

-       public AdddefaultLanugages(String testname){
+       @Autowired
+       private FieldLanguageDaoImpl fieldLanguageDaoImpl;
+
+       public AdddefaultLanugages(String testname) {
                super(testname);
        }
-
-       public void testAdddefaultLanugages(){
-
-               FieldLanguageDaoImpl.getInstance().addLanguage("deutsch",false);
-               FieldLanguageDaoImpl.getInstance().addLanguage("english",false);
-               FieldLanguageDaoImpl.getInstance().addLanguage("french",false);
-
+
+       public void testAdddefaultLanugages() {
+
+               fieldLanguageDaoImpl.addLanguage("deutsch", false);
+               fieldLanguageDaoImpl.addLanguage("english", false);
+               fieldLanguageDaoImpl.addLanguage("french", false);
+
        }
 }

--
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.

Reply via email to