From 777f4aa3fd8321595db592ec38587a790aa8183f Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sat, 2 Mar 2019 15:55:24 +0100 Subject: [PATCH] protect PropertyWrapper writeTo call --- .../diylc/presenter/InstantiationManager.java | 21 ++++++++++++------ diylc/diylc-swing/library/main.jar | Bin 610027 -> 610027 bytes 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java b/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java index fa608110..6a25a3bc 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java +++ b/diylc/diylc-core/src/org/diylc/presenter/InstantiationManager.java @@ -236,7 +236,7 @@ public class InstantiationManager { @SuppressWarnings("unchecked") public List> instantiateComponent(ComponentType componentType, Template template, Point point, - Project currentProject) throws Exception { + Project currentProject) throws InstantiationException, IllegalAccessException { LOG.info("Instatiating component of type: " + componentType.getInstanceClass().getName()); // Instantiate the component. @@ -321,8 +321,7 @@ public class InstantiationManager { * @throws NoSuchMethodException * @throws SecurityException */ - public void fillWithDefaultProperties(Object object, Template template) throws IllegalArgumentException, - IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { + public void fillWithDefaultProperties(Object object, Template template) { // Extract properties. List properties = ComponentProcessor.getInstance().extractProperties(object.getClass()); Map propertyCache = new HashMap(); @@ -333,8 +332,12 @@ public class InstantiationManager { ConfigurationManager.getInstance().readObject( Presenter.DEFAULTS_KEY_PREFIX + object.getClass().getName() + ":" + property.getName(), null); if (defaultValue != null) { - property.setValue(defaultValue); - property.writeTo(object); + property.setValue(defaultValue); + try { + property.writeTo(object); + } catch (Exception e) { + LOG.error("Could not write property " + property.getName(), e); + } } } if (template != null) { @@ -344,8 +347,12 @@ public class InstantiationManager { LOG.warn("Cannot find property " + pair.getKey()); } else { LOG.debug("Filling value from template for " + pair.getKey()); - property.setValue(pair.getValue()); - property.writeTo(object); + property.setValue(pair.getValue()); + try { + property.writeTo(object); + } catch (Exception e) { + LOG.error("Could not write property " + property.getName(), e); + } } } } diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index c5e38b64b666942dda3c96439faf679ee80e618f..09ba0ed9ba34abb00628e91a6d989b0d31917a0d 100644 GIT binary patch delta 5301 zcmY*cdqB?T9)ExL=Slax>GGyG-RR~mqU2Jjm6R~I+(&Y+%q7xc4r4PZEkEXTXv-N3 z%bNYn4ze>%a!EGV7!Jdd+(M0<-}C*pvvdCOd7tm)^SwULFAc@M4aL6JDT#t;WiSwf z;bK~WbvOP(T0!qT{^zuUAIN6&k5m7NyI1y zv0^U%q=Lhh>9b z)yO=sA3erZV)CpBBjH>%S%mYc=`~=tbruDA>0BSclNsBAZ_a{`9he`tIvC`ZwM~Sb zz4GHgKWkGVVB5!^@wOM!-bwZ!?%O)m*^~Tc1*H( zBex#hg+lHIxZl~%h1fEcaUb_@2-p9935!tWC>(_!KXw%E!wA0e76Kr|bw6Pj%za&V0dA94A1a6bWS+T`f0KH?3%uPz!eHYlI?5q-~uL1dR#$Oo+t^4*Fo#&OL&`kVkNJ^=F5u z+jk2@?ca&oY6o`;-+*i8ZXv}8u@XGSjeElx3&xMz;&4*;s7dHN;ooE8%H;!TtSmK@@;`i*vYA*vs zcwe-n5b+3f*`}X328?G!i*EM%3#_e55s%7{YLe5M8KIKFaL!t_e5!9)W~E5fau4dR zZ5Sg)!6iO9L9~afSf4JA#+G!QxTMbp4}+mD8e0Nh9cGI5+PkyGVh>ijhwKc7 z6ff2D`X9`FJgHfmx=#E7%JJVK4uf*COT>HlP8|O=e18}Hov_#!mfv+(r|rq*nwC&0dYM?&bL+)SkX*km@&Y8#*TNzxc_a3j(W@Z*M+v=thYV=p}? zK(QnxZSjwKt;yc%jU#%kQ+)L@54lR`pv(>3q(DgfP?!`86X9Z{Pk^ggO@f*IuAS_&68HZWNosf@$kCM&Xs0^ z&4m@xV|&(_>U`-5Y{=nlQVAGO*)Dm)&3x}ODHay `?t}RYf>zP$+#)`bb+gUYC)CJ zL+4ti7K|25Dx*@(-Sta!S&;p4wbo0mE6(U9lB||o)msTRE4%9pIZ~D{0dX*uLm|m2 zw(?7O0aAlx6Rc=Hwe*!IPS}x1**1jl^V}P~KR{0i`)Oov%^ZT$w{wH)V z{vYyQczs_Sk)K0JO~>USKp1sGo&bbfYvjcsaX2HNgopXsZFxCJ#^04ExU)U@mRIl@ zwn$1Hd?-W@WeM2idMc&PxX6-E-2&NQu(MX}J(K{oGKxBD8NHO{5V*0gk_zc23|6** zIYyDZmwZW$ha_?Dc~B$fR%dFa4;emOWYVhnOW(l{%URxFC#_|R;siXl+mwz9e5)^oT(2>y8xQC;?iffN)W$)&arp_wR$Kn5 z;sVB-OO+gjun)V>+m`F)>~0!V&3qRauCm}80$ zWSxFO$pFcvlgcEJMARwsK=S!d$^-B!x~ky7oUSXY!Dj0nr4DvtUW2j}jPErnW>8r* zD?h;Hu9e6hQ2m9F9ngQXBk2xTVYmmGf=iwH*RZx-dWXu}AHvF^MACloBz35+Dpaqr6VYsJ(^kVwk4Wti4^8*sYaM}Yhl;QpdB%WdJLt;`pH4?_E#x;^;hMOD7$aW)> zsyrk??C`Qlw;cYE1h9kdmca1DLz41e%U(@rIlYO*GGSR0No1&d#xab3MA-jH)Rpa6 z`3UtkkI4uopZXZdDjt(@>}>l)ABm2cPe=yCn@`9jhA~gcREDKb@hm6k-Ft?e^WB8z%%w?GRoXloe^_+}n=>39BWVq@D8OyN#1xaNX@sgx7EO|-h zFtlw!{md53?_VusGL!qXk}(W(Tal-}6?r3nN4t-IM}6b(C?E0){mNdESd zcM4bB+l1%ECJJ}vv`Lri??)F8`6D~ynEuuo^L*VI`Dc2fyv7sl0?ioz zeKYpujv4!(hpZj z{)sQf8}5hedC(90=-`j?On;oq8Gr1fr7QBi-xce*+ZE*r-LQ_`?MMTVFEar5;bs8l z9~X#y-4TfSy$r;>rUhYMRYAz>AB@)~KNzmV<`DWWD`Qaz($Q(g#>t69`K@+L=!5!webC=I3jLQy z;rVtHu6s;hT*obav5waE^YDH+&M*3*+`2#dE$ol^{?s4!!2@s{YX)Gxj|N~qOwLsec=XqxO3X`3l~mQ{Zo{=4)5>da0HeYEkHVNgolaOyf MGKJ54K{8GK53p6oO8@`> delta 5301 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