From 963baebfdd309532f2c0aa3dce7838158e816a41 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sun, 17 Apr 2016 12:38:39 +0200 Subject: [PATCH] Continued a bit: - added session bean for handling phone number lookups, maybe it will be used for user-depending purposes later on. So maybe session-scoped is not a bad idea after all. - updated jar(s) --- lib/jphone-core.jar | Bin 29208 -> 29311 bytes lib/jphone-lib.jar | Bin 2468 -> 3290 bytes .../phone/PizzaPhoneSessionBean.java | 80 ++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 src/java/org/mxchange/jphone/phonenumbers/phone/PizzaPhoneSessionBean.java diff --git a/lib/jphone-core.jar b/lib/jphone-core.jar index b880b877b91245fa7c87f027511432060a1f9144..412151183b1e8df79a1bfcf16d84ed0aee672d82 100644 GIT binary patch delta 3156 zcmb7`YfxLq701s?2!W6QfkDN>aE$?phb>|g2O}PKi4=onLV{!J5|6A%!V(V&B=NQ_ zaQxzB2M!M>b)4snGfvyFN1eoJCvB2W>Q3UMP5Y(OPCIrUGi@_z<8RH3XVSAPfu+Rl zw9?$&v;RHk+}*psyLZoj%D(=TY1;P4lT-jH0AAPpyv8W^P*wAs+~u5~|6`%3?ihK6 z24)iV0k&P#Rq_%n$ViLJz`cIM>O^n4%*s)pOIO#)V~|zepNVN-}a68DtRrB zkMzkWnJ{iAU6u>uVoH%hq4ic$0KazON1CFnHjm%uw)jHc&}geaWc3gFFg-m_ zSDXTQN?5M~J>;t(88#@PKnaC-P*IlMbjbA1@W1LAB-eR;-cSPrBO2TDQ}=lS{$a-x zy>9$4y;fFlL)KSV{O$ZM%ZSt6AM*NrW(H|acW*D6^76w9r(-baW{_j+b__X8y$;`D z(^^LIRJHpD15UTq+e=Ox|6AHEJOK@=iBe1be14K!Oi&v3hCGtjC5=}dm3;n?)J4;E zZDEkv?ZDTh^h_m4YS;)xYEZ)_24+5kdp)7Cv?9Euwuj4&af59S1-!n)<~Zf<@XPj7 zS_M5v00!$pNzgDzrIrj-WHGv*hRSqO9wRSW9mp=vVo7g;?0~$Y{Tj$CUx%ctA|QiG z6$Ju(w+ynN95Tt2qA{Q)h5xeYzm76;D+hAPoq>*8GWgD2Y&k4nX5Ex&I9;X5*8?{w z_y+ztr!D-PiiSCOh2))cpEHOR+Mm_mLlj5cpd0gY>a%6o2_7Tkz4u$a$Ma1 zkiFgQ2sk}_RmGwhwmDYQC+QSlCGzZ7{U z3?_D6=~ZzZHz*mYFfz|%;U;zltPh%!e`+u&wGv+97QE8FhIM)5V^4V z{UkPnxAX;(Q(M1c1e~=sElQl#F%r+(12NXRqO5f}M&c>!ic!`TPZ{|TU*YQA$q0)K zwj;~lh=mn7#MqLW-uPuTJPs?7%=^D)3On(12ein8&Z& zfY_pfP((EcFhsZ+f-nd}tHv-HI|P6uG+^o*g|Q%vCjw}%`%{#=?9aCCKSa#&t3hz* zZz#=O;gF1TLdH1=G3Zd*Tx8*Jo#Z{IxOF;4(R!FtM)x*SW?+`fVP4Plh||&sFxW2)pC$S)sY#6%I5I7Y+j!`o-A{Wto|rj-`c_YV{G-uvlZLS zh^}1hv~HCz0OC_tOWL9u_Hnv8VL5Wsnl1Yuz^cG-^TGcJ*TVk|))YY{C#W(Bstp8H zIYHI3Ckj>lU7-HHXB8-uEdi($9Jd)_P+g<07*smEV>89T+O;5`lWKHD4=sG^hPy^hlNDY*NVS+=nfm8gWWH z>1pI1c-<2{>wQH!Z&!Px`jFQu+Q0C&h+5rk6Ln|zei8qZ?lw^?dmaZ`ifq2+2{z6kzppI%n2#oMw?nCX+Ggl|86|98@>xB7c| zQnyYx?v$x8BR2=j2Gk@{^IPfZ+*v%d%L97ZVJE)8a`DR^HU4d&MD=qz1HS6vf&T{T8a9#u delta 2312 zcmb7_YfMyE5Xa}-WnEZyfkjp-D35h<7qEhgfWWR$EmB@33TkT+P%$nK5!gcIA)ve! zVHvHDR;_5Ft=d}GG{!z`8efeXYnt|hO%t0M(=VF%q3H*WbmlB7o3u&0$vrdYf9A}c zyT7^jjNcdg?+blVp2|lH;0rLgXUL_uss_lU9#NgxHRQS*Da}(W8?=Z7Y2Omb9E6Fg z7<^Kz)4fQ*LAOPQ3<^-PrCp_DN_$Xw-9YO(FzJ_wzm+YRQ~>W!RHbpeyH?dDr1RM4 z6BXaiec0EemMQwfF6UqI0pKea@90f9QfpK%X{fAl;sf6&A{*}nL`~Adv~?m5EBv3w zjA@UErC48^G)3;I#PL9r`$K=TBJY=FxTom3(iP2@dIN$10&s3fQO7|ogh87YrbC+_ z4edN^^M?TFV6BtAF7~#ww}ZWI_IlXs<-L6x=;sN=55ORMv^D@cHL%MUhO{shcKgCG zryb$JrGZfmpn#yp$_7UT{$w|~BaOjo(T^j=5$>X}bQR8vSfttmdvURUD1KzqW2Yrr zuYvbY%#Bo4>xA>Nqq&g^EvGzS zpT=GgvVT51nl)Y-2*6howV)ZJ;(hR8{3~(DpqiOYGc$OPhpjxc_=5pjd7+KHb}eqS zo91zJkB0G1XXJezz%s0zrvtookO!u$fg!wQk9VJ$^SzJgWs2vP9ut_lU?rN8a;EHt zVFAhb__b&%#~7x85gn9(O9$`3s1A}LMF)0REMV?L2v_Xqew1`ssNW`_Yp^2Ch&Pjy z4I63ZAiPzCx0>3j22Z~ckM@*OV?AMRAdroO*-4n+h568gXH!OBZJ|H4l~A`4>UN6g zq?)%A>K%l-n^5-<>Ru?IXL=I`u`adWFiija2qAY7@==OJ^j(xK_RA_ZEV8N(QO3jQ zB5h1+4@o;g+DXzvab8-2I8C}u{W)ppq;`?CFJ$a^npOQJ>0e3x*8*S6OSgz`7E{N5_(G`Jy6qxw*@qQhn46}(z zHZibC{26!)FSN2JKLPFRZDXy2y-xPJ*xSw?wL%zlYdr5hDZS9gvdlr-d!e82;Aswx zYz+bK+je@ld$=pcmMVBCJ7>xe>=uwov@_|Y9@arIcf=ZSxl@--RsI9>{(t2iisiYj z|C@OzM&>mTcNK9DBJMMZdmM2e%X`lKS>8+Tk(irrnPA_SKbifFd=Gmg1{GMQCud8ILuwDm@&UTMw(%bhw4ZAeCmmiVYiCCBX>|S8l9CYxfUkv<&d}ps zzX#)EWfq>X1z^wSU>W@4=%V8*(<}I@Q3hu!S}YGSVqKk1ZulYZ=CT~hEHAGO^R042 zr^Uj-vixmz;mW-@%&NBFNSxutO}##=UO7IPBZD8t2jb4no*cPb!j6omVIF|{edvhC$5|a$fYLGGRXUaWK zF)}cKurrb|0#IW>h6Se<7iUg(WYSPi%gjr0PR+>yOFC70rZ6&uY4~I%mL=-vB<7{- z`{d`PTWk8j+#;V0Q>*WinV6H9l#>eA?N^$cH2Dvc61Q{!!VXJj7e-r{ZcHcGu$eJ4 zGFSr@$P0mWx#pE*mQ?!Xm$>DZ=1sO_apGlU5@Ci1?BuO%7T`epz-AAojo2Z9nZgbc zpU(~vf5`3wmN(#tR>BszkgyhDc^W;7bX%;yqxH6f^>zLIh zGjj@oO#%x8d<#eC*zKVxS>MjMc# z$uk(eLG)&ArnyWYiOr{3l$dxKnM9c3=1o@Rv;eD3;Is$pUBn47;|fq5WF|isL_Cno z2dr)ZSF{4qOb;Pz8yhty1_lt0VL*T-jW-!57jS2RHQ(iyW~yWXa*ZbI@Mwy#vVqib M0^tjwu4P~z0Jm5}. + */ +package org.mxchange.jphone.phonenumbers.phone; + +import java.text.MessageFormat; +import javax.ejb.Stateless; +import javax.persistence.NoResultException; +import javax.persistence.Query; +import org.mxchange.jcoreee.database.BaseDatabaseBean; +import org.mxchange.jphone.exceptions.PhoneEntityNotFoundException; +import org.mxchange.jphone.phonenumbers.cellphone.CellphoneNumber; +import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; + +/** + * A general phone EJB + *

