14 package cz.vutbr.fit.knot.annotations.web;
20 import java.io.Serializable;
21 import java.util.ArrayList;
22 import java.util.Iterator;
23 import java.util.List;
24 import java.util.logging.Level;
25 import java.util.logging.Logger;
26 import javax.faces.bean.ManagedBean;
27 import javax.faces.bean.SessionScoped;
28 import javax.faces.model.SelectItem;
29 import javax.persistence.EntityManager;
30 import javax.persistence.Query;
31 import org.openfaces.util.Faces;
41 public class ATypes implements Serializable {
57 selGroups = SessionManager.getSession().getLoggedUser().getGroupsAL();
70 Object[] params =
new Object[2];
73 tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findById", params);
74 if (tList != null && !tList.isEmpty()) {
79 SessionManager.getSession().setEditedAT(selected);
80 SessionManager.getSession().setFormBackup(null);
93 Object[] params =
new Object[2];
96 tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findById", params);
97 if (tList != null && !tList.isEmpty()) {
102 SessionManager.getSession().setEditedAT(selected);
103 SessionManager.getSession().setFormBackup(null);
131 AnnotType annotT = Faces.var(
"annotT", AnnotType.class);
141 List<AnnotType> rList =
new ArrayList<AnnotType>();
142 AnnotType annotT = Faces.var(
"annotT", AnnotType.class);
144 if (annotT != null) {
147 EntityManager em = AppBean.getPersistenceManager().getEM();
150 Query query = em.createQuery(
"SELECT a FROM AnnotType a JOIN a.ancestorTypes at WHERE at.id='" + annotT.getId() +
"'");
151 tList = query.getResultList();
152 }
catch (Exception e) {
154 String msg =
"DB query in getNodeChildren failed.";
155 Logger.getLogger(ATypes.class.getName()).log(Level.SEVERE, msg, e);
161 if (tList != null && !tList.isEmpty()) {
162 for (Iterator tIt = tList.iterator(); tIt.hasNext();) {
170 Object[] params =
new Object[2];
171 params[0] =
"ancestor";
172 params[1] = annotT.getId();
173 tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findByAncestor", params);
174 if (tList != null && !tList.isEmpty()) {
175 for (Iterator tIt = tList.iterator(); tIt.hasNext();) {
177 if (!rList.contains(at)) {
190 for (Iterator<UserGroup> ugIt =
selGroups.iterator(); ugIt.hasNext();) {
194 EntityManager em = AppBean.getPersistenceManager().getEM();
196 Query query = em.createQuery(
"SELECT a FROM AnnotType a WHERE a.groupId = '" + ug.getId() +
"' AND a.ancestor IS NULL");
197 tList = query.getResultList();
198 }
catch (Exception e) {
200 String msg =
"DB query in getNodeChildren failed.";
201 Logger.getLogger(ATypes.class.getName()).log(Level.SEVERE, msg, e);
208 if (tList != null && !tList.isEmpty()) {
209 for (Iterator tIt = tList.iterator(); tIt.hasNext();) {
226 AnnotType annotT = Faces.var(
"annotT", AnnotType.class);
227 if (annotT != null) {
229 EntityManager em = AppBean.getPersistenceManager().getEM();
232 Query query = em.createQuery(
"SELECT a FROM AnnotType a JOIN a.ancestorTypes at WHERE at.id='" + annotT.getId() +
"'");
233 tList = query.getResultList();
234 }
catch (Exception e) {
236 String msg =
"DB query in getNodeHasChildren failed.";
237 Logger.getLogger(ATypes.class.getName()).log(Level.SEVERE, msg, e);
243 if (tList != null && !tList.isEmpty()) {
248 Object[] params =
new Object[2];
249 params[0] =
"ancestor";
250 params[1] = annotT.getId();
251 tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findByAncestor", params);
252 if (tList != null && !tList.isEmpty()) {
294 List<UserGroup> nList =
new ArrayList<UserGroup>();
295 for (Iterator<String> sIt = selGroupsStrings.iterator(); sIt.hasNext();) {
296 String s = sIt.next();
297 int begin = s.indexOf(
"[id=") + 4;
298 if (begin < 0 || begin > s.length()) {
301 int end = s.length() - 1;
305 String idS = s.substring(begin, end);
308 id = Integer.parseInt(idS);
309 }
catch (NumberFormatException numberFormatException) {
311 String msg =
"Exception in setSelGroupS";
312 Logger.getLogger(ATypes.class.getName()).log(Level.SEVERE, msg, numberFormatException);
318 Object[] params =
new Object[2];
322 @SuppressWarnings(
"unchecked")
323 List<UserGroup> ugList = AppBean.getPersistenceManager().queryDB(
"UserGroup.findById", params);
324 if (ugList != null && !ugList.isEmpty()) {
325 for (Iterator<UserGroup> ugIt = ugList.iterator(); ugIt.hasNext();) {
341 List<SelectItem> rList =
new ArrayList<SelectItem>();
343 @SuppressWarnings(
"unchecked")
344 List<UserGroup> ugList = AppBean.getPersistenceManager().queryDB(
"UserGroup.findAll");
345 if (ugList != null && !ugList.isEmpty()) {
346 for (Iterator<UserGroup> ugIt = ugList.iterator(); ugIt.hasNext();) {
348 rList.add(
new SelectItem(ug, ug.
getName()));
String actionDelete(Integer id)
String actionEdit(Integer id)
void setSelGroups(List< UserGroup > selGroups)
Singleton for storing global variables.
boolean getNodeHasChildren()
Class representing user group.
void setSelType(AnnotType selType)
List< UserGroup > selGroups
List< AnnotType > getNodeChildren()
void setSelGroupsS(List< String > selGroupsStrings)
static final int LOG_LEVEL
Class representing type of annotation.
List< UserGroup > getSelGroups()
static final int LOG_LEVEL_SERVER_ERRORS
Backbean for page with types of annotations.
List< SelectItem > getAllGroups()
List< UserGroup > getSelGroupsS()