View Javadoc

1   package de.tivsource.page.admin.actions.others.linkentry;
2   
3   import java.util.Date;
4   
5   import org.apache.logging.log4j.LogManager;
6   import org.apache.logging.log4j.Logger;
7   import org.apache.struts2.ServletActionContext;
8   import org.apache.struts2.convention.annotation.Action;
9   import org.apache.struts2.convention.annotation.Actions;
10  import org.apache.struts2.convention.annotation.Result;
11  import org.apache.struts2.tiles.annotation.TilesDefinition;
12  import org.apache.struts2.tiles.annotation.TilesDefinitions;
13  import org.apache.struts2.tiles.annotation.TilesPutAttribute;
14  
15  import de.tivsource.ejb3plugin.InjectEJB;
16  import de.tivsource.page.admin.actions.EmptyAction;
17  import de.tivsource.page.common.menuentry.LinkEntry;
18  import de.tivsource.page.dao.linkentry.LinkEntryDaoLocal;
19  import de.tivsource.page.dao.property.PropertyDaoLocal;
20  import de.tivsource.page.entity.enumeration.Language;
21  
22  /**
23   * 
24   * @author Marc Michele
25   *
26   */
27  @TilesDefinitions({
28    @TilesDefinition(name="linkEntryEditForm", extend = "adminTemplate", putAttributes = {
29      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
30      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
31      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/linkentry/edit_form.jsp")
32    }),
33    @TilesDefinition(name="linkEntryEditError", 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/linkentry/edit_error.jsp")
37    })
38  })
39  public class EditAction extends EmptyAction {
40  
41  	/**
42  	 * Serial Version UID.
43  	 */
44  	private static final long serialVersionUID = 2459909610299610689L;
45  
46  	/**
47       * Statischer Logger der Klasse.
48       */
49      private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
50  
51      @InjectEJB(name="LinkEntryDao")
52      private LinkEntryDaoLocal linkEntryDaoLocal;
53  
54      @InjectEJB(name="PropertyDao")
55      private PropertyDaoLocal propertyDaoLocal;
56  
57      private LinkEntry linkEntry;
58  
59      public LinkEntry getLinkEntry() {
60          return linkEntry;
61      }
62  
63  	public void setLinkEntry(LinkEntry linkEntry) {
64          this.linkEntry = linkEntry;
65      }
66  
67      @Override
68      @Actions({
69          @Action(
70          		value = "edit", 
71          		results = { 
72          				@Result(name = "success", type = "redirectAction", location = "index.html"),
73          				@Result(name = "input",   type = "tiles", location = "linkEntryEditForm"),
74          				@Result(name = "error",   type = "tiles", location = "linkEntryEditError")
75          				}
76          )
77      })
78      public String execute() throws Exception {
79      	LOGGER.info("execute() aufgerufen.");
80  
81          String remoteUser    = ServletActionContext.getRequest().getRemoteUser();
82          String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
83  
84      	if(linkEntry != null) {
85      		LOGGER.info(linkEntry.getTechnical());
86      		LinkEntry dbLinkEntry = linkEntryDaoLocal.findByUuid(linkEntry.getUuid());
87      		dbLinkEntry.setTechnical("LE_" + linkEntry.getUuid());
88  
89      		dbLinkEntry.getDescriptionMap().get(Language.DE).setName(linkEntry.getDescriptionMap().get(Language.DE).getName());
90      		dbLinkEntry.getDescriptionMap().get(Language.DE).setDescription(linkEntry.getDescriptionMap().get(Language.DE).getDescription());
91      		dbLinkEntry.getDescriptionMap().get(Language.DE).setKeywords(linkEntry.getDescriptionMap().get(Language.DE).getKeywords());
92              
93      		dbLinkEntry.getDescriptionMap().get(Language.EN).setName(linkEntry.getDescriptionMap().get(Language.EN).getName());
94      		dbLinkEntry.getDescriptionMap().get(Language.EN).setDescription(linkEntry.getDescriptionMap().get(Language.EN).getDescription());
95      		dbLinkEntry.getDescriptionMap().get(Language.EN).setKeywords(linkEntry.getDescriptionMap().get(Language.EN).getKeywords());
96  
97      		dbLinkEntry.setBottomNavigation(linkEntry.getBottomNavigation());
98      		dbLinkEntry.setBottomNavigationOrder(linkEntry.getBottomNavigationOrder());
99      		dbLinkEntry.setNavigation(linkEntry.getNavigation());
100     		dbLinkEntry.setNavigationOrder(linkEntry.getNavigationOrder());
101     		dbLinkEntry.setResponsiveNavigation(linkEntry.getResponsiveNavigation());
102     		dbLinkEntry.setResponsiveNavigationOrder(linkEntry.getResponsiveNavigationOrder());
103     		dbLinkEntry.setTopNavigation(linkEntry.getTopNavigation());
104     		dbLinkEntry.setTopNavigationOrder(linkEntry.getTopNavigationOrder());
105 
106     		dbLinkEntry.setModified(new Date());
107     		dbLinkEntry.setVisible(linkEntry.getVisible());
108     		dbLinkEntry.setUrl(linkEntry.getUrl());
109     		dbLinkEntry.setModifiedBy(remoteUser);
110     		dbLinkEntry.setModifiedAddress(remoteAddress);
111     		linkEntryDaoLocal.merge(dbLinkEntry);
112             return SUCCESS;
113     	}
114     	else {
115     		return ERROR;
116     	}
117 
118     }// Ende execute()
119 
120 }// Ende class