View Javadoc

1   package de.tivsource.page.admin.actions.others.linkentry;
2   
3   import java.util.Date;
4   import java.util.UUID;
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.menuentry.LinkEntry;
19  import de.tivsource.page.dao.linkentry.LinkEntryDaoLocal;
20  import de.tivsource.page.dao.property.PropertyDaoLocal;
21  import de.tivsource.page.entity.enumeration.Language;
22  
23  /**
24   * 
25   * @author Marc Michele
26   *
27   */
28  @TilesDefinitions({
29    @TilesDefinition(name="linkEntryAddForm",  extend = "adminTemplate", putAttributes = {
30      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
31      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
32      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/linkentry/add_form.jsp")
33    }),
34    @TilesDefinition(name="linkEntryAddError",  extend = "adminTemplate", putAttributes = {
35  	@TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
36  	@TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
37  	@TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/linkentry/add_error.jsp")
38    })
39  })
40  public class AddAction extends EmptyAction {
41  
42  	/**
43  	 * Serial Version UID.
44  	 */
45  	private static final long serialVersionUID = -1043526042620901395L;
46  
47  	/**
48       * Statischer Logger der Klasse.
49       */
50      private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
51  
52      @InjectEJB(name="LinkEntryDao")
53      private LinkEntryDaoLocal linkEntryDaoLocal;
54  
55      @InjectEJB(name="PropertyDao")
56      private PropertyDaoLocal propertyDaoLocal;
57      
58      private LinkEntry linkEntry;
59  
60      public LinkEntry getLinkEntry() {
61          return linkEntry;
62      }
63  
64      public void setLinkEntry(LinkEntry linkEntry) {
65          this.linkEntry = linkEntry;
66      }
67      
68  	@Override
69      @Actions({
70          @Action(
71          		value = "add", 
72          		results = { 
73          				@Result(name = "success", type = "redirectAction", location = "index.html"),
74          				@Result(name = "input", type="tiles", location = "linkEntryAddForm"),
75          				@Result(name = "error", type="tiles", location = "linkEntryAddError")
76          				}
77          )
78      })
79      public String execute() throws Exception {
80      	LOGGER.info("execute() aufgerufen.");
81  
82          String remoteUser    = ServletActionContext.getRequest().getRemoteUser();
83          String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
84  
85      	if(linkEntry != null) {
86      	    linkEntry.setUuid(UUID.randomUUID().toString());
87      	    linkEntry.setTechnical("LE_" + linkEntry.getUuid());
88      	    linkEntry.setModified(new Date());
89      	    linkEntry.setCreated(new Date());
90      	    linkEntry.setModifiedBy(remoteUser);
91      	    linkEntry.setModifiedAddress(remoteAddress);
92  
93      	    linkEntry.getDescriptionMap().get(Language.DE).setUuid(UUID.randomUUID().toString());
94      	    linkEntry.getDescriptionMap().get(Language.DE).setNamingItem(linkEntry);
95      	    linkEntry.getDescriptionMap().get(Language.DE).setLanguage(Language.DE);
96      	    linkEntry.getDescriptionMap().get(Language.DE).setName(linkEntry.getDescriptionMap().get(Language.DE).getName());
97      	    linkEntry.getDescriptionMap().get(Language.DE).setDescription(linkEntry.getDescriptionMap().get(Language.DE).getDescription());
98      	    linkEntry.getDescriptionMap().get(Language.DE).setKeywords(linkEntry.getDescriptionMap().get(Language.DE).getKeywords());
99  
100             linkEntry.getDescriptionMap().get(Language.EN).setUuid(UUID.randomUUID().toString());
101             linkEntry.getDescriptionMap().get(Language.EN).setNamingItem(linkEntry);
102             linkEntry.getDescriptionMap().get(Language.EN).setLanguage(Language.EN);
103     	    linkEntry.getDescriptionMap().get(Language.EN).setName(linkEntry.getDescriptionMap().get(Language.DE).getName());
104     	    linkEntry.getDescriptionMap().get(Language.EN).setDescription(linkEntry.getDescriptionMap().get(Language.DE).getDescription());
105     	    linkEntry.getDescriptionMap().get(Language.EN).setKeywords(linkEntry.getDescriptionMap().get(Language.DE).getKeywords());
106 
107     		linkEntryDaoLocal.merge(linkEntry);
108 
109             return SUCCESS;
110     	}
111     	else {
112     		return ERROR;
113     	}
114     	
115     	
116     }// Ende execute()
117 
118 }// Ende class