View Javadoc

1   package de.tivsource.page.admin.actions.others.companiongroup;
2   
3   import java.util.Date;
4   import java.util.List;
5   
6   import org.apache.logging.log4j.LogManager;
7   import org.apache.logging.log4j.Logger;
8   import org.apache.struts2.ServletActionContext;
9   import org.apache.struts2.convention.annotation.Action;
10  import org.apache.struts2.convention.annotation.Actions;
11  import org.apache.struts2.convention.annotation.Result;
12  import org.apache.struts2.tiles.annotation.TilesDefinition;
13  import org.apache.struts2.tiles.annotation.TilesDefinitions;
14  import org.apache.struts2.tiles.annotation.TilesPutAttribute;
15  
16  import de.tivsource.ejb3plugin.InjectEJB;
17  import de.tivsource.page.admin.actions.EmptyAction;
18  import de.tivsource.page.common.css.CSSGroup;
19  import de.tivsource.page.dao.companion.CompanionGroupDaoLocal;
20  import de.tivsource.page.dao.cssgroup.CSSGroupDaoLocal;
21  import de.tivsource.page.dao.picture.PictureDaoLocal;
22  import de.tivsource.page.dao.property.PropertyDaoLocal;
23  import de.tivsource.page.entity.companion.CompanionGroup;
24  import de.tivsource.page.entity.enumeration.Language;
25  import de.tivsource.page.entity.picture.Picture;
26  
27  /**
28   * 
29   * @author Marc Michele
30   *
31   */
32  @TilesDefinitions({
33    @TilesDefinition(name="companionGroupEditForm", extend = "adminTemplate", putAttributes = {
34      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
35      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
36      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/companiongroup/edit_form.jsp")
37    }),
38    @TilesDefinition(name="companionGroupEditError", extend = "adminTemplate", putAttributes = {
39      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
40      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/companiongroup/edit_error.jsp")
41    })
42  })
43  public class EditAction extends EmptyAction {
44  
45  	/**
46  	 * Serial Version UID.
47  	 */
48  	private static final long serialVersionUID = -8055397581589809541L;
49  
50  	/**
51       * Statischer Logger der Klasse.
52       */
53      private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
54  
55      @InjectEJB(name="CompanionGroupDao")
56      private CompanionGroupDaoLocal companionGroupDaoLocal;
57  
58      @InjectEJB(name = "CSSGroupDao")
59      private CSSGroupDaoLocal cssGroupDaoLocal;
60  
61      @InjectEJB(name="PictureDao")
62      private PictureDaoLocal pictureDaoLocal;
63  
64      @InjectEJB(name="PropertyDao")
65      private PropertyDaoLocal propertyDaoLocal;
66  
67      private CompanionGroup companionGroup;
68  
69      private String lang;
70  
71      private List<Picture> pictureList;
72  
73      private List<CSSGroup> cssGroupList;
74  
75      public CompanionGroup getCompanionGroup() {
76          return companionGroup;
77      }
78  
79  	public void setCompanionGroup(CompanionGroup companionGroup) {
80          this.companionGroup = companionGroup;
81      }
82  	
83      public String getLang() {
84          return lang;
85      }
86  
87      public void setLang(String lang) {
88          this.lang = lang;
89      }
90  
91      @Override
92      public void prepare() {
93          super.prepare();
94          pictureList = pictureDaoLocal.findAll(propertyDaoLocal.findByKey("gallery.uuid.for.companion.group.picture").getValue());
95          cssGroupList = cssGroupDaoLocal.findAll(0, cssGroupDaoLocal.countAll());
96      }
97  
98      @Override
99      @Actions({
100         @Action(
101             value = "edit",
102             results = {
103                 @Result(name = "success", type = "redirectAction", location = "index.html"),
104                 @Result(name = "input",   type = "tiles", location = "companionGroupEditForm"),
105                 @Result(name = "error",   type = "tiles", location = "companionGroupEditError")
106             }
107         )
108     })
109     public String execute() throws Exception {
110     	LOGGER.info("execute() aufgerufen.");
111 
112         String remoteUser    = ServletActionContext.getRequest().getRemoteUser();
113         String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
114 
115     	if(companionGroup != null) {
116     		LOGGER.info("News UUID: " + companionGroup.getUuid());
117     		CompanionGroup dbCompanionGroup = companionGroupDaoLocal.findByUuid(companionGroup.getUuid());
118     		
119 
120             if(lang.contentEquals(new StringBuffer("EN"))) {
121                 companionGroup.getDescriptionMap().put(Language.DE, dbCompanionGroup.getDescriptionObject(Language.DE));
122                 String noLineBreaks = companionGroup.getDescription(Language.EN).replaceAll("(\\r|\\n)", "");
123                 dbCompanionGroup.getDescriptionMap().get(Language.EN).setDescription(noLineBreaks);
124                 dbCompanionGroup.getDescriptionMap().get(Language.EN).setKeywords(companionGroup.getKeywords(Language.EN));
125                 dbCompanionGroup.getDescriptionMap().get(Language.EN).setName(companionGroup.getName(Language.EN));
126             } else {
127                 String noLineBreaks = companionGroup.getDescription(Language.DE).replaceAll("(\\r|\\n)", "");
128                 dbCompanionGroup.getDescriptionMap().get(Language.DE).setDescription(noLineBreaks);
129                 dbCompanionGroup.getDescriptionMap().get(Language.DE).setKeywords(companionGroup.getKeywords(Language.DE));;
130                 dbCompanionGroup.getDescriptionMap().get(Language.DE).setName(companionGroup.getName(Language.DE));
131             }
132 
133 
134             dbCompanionGroup.setOrderNumber(companionGroup.getOrderNumber());
135             dbCompanionGroup.setTechnical(companionGroup.getTechnical());
136     		dbCompanionGroup.setModified(new Date());
137     		dbCompanionGroup.setVisible(companionGroup.getVisible());
138     		dbCompanionGroup.setModifiedBy(remoteUser);
139     		dbCompanionGroup.setModifiedAddress(remoteAddress);
140     		dbCompanionGroup.setPicture(companionGroup.getPicture());
141     		dbCompanionGroup.setPictureOnPage(companionGroup.getPictureOnPage());
142     		dbCompanionGroup.setCssGroup(companionGroup.getCssGroup());
143 
144 
145     		companionGroupDaoLocal.merge(dbCompanionGroup);
146             return SUCCESS;
147     	}
148     	else {
149     		return ERROR;
150     	}
151 
152     }// Ende execute()
153 
154     public List<Picture> getPictureList() {
155         return pictureList;
156     }// Ende getPictureList()
157 
158     public List<CSSGroup> getCssGroupList() {
159         LOGGER.info("getCssGroupList() aufgerufen.");
160         LOGGER.info("Anzahl der CSS-Gruppen in der Liste: " + cssGroupList.size());
161         return cssGroupList;
162     }// Ende getCssGroupList()
163 
164 }// Ende class