View Javadoc

1   package de.tivsource.page.admin.actions.others.subsumption;
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.dao.subsumption.SubsumptionDaoLocal;
18  import de.tivsource.page.entity.subsumption.Subsumption;
19  
20  /**
21   * 
22   * @author Marc Michele
23   *
24   */
25  @TilesDefinitions({
26    @TilesDefinition(name="subsumptionDeleteForm", extend = "adminTemplate", putAttributes = {
27      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
28      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
29      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/subsumption/delete_form.jsp")
30    }),
31    @TilesDefinition(name="subsumptionDeleteError", extend = "adminTemplate", putAttributes = {
32      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
33      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
34      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/subsumption/delete_error.jsp")
35    }),
36    @TilesDefinition(name="subsumptionDatabaseError", extend = "adminTemplate", putAttributes = {
37      @TilesPutAttribute(name = "meta",       value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
38      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
39      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/subsumption/database_error.jsp")
40    })
41  })
42  public class DeleteAction extends EmptyAction {
43  
44      /**
45       * Serial Version UID.
46       */
47      private static final long serialVersionUID = -6684036086884671212L;
48  
49      /**
50       * Statischer Logger der Klasse.
51       */
52      private static final Logger LOGGER = LogManager.getLogger(DeleteAction.class);
53  
54      @InjectEJB(name="SubsumptionDao")
55      private SubsumptionDaoLocal subsumptionDaoLocal;
56  
57      private Subsumption subsumption;
58  
59      public Subsumption getSubsumption() {
60          return subsumption;
61      }
62  
63      public void setSubsumption(Subsumption subsumption) {
64          this.subsumption = subsumption;
65      }
66  
67  	@Override
68      @Actions({
69          @Action(
70          		value = "delete", 
71          		results = { 
72          				@Result(name = "success", type = "redirectAction", location = "index.html"),
73          				@Result(name = "input", type="tiles", location = "subsumptionDeleteForm"),
74          				@Result(name = "error", type="tiles", location = "subsumptionDeleteError"),
75          				@Result(name = "database", type="tiles", location = "subsumptionDatabaseError")
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(subsumption != null) {
86      	    Subsumption dbSubsumption = subsumptionDaoLocal.findByUuid(subsumption.getUuid());
87      		if(!subsumptionDaoLocal.hasMenuEntry(dbSubsumption.getUuid())) {
88                  dbSubsumption.setModified(new Date());
89                  dbSubsumption.setModifiedBy(remoteUser);
90                  dbSubsumption.setModifiedAddress(remoteAddress);
91                  subsumptionDaoLocal.merge(dbSubsumption);
92                  subsumptionDaoLocal.delete(dbSubsumption);
93                  return SUCCESS;
94      		} else {
95      		    return "database";
96      		}
97      	}
98    		return ERROR;
99  
100     }// Ende execute()
101 	
102 }// Ende class