View Javadoc

1   /**
2    * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
3    * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
4    * http://www.digitalis.pt
5    */
6   package pt.digitalis.dif.presentation.entities.system.error;
7   
8   import java.util.ArrayList;
9   import java.util.List;
10  import java.util.Map;
11  
12  import pt.digitalis.dif.controller.http.HTTPControllerConfiguration;
13  import pt.digitalis.dif.controller.interfaces.IDIFContext;
14  import pt.digitalis.dif.dem.annotations.entities.StageDefinition;
15  import pt.digitalis.dif.dem.annotations.stage.Execute;
16  import pt.digitalis.dif.dem.annotations.stage.View;
17  import pt.digitalis.dif.dem.annotations.stage.controller.DispatcherMode;
18  import pt.digitalis.dif.dem.managers.impl.UsageIssuesManagerImpl;
19  import pt.digitalis.dif.dem.objects.ViewObject;
20  import pt.digitalis.dif.dem.objects.issues.UsageIssue;
21  import pt.digitalis.dif.startup.DIFStartupConfiguration;
22  
23  /**
24   * The default public page for inexistent stage ID requests.
25   *
26   * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
27   * @created Dec 20, 2007
28   */
29  @StageDefinition(name = "Invalid Stage Error Page", service = "errorhandlingservice")
30  @View(target = "internal/badStageErrorStage.jsp")
31  @DispatcherMode(authenticate = false, authorize = false)
32  public class ErrorStageBadStageID {
33  
34      /** The developer mode view */
35      @View(target = "internal/badStageDeveloperStage.jsp")
36      ViewObject developerView;
37  
38      /**
39       * Stage execution
40       *
41       * @param context
42       *            the current dif stage's context
43       * @return the correct view for rendering
44       */
45      @Execute
46      public ViewObject execute(IDIFContext context)
47      {
48  
49          if (DIFStartupConfiguration.getDeveloperMode())
50              return developerView;
51          else
52              return null;
53      }
54  
55      /**
56       * @return the T if there are DIF usage issues
57       */
58      public boolean getHasIssues()
59      {
60          return UsageIssuesManagerImpl.getInstance().hasIssues();
61      }
62  
63      /**
64       * @return the T if there are DIF usage issues
65       */
66      public Map<String, List<UsageIssue>> getIssues()
67      {
68          return UsageIssuesManagerImpl.getInstance().getIssues();
69      }
70  
71      /**
72       * @return the T if there are DIF usage issues
73       */
74      public List<String> getIssuesKeys()
75      {
76          return new ArrayList<String>(UsageIssuesManagerImpl.getInstance().getIssues().keySet());
77      }
78  
79      /**
80       * @return the configured site map stage id
81       */
82      public String getSiteMapStageID() {
83          return HTTPControllerConfiguration.getInstance().getSiteMapStageID();
84      }
85  }