Package org.openmeetings.app.data.basic

Source Code of org.openmeetings.app.data.basic.Navimanagement

package org.openmeetings.app.data.basic;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.Set;

import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import javax.persistence.Query;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import org.openmeetings.app.persistence.beans.basic.Naviglobal;
import org.openmeetings.app.persistence.beans.basic.Navimain;
import org.openmeetings.app.persistence.beans.basic.Navisub;
import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
import org.openmeetings.app.persistence.utils.PersistenceSessionUtil;
import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;

public class Navimanagement {

  private static final Logger log = Red5LoggerFactory.getLogger(Navimanagement.class, ScopeApplicationAdapter.webAppRootKey);

  private static Navimanagement instance;

  private Navimanagement() {
  };

  public static synchronized Navimanagement getInstance() {
    if (instance == null) {
      instance = new Navimanagement();
    }
    return instance;
  }

  public List getMainMenu(long user_level, long USER_ID, long language_id) {
    List<Naviglobal> ll = this.getMainMenu(user_level, USER_ID);
    for (Iterator<Naviglobal> it2 = ll.iterator(); it2.hasNext();) {
      Naviglobal navigl = (Naviglobal) it2.next();
      navigl.setLabel(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navigl.getFieldvalues_id(),language_id));
      navigl.setTooltip(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navigl.getTooltip_fieldvalues_id(),language_id));
      List<Navimain> s = navigl.getMainnavi();
      for (Iterator<Navimain> it3 = s.iterator(); it3.hasNext();) {
        Navimain navim = (Navimain) it3.next();
        navim.setLabel(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navim.getFieldvalues_id(),language_id));
        navim.setTooltip(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navim.getTooltip_fieldvalues_id(),language_id));
        if (navim.getSubnavi() != null ) {
          for (Iterator<Navisub> it4 = navim.getSubnavi().iterator(); it4.hasNext();) {
            Navisub navis = (Navisub) it4.next();
            navis.setLabel(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navis.getFieldvalues_id(),language_id));
            navis.setTooltip(Fieldmanagment.getInstance().getFieldByIdAndLanguageByNavi(navis.getTooltip_fieldvalues_id(),language_id));
          }
        }

      }
    }
    return ll;
  }

  public List<Naviglobal> getMainMenu(long user_level, long USER_ID) {
    try {
     
      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      // CriteriaBuilder crit = session.getCriteriaBuilder();
      Query query = session.createQuery("select c from Naviglobal as c " +
          "where c.level_id <= :level_id AND " +
          "c.deleted LIKE 'false' " +
          "order by c.naviorder");
      query.setParameter("level_id", user_level);
      List<Naviglobal> navi = query.getResultList();

      tx.commit();
     
      log.debug("getMainMenu "+navi.size());
     
      PersistenceSessionUtil.closeSession(idf);
     
      return navi;
    } catch (Exception ex2) {
      log.error("getMainMenu",ex2);
    }
    return null;
  }

  public void addGlobalStructure(String action, int naviorder,
      long fieldvalues_id, boolean isleaf, boolean isopen, long level_id,
      String name, String deleted, Long tooltip_fieldvalues_id) {
    try {
      Naviglobal ng = new Naviglobal();
      ng.setAction(action);
      ng.setComment("");
      ng.setIcon("");
      ng.setNaviorder(naviorder);
      ng.setFieldvalues_id(fieldvalues_id);
      ng.setIsleaf(isleaf);
      ng.setIsopen(isopen);
      ng.setDeleted(deleted);
      ng.setLevel_id(level_id);
      ng.setName(name);
      ng.setStarttime(new Date());
      ng.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);

      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      // CriteriaBuilder crit = session.getCriteriaBuilder();

      session.merge(ng);

      tx.commit();
      PersistenceSessionUtil.closeSession(idf);

    } catch (Exception ex2) {
      log.error("addGlobalStructure",ex2);
    }
  }

  public void addMainStructure(String action, int naviorder,
      long fieldvalues_id, boolean isleaf, boolean isopen, long level_id,
      String name, long global_id, String deleted) {
    try {
      Navimain ng = new Navimain();
      ng.setAction(action);
      ng.setComment("");
      ng.setIcon("");
      ng.setFieldvalues_id(fieldvalues_id);
      ng.setIsleaf(isleaf);
      ng.setNaviorder(naviorder);
      ng.setIsopen(isopen);
      ng.setLevel_id(level_id);
      ng.setName(name);
      ng.setDeleted(deleted);
      ng.setGlobal_id(global_id);
      ng.setStarttime(new Date());

      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      // CriteriaBuilder crit = session.getCriteriaBuilder();

      session.merge(ng);

      tx.commit();
      PersistenceSessionUtil.closeSession(idf);

    } catch (Exception ex2) {
      log.error("addMainStructure",ex2);
    }
  }

  public void addSubStructure(String action, int naviorder,
      long fieldvalues_id, boolean isleaf, boolean isopen, long level_id,
      String name, long main_id) {
    try {
      Navisub ng = new Navisub();
      ng.setAction(action);
      ng.setComment("");
      ng.setIcon("");
      ng.setNaviorder(naviorder);
      ng.setFieldvalues_id(fieldvalues_id);
      ng.setIsleaf(isleaf);
      ng.setIsopen(isopen);
      ng.setLevel_id(level_id);
      ng.setName(name);
      ng.setDeleted("false");
      ng.setMain_id(main_id);
      ng.setStarttime(new Date());

      Object idf = PersistenceSessionUtil.createSession();
      EntityManager session = PersistenceSessionUtil.getSession();
      EntityTransaction tx = session.getTransaction();
      tx.begin();
      // CriteriaBuilder crit = session.getCriteriaBuilder();

      session.merge(ng);

      tx.commit();
      PersistenceSessionUtil.closeSession(idf);

    } catch (Exception ex2) {
      log.error("addSubStructure",ex2);
    }
  }
}
TOP

Related Classes of org.openmeetings.app.data.basic.Navimanagement

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.