]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/converter/fax/JobsFaxNumberConverter.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / converter / fax / JobsFaxNumberConverter.java
index ffbf35eb45d9b29e25616a6efd9387758ce72510..7e5436e88e3c4bb4914eee8253da1db9dd3aee9e 100644 (file)
  */
 package org.mxchange.jjobs.converter.fax;
 
-import java.text.MessageFormat;
+import javax.ejb.EJB;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
 import javax.faces.convert.FacesConverter;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
 import org.mxchange.jphone.exceptions.PhoneEntityNotFoundException;
-import org.mxchange.jphone.phonenumbers.DialableNumber;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote;
 
@@ -35,13 +31,14 @@ import org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote;
  * <p>
  * @author Roland Häder<roland@mxchange.org>
  */
-@FacesConverter (value = "FaxNumberConverter")
-public class JobsFaxNumberConverter implements Converter {
+@FacesConverter ("FaxNumberConverter")
+public class JobsFaxNumberConverter implements Converter<DialableFaxNumber> {
 
        /**
         * Phone EJB
         */
-       private static PhoneSessionBeanRemote PHONE_BEAN;
+       @EJB(lookup = "java:global/jfinancials-ejb/phone!org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote")
+       private PhoneSessionBeanRemote phoneBean;
 
        /**
         * Default constructor
@@ -50,7 +47,7 @@ public class JobsFaxNumberConverter implements Converter {
        }
 
        @Override
-       public Object getAsObject (final FacesContext context, final UIComponent component, final String submittedValue) {
+       public DialableFaxNumber getAsObject (final FacesContext context, final UIComponent component, final String submittedValue) {
                // Log message
                // @TODO Not possible here: this.loggerBeanLocal.logTrace(MessageFormat.format("{0}.getAsObject: context={1},component={2},submittedValue={3} - CALLED!", this.getClass().getSimpleName(), context, component, submittedValue)); //NOI18N
 
@@ -63,22 +60,6 @@ public class JobsFaxNumberConverter implements Converter {
                        return null;
                }
 
-               // Is the bean there?
-               // @TODO Requires this synchronization or is it (sync) confusing the container?
-               if (null == JobsFaxNumberConverter.PHONE_BEAN) {
-                       // Try to get it
-                       try {
-                               // Get initial context
-                               Context initialContext = new InitialContext();
-
-                               // ... and user controller
-                               JobsFaxNumberConverter.PHONE_BEAN = (PhoneSessionBeanRemote) initialContext.lookup("java:global/jjobs-ejb/phone!org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote"); //NOI18N
-                       } catch (final NamingException ex) {
-                               // Continue to throw it
-                               throw new RuntimeException(MessageFormat.format("context.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N
-                       }
-               }
-
                // Init instance
                DialableFaxNumber faxNumber = null;
 
@@ -89,7 +70,7 @@ public class JobsFaxNumberConverter implements Converter {
                        // Log message
                        // @TODO Not possible here: this.loggerBeanLocal.logDebug(MessageFormat.format("{0}.getAsObject: faxNumberId={1}", this.getClass().getSimpleName(), faxNumberId)); //NOI18N
                        // Try to get mobile instance from it
-                       faxNumber = JobsFaxNumberConverter.PHONE_BEAN.findFaxNumberById(faxNumberId);
+                       faxNumber = this.phoneBean.findFaxNumberById(faxNumberId);
                } catch (final NumberFormatException ex) {
                        // Throw again
                        throw new ConverterException(ex);
@@ -105,18 +86,15 @@ public class JobsFaxNumberConverter implements Converter {
        }
 
        @Override
-       public String getAsString (final FacesContext context, final UIComponent component, final Object value) {
+       public String getAsString (final FacesContext context, final UIComponent component, final DialableFaxNumber value) {
                // Is the object null?
                if ((null == value) || (String.valueOf(value).isEmpty())) {
                        // Is null
                        return ""; //NOI18N
-               } else if (!(value instanceof DialableNumber)) {
-                       // Not same interface
-                       throw new IllegalArgumentException(MessageFormat.format("value[]={0} does not implement DialableNumber.", value.getClass().getSimpleName())); //NOI18N
                }
 
                // Return id number
-               return String.valueOf(((DialableNumber) value).getPhoneId());
+               return String.valueOf(value.getPhoneId());
        }
 
 }