14 package cz.vutbr.fit.knot.annotations.web;
22 import java.io.Serializable;
23 import java.util.ArrayList;
24 import java.util.Iterator;
25 import java.util.List;
26 import java.util.logging.Level;
27 import java.util.logging.Logger;
28 import javax.faces.bean.ManagedBean;
29 import javax.faces.bean.ViewScoped;
30 import javax.faces.model.SelectItem;
31 import javax.persistence.EntityManager;
32 import javax.persistence.EntityTransaction;
42 public class EditTAO implements Serializable {
46 private String
name = null;
89 if (
name == null ||
name.isEmpty()) {
90 errorMessage = MessageProvider.getMessage(
"nameCantBeEmpty");
96 Object[] params4 =
new Object[4];
99 params4[2] =
"groupId";
100 params4[3] = editedTAO.getGroup().getId();
101 List dList = AppBean.getPersistenceManager().queryDB(
"TypeAttrOnto.findByNameAndGroup", params4);
102 if (dList != null && !dList.isEmpty()) {
103 errorMessage = MessageProvider.getMessage(
"duplicitAttrName");
110 errorMessage = MessageProvider.getMessage(
"simpleAndStructuredError");
113 String uri = AppBean.getBaseTypeUri() +
"g"
116 Object[] params =
new Object[2];
119 List tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findByUri", params);
120 if (tList != null && !tList.isEmpty()) {
124 errorMessage = MessageProvider.getMessage(
"unknownStructuredType");
130 errorMessage = MessageProvider.getMessage(
"unknownSimpleType");
134 errorMessage = MessageProvider.getMessage(
"typeMustBeSet");
139 editedTAO.setName(
name);
141 editedTAO.setAttributeType(sType);
148 errorMessage = MessageProvider.getMessage(
"changesNSDatabaseFailure");
150 String msg =
"Persisting of changes in the type attribute from ontology failed.";
151 Logger.getLogger(EditTAO.class.getName()).log(Level.SEVERE, msg);
158 SessionManager.getSession().setSecondFormBackup(null);
159 SessionManager.getSession().setEditedTAO(null);
171 errorMessage = MessageProvider.getMessage(
"groupCantBeEmpty");
177 Object[] params =
new Object[2];
180 List uList = AppBean.getPersistenceManager().queryDB(
"UserGroup.findByName", params);
181 if (uList != null && !uList.isEmpty()) {
185 errorMessage = MessageProvider.getMessage(
"errorUnknownUG");
189 if (
name == null ||
name.isEmpty()) {
190 errorMessage = MessageProvider.getMessage(
"nameCantBeEmpty");
195 Object[] params4 =
new Object[4];
198 params4[2] =
"groupId";
199 params4[3] = ug.getId();
200 List dList = AppBean.getPersistenceManager().queryDB(
"TypeAttrOnto.findByNameAndGroup", params4);
201 if (dList != null && !dList.isEmpty()) {
202 errorMessage = MessageProvider.getMessage(
"duplicitAttrName");
210 errorMessage = MessageProvider.getMessage(
"simpleAndStructuredError");
213 String uri = AppBean.getBaseTypeUri() +
"g"
216 Object[] params =
new Object[2];
219 List tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findByUri", params);
220 if (tList != null && !tList.isEmpty()) {
224 errorMessage = MessageProvider.getMessage(
"unknownStructuredType");
230 errorMessage = MessageProvider.getMessage(
"unknownSimpleType");
234 errorMessage = MessageProvider.getMessage(
"typeMustBeSet");
240 editedTAO.setAttributeType(sType);
246 EntityManager em = AppBean.getPersistenceManager().getEM();
247 EntityTransaction transaction = em.getTransaction();
251 transaction.commit();
252 }
catch (Exception e) {
253 errorMessage = MessageProvider.getMessage(
"newAttrNSDatabaseFailure");
255 String msg =
"Persisting of new type attribute from ontology failed.";
256 Logger.getLogger(EditTAO.class.getName()).log(Level.SEVERE, msg);
260 SessionManager.getSession().setSecondFormBackup(null);
261 SessionManager.getSession().setEditedTAO(null);
274 Object[] params =
new Object[2];
277 List uList = AppBean.getPersistenceManager().queryDB(
"UserGroup.findByName", params);
278 if (uList != null && !uList.isEmpty()) {
282 errorMessage = MessageProvider.getMessage(
"errorUnknownUG");
287 ug = editedTAO.getGroup();
292 String uri = AppBean.getBaseTypeUri() +
"g"
295 Object[] params =
new Object[2];
298 List tList = AppBean.getPersistenceManager().queryDB(
"AnnotType.findByUri", params);
299 if (tList != null && !tList.isEmpty()) {
311 backup.setAttributeType(sType);
323 SessionManager.getSession().setSecondFormBackup(null);
324 SessionManager.getSession().setEditedTAO(null);
335 if (
name == null && backup != null) {
336 name = backup.getName();
338 name = editedTAO.getName();
339 }
else if (
name == null) {
403 structuredType = editedTAO.getAttributeType().getLinearizedName();
427 if (
comment == null && backup != null) {
430 comment = editedTAO.getComment();
480 SessionManager.getSession().setSecondFormBackup(backup);
481 SessionManager.getSession().setSelectedUG(backup.
getGroup());
482 SessionManager.getSession().setEditedTAO(
editedTAO);
483 SessionManager.getSession().setCameFrom(
"editTAO");
486 errorMessage = MessageProvider.getMessage(
"groupMustBeSet");
500 SessionManager.getSession().setSecondFormBackup(backup);
501 SessionManager.getSession().setSelectedUG(backup.
getGroup());
502 SessionManager.getSession().setEditedTAO(
editedTAO);
503 SessionManager.getSession().setCameFrom(
"addTAO");
506 errorMessage = MessageProvider.getMessage(
"groupMustBeSet");
522 AnnotType sAT = SessionManager.getSession().getSelectedAT();
525 SessionManager.getSession().setSelectedAT(null);
526 SessionManager.getSession().setCameFrom(null);
529 SessionManager.getSession().setSelectedAT(null);
530 SessionManager.getSession().setCameFrom(null);
539 if (backup != null &&
editedTAO != null && backup.
getId() != editedTAO.getId()) {
583 if (
group == null && backup != null) {
591 }
else if (
group == null) {
613 List<SelectItem> rList =
new ArrayList<SelectItem>();
615 String t = tIt.next();
616 if (t.equals(
"person") || t.equals(
"geoPoint")) {
619 rList.add(
new SelectItem(t, t));
621 rList.add(
new SelectItem(
"",
""));
void setGroup(String group)
static WebSession getSession()
Class representing attribute of unknown type of annotation.
Backbean for managing attributes from ontology.
String btnSaveNewAction()
Class for manipulating with session.
String getStructuredType()
static String replaceArrows(String aString)
TypeAttrOnto createBackup()
Singleton for storing global variables.
void setName(String name)
static final ArrayList< String > SIMPLE_TYPES
Static class which parses and process XML with messages.
Class representing user group.
void setUriInOntology(String uriInOntology)
void setSimpleType(String simpleType)
String btnSelectSTypeAction()
void setStructuredType(String structuredType)
static final int LOG_LEVEL
Class representing type of annotation.
String btnSelectSTypeActionN()
List< SelectItem > getSimpleTypes()
static PersistM getPersistenceManager()
String getUriInOntology()
static final int LOG_LEVEL_SERVER_ERRORS
TypeAttrOnto getEditedTAO()
void setErrorMessage(String errorMessage)
AnnotType getAttributeType()
void setComment(String comment)