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.codegen.templates;
7   
8   import java.util.Map;
9   
10  import pt.digitalis.dif.codegen.CGAncillaries;
11  import pt.digitalis.dif.dem.interfaces.IApplication;
12  import pt.digitalis.dif.dem.interfaces.IService;
13  import pt.digitalis.dif.dem.interfaces.IStage;
14  import pt.digitalis.dif.dem.objects.LicenseEditionType;
15  import pt.digitalis.dif.exception.manager.RegistrationManagerException;
16  import pt.digitalis.dif.startup.DIFGeneralConfigurationParameters;
17  import pt.digitalis.dif.utils.logging.DIFLogger;
18  
19  /**
20   * This class is a template for the IService interface method implementations. The CodeGen will copy these methods to
21   * the class implementing the interface IService. Some methods will be copied "as is", other will be tweaked.
22   * 
23   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
24   * @created 2007/06/01
25   */
26  public class ServiceCGTemplate implements IService {
27  
28      /**
29       * @see pt.digitalis.dif.dem.interfaces.IService#getApplication()
30       */
31      public IApplication getApplication()
32      {
33          // The applicationID will be supplied by the CodeGen.
34          return TemplateResources.getDEMManager().getApplication(CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE);
35      }
36  
37      /**
38       * @see pt.digitalis.dif.dem.interfaces.IRegistrable#getLicenseEdition()
39       */
40      public LicenseEditionType getLicenseEdition()
41      {
42          return TemplateResources.getRegistrationManager().getServiceEdition(this.getID());
43      }
44  
45      /**
46       * @see pt.digitalis.dif.dem.interfaces.IEntity#getID()
47       */
48      public String getID()
49      {
50          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
51      }
52  
53      /**
54       * @see pt.digitalis.dif.dem.interfaces.IMessage#getMessage(java.lang.String)
55       */
56      public String getMessage(String messageID)
57      {
58          return getMessages().get(messageID);
59      }
60  
61      /**
62       * @see pt.digitalis.dif.dem.interfaces.IMessage#getMessages()
63       */
64      public Map<String, String> getMessages()
65      {
66          return TemplateResources.getMessageManager().getMessages(this,
67                  DIFGeneralConfigurationParameters.getInstance().getDefaultLanguage());
68      }
69  
70      /**
71       * @see pt.digitalis.dif.dem.interfaces.IEntity#getName()
72       */
73      public String getName()
74      {
75          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
76      }
77  
78      /**
79       * @see pt.digitalis.dif.dem.interfaces.IEntity#getOriginalClassName()
80       */
81      public String getOriginalClassName()
82      {
83          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
84      }
85  
86      /**
87       * @see pt.digitalis.dif.dem.interfaces.IService#getStages()
88       */
89      public Map<String, IStage> getStages()
90      {
91          return TemplateResources.getDEMManager().getStages(this);
92      }
93  
94      /**
95       * @return an instance of template resources
96       */
97      protected TemplateResources getTemplateResources()
98      {
99          return TemplateResources.getInstance();
100     }
101 
102     /**
103      * @see pt.digitalis.dif.dem.interfaces.IEntity#getUID()
104      */
105     public String getUID()
106     {
107         return "SERVICE:" + this.getID();
108     }
109 
110     /**
111      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#isRegistered()
112      */
113     public boolean isRegistered()
114     {
115         boolean result = this.getApplication().isRegistered();
116 
117         if (this.isRegistrable())
118             result = TemplateResources.getRegistrationManager().isServiceRegistered(this.getID());
119 
120         return result;
121     }
122 
123     /**
124      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#isRegistrable()
125      */
126     public boolean isRegistrable()
127     {
128         return TemplateResources.getRegistrationManager().isServiceRegistrable(getID());
129     }
130 
131     /**
132      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#register(java.lang.String, java.lang.String)
133      */
134     public boolean register(String name, String key)
135     {
136         try
137         {
138             return TemplateResources.getRegistrationManager().registerService(getID(), name, key);
139         }
140         catch (RegistrationManagerException e)
141         {
142             DIFLogger.getLogger().debug(e);
143             return false;
144         }
145     }
146 
147     /**
148      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#unregister()
149      */
150     public void unregister()
151     {
152         TemplateResources.getRegistrationManager().unregisterService(getID());
153     }
154 }