+ * @author Roland Haeder + */ +@Stateless (name = "phone", mappedName = "ejb/stateless-pizza-phone", description = "A bean handling phone data") +public class PizzaPhoneSessionBean extends BaseDatabaseBean implements PhoneSessionBeanRemote { + + /** + * Serial number + */ + private static final long serialVersionUID = 134_945_698_127_601L; + + /** + * Default constructor + */ + public PizzaPhoneSessionBean () { + } + + @Override + public DialableCellphoneNumber findCellphoneById (final Long cellphoneId) throws PhoneEntityNotFoundException { + // The id number should be valid + if (null == cellphoneId) { + // Throw NPE + throw new NullPointerException("cellphoneId is null"); //NOI18N + } else if (cellphoneId < 1) { + // Not valid + throw new IllegalArgumentException(MessageFormat.format("cellphoneId={0} is not valid.", cellphoneId)); //NOI18N + } + + // Now find it + Query query = this.getEntityManager().createNamedQuery("SearchCellphoneId", CellphoneNumber.class); //NOI18N + + // Set parameter + query.setParameter("cellphoneId", cellphoneId); //NOI18N + + // Init instance + DialableCellphoneNumber cellphone = null; + + // Try to get a result + try { + // Get a single result + cellphone = (DialableCellphoneNumber) query.getSingleResult(); + } catch (NoResultException ex) { + // The entry was not found, so throw it again + throw new PhoneEntityNotFoundException(cellphoneId, ex); + } + + // Return found instance + return cellphone; + } + +} -- 2.39.5