From 096b18cdb8faf100ff080466056847d1394ff876 Mon Sep 17 00:00:00 2001 From: "giancarlo.panichi" Date: Fri, 16 Sep 2016 14:43:29 +0000 Subject: [PATCH] Accounting Manager Enable Job git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/accounting-manager@131459 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 6 +- distro/changelog.xml | 5 + pom.xml | 2 +- .../maindata/charts/AccountingChart4Job.java | 23 ++- .../client/menu/AccountingManagerMenu.java | 9 +- .../client/resource/accounting-job_128.png | Bin 4537 -> 3385 bytes .../client/resource/accounting-job_24.png | Bin 1147 -> 938 bytes .../client/resource/accounting-job_32.png | Bin 1654 -> 1217 bytes .../client/resource/accounting-job_48.png | Bin 2821 -> 2028 bytes .../client/resource/accounting-task_128.png | Bin 3385 -> 4537 bytes .../client/resource/accounting-task_24.png | Bin 938 -> 1147 bytes .../client/resource/accounting-task_32.png | Bin 1217 -> 1654 bytes .../client/resource/accounting-task_48.png | Bin 2028 -> 2821 bytes .../server/ExportServlet.java | 2 +- .../accountingmanager/server/SessionUtil.java | 25 +-- .../response/SeriesResponse4JobBasic.java | 21 ++- .../response/SeriesResponse4JobTop.java | 36 +++-- .../response/SeriesResponse4ServiceBasic.java | 37 +++-- .../response/SeriesResponse4ServiceTop.java | 12 +- .../server/export/CSVManager.java | 5 + .../server/export/JSONManager.java | 7 + .../server/export/XMLManager.java | 6 + .../export/model/AccountingModel4Job.java | 150 ++++++++++++++++++ .../accountingmanager/shared/Constants.java | 9 +- .../client/resource/accounting-job_128.png | Bin 4537 -> 3385 bytes .../client/resource/accounting-job_24.png | Bin 1147 -> 938 bytes .../client/resource/accounting-job_32.png | Bin 1654 -> 1217 bytes .../client/resource/accounting-job_48.png | Bin 2821 -> 2028 bytes .../client/resource/accounting-task_128.png | Bin 3385 -> 4537 bytes .../client/resource/accounting-task_24.png | Bin 938 -> 1147 bytes .../client/resource/accounting-task_32.png | Bin 1217 -> 1654 bytes .../client/resource/accounting-task_48.png | Bin 2028 -> 2821 bytes 32 files changed, 256 insertions(+), 99 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/model/AccountingModel4Job.java diff --git a/.classpath b/.classpath index 843009d..d03a6f4 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,12 @@ - + - + @@ -45,5 +45,5 @@ - + diff --git a/distro/changelog.xml b/distro/changelog.xml index 3558ec8..3e13599 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,9 @@ + + Updated to AUTH2.0 + Added Job + Added CSV download [Ticket #4041] diff --git a/pom.xml b/pom.xml index b8130c6..86960e2 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 4.0.0 org.gcube.portlets.admin accounting-manager - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT war diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/maindata/charts/AccountingChart4Job.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/maindata/charts/AccountingChart4Job.java index 16bdf96..1266f21 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/maindata/charts/AccountingChart4Job.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/maindata/charts/AccountingChart4Job.java @@ -1,6 +1,9 @@ package org.gcube.portlets.admin.accountingmanager.client.maindata.charts; import org.gcube.portlets.admin.accountingmanager.client.maindata.charts.job.JobChartBasicPanel; +import org.gcube.portlets.admin.accountingmanager.client.maindata.charts.job.JobChartTopPanel; +import org.gcube.portlets.admin.accountingmanager.client.maindata.charts.service.ServiceChartBasicPanel; +import org.gcube.portlets.admin.accountingmanager.client.maindata.charts.service.ServiceChartTopPanel; import org.gcube.portlets.admin.accountingmanager.client.state.AccountingClientStateData; import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesJob; import org.gcube.portlets.admin.accountingmanager.shared.exception.ChartDrawException; @@ -16,12 +19,13 @@ import com.sencha.gxt.widget.core.client.container.SimpleContainer; * */ public class AccountingChart4Job extends AccountingChartBuilder { - + private AccountingClientStateData accountingStateData; private EventBus eventBus; - public AccountingChart4Job(EventBus eventBus, AccountingClientStateData accountingStateData) { - this.eventBus=eventBus; + public AccountingChart4Job(EventBus eventBus, + AccountingClientStateData accountingStateData) { + this.eventBus = eventBus; this.accountingStateData = accountingStateData; } @@ -50,16 +54,14 @@ public class AccountingChart4Job extends AccountingChartBuilder { } - private SimpleContainer createJobChartPanel() - throws ChartDrawException { + private SimpleContainer createJobChartPanel() throws ChartDrawException { if (accountingStateData == null || accountingStateData.getSeriesRequest() == null || accountingStateData.getSeriesRequest() .getAccountingFilterDefinition() == null || accountingStateData.getSeriesRequest() - .getAccountingFilterDefinition() - .getChartType() == null) { + .getAccountingFilterDefinition().getChartType() == null) { return null; } @@ -67,15 +69,10 @@ public class AccountingChart4Job extends AccountingChartBuilder { .getAccountingFilterDefinition().getChartType()) { case Top: - return null; - //return new JobChartTopPanel(accountingStateData); - //createJobChart(new JobChart4Top(accountingStateData)); + return new JobChartTopPanel(eventBus, accountingStateData); case Basic: return new JobChartBasicPanel(eventBus, accountingStateData); - //createJobChart(new JobChart4Basic( - //accountingStateData)); default: - return null; } diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/menu/AccountingManagerMenu.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/menu/AccountingManagerMenu.java index b2187f5..f43429f 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/menu/AccountingManagerMenu.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/menu/AccountingManagerMenu.java @@ -52,6 +52,11 @@ public class AccountingManagerMenu extends TabPanel { EmptyPanel serviceCategory=new EmptyPanel(AccountingType.SERVICE.name()); add(serviceCategory, serviceItemConf); + TabItemConfig jobItemConf = new TabItemConfig("Job", false); + jobItemConf.setIcon(AccountingManagerResources.INSTANCE.accountingJob48()); + EmptyPanel jobCategory=new EmptyPanel(AccountingType.JOB.name()); + add(jobCategory, jobItemConf); + /* TabItemConfig portletItemConf = new TabItemConfig("Portlet", false); @@ -65,10 +70,6 @@ public class AccountingManagerMenu extends TabPanel { add(taskCategory, taskItemConf); */ - /*TabItemConfig jobItemConf = new TabItemConfig("Job", false); - jobItemConf.setIcon(AccountingManagerResources.INSTANCE.accountingJob48()); - EmptyPanel jobCategory=new EmptyPanel(AccountingType.JOB.name()); - add(jobCategory, jobItemConf);*/ setActiveWidget(getWidget(0)); diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_128.png b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_128.png index f798abccc1f8c1bcef04a3d1b489b90a66963e51..2939ef9824ef0e41c5da176d72888633c07aaa3b 100644 GIT binary patch delta 3333 zcmZWqc{tSV8vf0gVF)qFF8iRQu`{;Fk~L$e1))T?L)jX?L6J3Ulw}yn&WAIGl65E{ zYu02wEyjdV>Ekm-XU@6KALqKx`{#Y#&wX9*^W4wO51-yd-)4fdFmW1wx*rxn(A%Neu1QWg~DAz*W_e#1TO7-t5^=v z8Hv?DVc-1@6|qUVbz5a=>+YvJhq!XFN3Z=jiyA2rk|m7<^rj8dJEGM!kV{(*skg*}jU054xx%mY@J zmAMVWtI^!FTInoHw0PFD)vF#J_^H4Gx%4K#)R$ADvRuV*QhjeYA{EdSbs!1^T9^ zowixhCJFat5YIR(?S~?(dW)y5xE-ItOaWg}R68`+vEw598-#O5D*Fu$4PASuq@)zr zdN-yBsg=$UeM@OCCR^t1TbpeblgSiFsr)quszF|yJ^%yw2{H(u*jW9&qphuwI`_$> z_4G2B<1Cx+|87sS6z#_^6Gt+GcHZ*#V(c+lAL4a&bozc8QcIH=Oe)hjrktyM-BVVu z4SfeGW5p0rKbV`F>)XQ>KYePWrU1>uBl}U-RQ;WX4OT+$@zO}zuQ)##wX~)$>;Vrg zZy%hm+{3M2LZFR|%H*JhfX)I$<8~RWwqkF7ZVpLR*?)EITs8EzHt-rTNt*JuV6483 zKCZXUO?81jOsTMM2L%0EMysy5GFqCOlNe0444N(o7Xd0p4OIk7uqcQR2+tsTk7fx0*4G6cxkw>636^xe(scG3S z#}w5sNOU(IiS*a3?G9&2G-)7A?(I7w4hstlX9K}q8n$Zd=0SK8A z3`sBsz>~vP2Zo0&xA(R`zB*R=ld|~p@bAdr@0@%Qj0k5%F=O}?Z@1M0;fz8c$52q>_?B9wi^EoN38bX&OFbXIT~^oNTN9nYX5@y}g~Scq}q9a^&W$zH1c5 z!wdRQutgcAzs}xtd}R5(mO3eQTGCMV;Snod_SGY)hsFs)zZXI=tCrU%A;gA60W=9bK{MW8C*c3+O#rU#ZH*IFBeh8q_G zw4Ap*hOVB`)BtfyX-Nrl)8PrMVY-38f8P0<>r3UalyfG?6TF?wW@MaN0Lud7S1N z@LSe74L+96E#S_rzQoDmU=NuT{h7twa}KGR(chfZ4g2T;Kl=VXLW5jWVprR$#PM-o z%dr4fD;zi}A7U<=GQHpV;#j>Z);+HLW;KB@%uKWNnS0oxtzdU(3X^^h^wdy6T`^sm zY;jM8Ec*usE|e!l+ug~9@ku(AVb%`g<11USIu}CEy}yyS&w2Jhq^M_>f&5MAi%}E; zs%K)7+TO0YzsHb1WHIOK>mFwXL`RD>Uwg&l-h9RSIc`?7E}kqnKjQM;wWyr#H1f@4 zC9kkV_%bohQDwgQs>IB4gybN|SnVyO$L~-fl!($sI$!FA&dyH!Iq#mpU~eIdo%IRn zv$&g1WpSwfn&FJokgx0O&L1)Luh-YtZRg2kvaYaE@|IIt*jSMC`jtAI#(K6jGCZGX zr+`l<^OecA2|h<=38nZ3iJg>kM=iN))jgvDdHS)L<2iIWzziu~{P299bact9NoBeh_WfG+z`_)LC%#0f1Rnq91uF0DhSp4t(v*FS~;ObVsH7cJ|#xGNh4DmN#SXw$A;y+c)@j|%yy1#vT zGgceg&=D3KZ2O`kY$W9zLf(Q#HcfN>f#D!MS z5JaMT0A-rr6`tv}z)r>oO~mr3jz`a*6#mW3I)KUs28)`3H)DdZxLxwcA zaC7BgC4BNOT(sbMczx1*x*GK@cmSe>f)rPJPks@2F;*SQB`~y9%QLwlFkP1P?)icF zh)0cdg^t8|@V%_Uwo2m**_n=mj*bp-$h9C2S}8w03X!H1?z)(FHl?+sal(=-rOs^_2 zus6W_FSPNx1wRrRE;D0?Ao~O$6+cj#eM{c<_nU%9c&5ayjR;MQB0du!ZRNb-;a^-_ z+)&*&Ffho9`TY;>3R^yZ3$BcpS6&+aF49l5)5Eu+f6-5|t|xK7)4v@WdYAuje0;pM z>PvmfMDQ<;Vja$*4@`@;*ej3Q*jZzvA9fJaW$n=>Dc{_tevzD0Maoq9Iw?wViR?7} z^lct&DMH5BU9f5g9Y2Llw`yhyoLAzeIAi`D-2}p*4_Z|IyZ}t)b!MQX@73Lbd*=IK z_i^ulk&_f>v?n-{P}hVK$5RK(-# z*X^&Lv}*0>Ow<6$f`@Y8ywSm#6YLqOjXpeQn~v(AHv>*6gjb*1Aqn>7R+LeL74h<> z%)WUCz$)o(V%U8k8@2^m6@^H0FF|^+P(8T?zI!3CaD_ia4wn$riwQnT`y^zaV80qw zLLM)lXhhYu1g!3VO(Z9=E60<<;E)$Kup1)~o4K;JsKvBCRRjG|x?i{2F|p#I*VUvo zNpc4=kwh)+o|F1~(?HB)l;7$$%R1ZsL=x#xYs@yfpyrm@AGUW7H^4X|i z-DmeaTCtWSNn-Q;p67Y1G+*9Y;PnQCw-$K40pYEMUT-jXYk$Gl8wlQ7==BDJw-$W8 zf#9tLUvD6IYvI=$1m0Tk^#+2s7Jj`!;H?E;ZyU2)w!oAG?;G+wIQv_pe^PqDG@ZzVDOo`zx&pg1QKQJRZ;e4*CD0Mp!jX;IHC&837Q- zF-1{C_wL=B`|t1FyGKzJQ5?rKnM^V^#HzVCf>m7oY=7+W%8#OG;dez*lsO6bzE4S# zEbTT>Rtp5HB76jaRQ;pTXyNyaMx%7!XFFh-0Zz}PXuMOfbN)<#s;vp`sZ=c&YC>cdEXQO zf*_zE2!B!#pa#h6%Pauc2E!s-fmfCARW4f9gw5-k#g!jL5sgM8>i7Hf;K2i}et!4e zchqjTso88&7={`Dz#`+CH69y4m{|zD$9n0)i_LI0HbQi#Cp9 zdVl}@_ve1kufP790Rc`tul}Q>BP;6i;^HEs1yp@lbS!wvumyrr05C0lUZrxMUc^O< z?eg+6ounj5Xm4-N>E3DT`@j71OM1#cZD86k%mabva`p4dXH{KR_^Z|!1gu%4k!TYD zfos*zt6%4QzG{u*4yq%eDG=oO2Ao9$5q|`_4w_X2z<4~Kiafe#zDwatFWtKR=W9^K z94Y~T&45o?f<~PHz?~FPRgh177pq@7OArio zZz{EKQ}9y8&Wyl3YxeZ?w6?;}8@tPxfHNbI2UZl+sbkBV6IVu{XIuSC%YQT)(SL9_ zq+YK_S65f`@4x@j)zuZ9pPySD=*^oq3)#Im{K;fOfB*fr)&3kGAJgXMCcX2{JG8mE zNu5rITCG;Qf);MlgNG#de*`e`xYy=3hf3AeC?2B#Z4}Y#Q1OQJ! z7>33Gu)V#VzAp^J^pU(i8EwO8B?5q5*8DUY4cgw`rr&=1O&b8%H=Yy8b+8Epjtw~1 z0B8%~%G3owx7(#42&ma?rVoNZZU-tOP^x`4TA5=w8jZ;Jed>0*^y<|sBN{-mj$La2 z&$b4Tdn``uU@%Be15chjDS!R`-QC@c;MtmH5J(MB#4A*302cmmI81*=QA96ZyeQr0 z&p-b>wf;9YHZs<~D}!pntBIok=@?_m0gCL+djx&NcX{kSc{FuJ_>Z_@_ zkQ8$3+knla57qu}in_hOzn==c)9IuDK-JGeBl<7LpC?t7uz?fKfhuG$u@7S~7*N08 zr(Ul|gTa6Xg8}{cBZ6t;SWR@k(c-36FXz;p?V{ zbHjI|8#{_3YJWDHG#ZU43_~kp=J}M>%S;%DzG>mxCVR5*5d;VTDg6EY{nFps-`~#^ zi((*PAP4(m3jo|CdDH}h*f*g8%2wkl>ql2PXrxcyRPu?e7RC(&TBakKd9A2=nNtAR zsK&7f0AwHqjWq646h%goM30V+D2k#C0C*op5SR#P&3_9>lX(Q%oIo^;TmV4Dq){E$ zOm0PT!qHdYirFLqpvobr)CO>s?5Y5ICMZd6LmWCcOA7Su7fxPUcY^vX%l9D-x|@&-3W?^ptwN z9)17)_r^Os?@Babm@QJb$7V|R{rmT+)9Fkxs49sCsIq*A!(qzxXP!UD%9%g+`t@sL z6Y|9uU!)uW4gh(cHmoSd9Y#eW=-x6j6J6h$dF;L}e(H8#ebogE6p zFeSZk)RXfFI1r{=RwmF{@%$iTrrB&}&dt1%y4`MSz3OJ$V8Dq%na4P0H|_oV_o?6S z)8*x5;k)EXkNMg-5_K;cWu8|DyV$+|KC(6#}1WduPm<)7w%=V;kzG@>8~Qg7DQ))xK#`|sLX zKziqJ^|xBB^vsO?-P_yCXei(J(~0FtW`C8hO4gL2@3L)cYb%o>gt-j}0@)u^euvV0 z09ox5d2=jmelWXcG#X7MT)cVnrc~$8&(G6|!8*R|3TBPOtCVdO^z0!}gCI!X$JzzC z2DthslS%r%GWQV>5#70SXDYHO6Iw9eK@wkNl~L!X0D0FQ+6FRa&QG)1q~UN#L4Od? za5&V;v>A`bDSH>af|!4Z+JXC21OVJ~RmqytBUjet-0gNVi7c$GQ1~*vO{I;r2_c^6 zmC^$EVX2B_q$~`>OqLA_Uq_8SeE5*g&(AYl0DPxvYv8`*#rSdM$qDDJ2Q!Dt?)`GB z$;)O^RtgEu9YVT9D|B@DOY|JMOwmV^{>ihl;vSu(87I2f@zm93SO#Km1S#!O>=N? zke)JdkC&@kTGXg|RkU)Q)my>PXTT={Q}qFg+Rs1#yijr|+B9(- z(+3}XV5MKOJ^+Hi)|~;?H9($Lz?Eggm?>&3z{|_ah0?=qUqGRn1Jz|x*5xB6!MYZZ z8ld0r(&rGsXYKrPEOJ}k%Uj@_XXJ0 z0#ziDT$g4#-*4X4@5}~RtN+>CKvlMY(^G&f#Jp~l@jc|lDVzhq)Ha|(GX{XxEo%to z71^?-{-+#4LU@Tu0DmB5doUQJbnUX~TkpR6ZYK8d&p-b-6`HBibA?QT5@Yk3OP}jg5@(F(wd(VPW9PlXDVqsvZ+hR9D96R#KnGn0HbxUWPoGovR{eG61;c z-7dmp4-PkDUIKFFbsN&PWF2B8mPp~FCcv>UBZ&nrOWV4>G{Re8C6`Vhk(ESbDj6qO zFrAB64YGMvY+cDMl!R0MIV&G9ukG#arK?p%+*ENJS%3JLdoYqI4{>v^5i7|WUhg(#}QYl)Bq9y3|!Q5s>)(K4iz7;vO9woRO#AV z0UAvz%YPXgPmJpRKWS*<)`A9RnPL@OlmQJjRMpZzQ{6Ynz>wpSCmPe)K8yVSW$FVM z+X~PyR7JyNrjd#sjdU~VZpKr=qD|gFCbM>M3`vrtMI#shs%&X#2%{#eLinY(08=24 zdt*_;MiG%zUacazhs|cQ)c%iqb&($cH5`u%vwx$C#$zhgt8DzH^k$>$8<5)qPnhav zj9Isi%YqfS4U{PplUE)_s{g!xsD4LnVWa+kSpWn&A1n(3NfpmaAdw)*n4}Vp!z+}epuyIUpWAl1qic1u*!m83IJ3Ef@Nx6#m)t9Stg=x zK=78qt+-48s0$F5Mes`tfK>#;vI+g#0N}a^7r1Qy1G*_D%PDHLkV1iSDpLqZP diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_24.png b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_24.png index 326b22c6a7b60adf496775d35e2d487a17566eee..5ef62f3af28f9838fb250617adf27c319a6f76f2 100644 GIT binary patch delta 867 zcmV-p1DyQ(2&xB=RDTRQ16@?6t^fc7H%UZ6R7l6YmcL75OBBaH=O*{&7bJl|Bq$PD zh;>**5K{OG!K7FaA3_kp*9raumdkE$BiOB-&13BrQaw8x!5@{4fh#On84`_oSI2wL zD_#;3jXamf?zfsdXXZOI-}&Bi1_q$2gYC4czE{-`s(PX?aevZ{y;s%rD2`X5s+Ctr zU&D#2R{o0=RdrPLi>h|?$I;K1RRdrs-)m>dxHFzu2)zy_6V+Ol= zbH9wz{D)-u`t_?WEiGxiUVlxl3V_vhz$YNa8{xVx`}_M83I&qMDfp>JhtU>TL=?@MLbYWpZkB^UE9W%i7K~(jm zcY@8$O%4wav2A;#jpyd(I6psUd3l+mqa*6|`j9-v80P2a+1c6Yb)ANL0 z8^f}!A#xGn{{EheiwkCFXPKU!#u!7fIIL_C1WZm&Vt`8rBb0*t6^CdK@jxg;c%Gs^>y<3JgHQwuR^#tz_x8NnGD7lJkR6i z<^~bLvMe4SA1M}#tgNiCwY5bunFJsd3K0YWs!Ar4VSId?OeQmQ>DF^8VzC(Uc$^>z zC=?1*tAABGoepPbXIx%hvbwt3cT=@mrBEmk1Of4QoLDUO!ci7*`do@^HjD539r|M>#nrJE}L>e*FQX|-DH?(R~n)d+{f7-O(3i%=*8 zfbaVRL4a-B7-LvmTx4TogH$Rtcn7DzZ_-P4z@NQ*%hJ1-PGCHNq;C5;^W7UxZQ3EdpqBO$Y(}9+4i=@+Oj*gCKZEdBerw6as+ekE^Hqsp*AG5NuLL?Hw<#M6xI)Oj{!!U?O zqik<)v%S4dG#bS)3<7}wx~}7Lxrjs}tgNhXe0>7&l8Kq*xlVl(==9BSDBicB9qAgFf=s8 zr%#_)Uth44yy}iA(x3|~Z892~^SHPbDnx@K+t}FP{QMlh z-+vE4JRT<;4x?!rmSy4bco-fY#^rKd@1j??3N4q*@$A_%dV71RR;$>yjcwaaN>)`B zRaMb-oqRseyLa#C@9)1MG!;nKWL>v%xs1=}!!%8T!5|Y86X?2*rfF!JhOX;OOiU0A z1~E+&pU+3RT)qx|0Hl?M%kB@r18{bB#(&}AAr}`H3=9k)BJAw!kVqr|c=F^4b8~Yj zio)m5pXu!E#P9dh-QDeg{|)@AC`w$fsW&bnZ-CzbF$_Z)8ymy6ZQO1*mSs^a7D*

eNhXH|iTjQR3e{aBSO_TrMZESWIHEnB;Ofv2FW@2QSVy wM`oo`5z{oqG)<{gD&Idc|F@z4U;VcH1D^oA)hZpp?EnA(07*qoM6N<$f-FrE@&Et; diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_32.png b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_32.png index 7bd40f1187f40ddd1e9ee3f93c3b8e7cd05e1371..bf24ddc421e25e87fbd91894cf28a1e922f51c7a 100644 GIT binary patch delta 1148 zcmV-?1cUqb48aMIRDTRPE;FX77ytkSPDw;TR9M5!m(NRESro@V_q~_r%gYZ#OsP={ zHj8Wq24#>ggpz?6q1$e3rOPh*7dUiZI|Kd&{srQq8%623=(Mw<0Zx))y_;0gct5T_nhzfdC!G2NJRXvBO*VFNPj^@o{LCbPEx(ISLpCM zVHuYu5t$c}zeJ=a7pGe1%=~2(`rk1Tc_CM)7a}rtA#a3~&x=S|z8#f)Z=4Dur2MXk zwB*}UOGNIT2V(wTQXU2|f12{KtGZolEo*CQvbVQ)UO2}3x&BHC*Jw0kadA-!g@QbL z_Dr(Q!-RD&@Mfv%}Wb7B_C(AeYObwLXizAR_ZhDU43TcyJZv@87>? zadDAyxy;<$9GOf8%d*Zp_CQ1&3&;bxOExKvj*fWp^0kXINNRV10f4 zLI9?wrg;7OHR*JkhYugJw6w(G;UVpIyD$HpJ9l{e_;GmYcMG`fBhy+_tyXay=UgjB zMn>4*-zS|;bMM|gR#sLxIyz!tVBpj<)oPVSqd_DR@#WuE(y2o~o*zGcq+BjjtJUy4 zudguMwtv~!*x>Ekw@ge-P%4#3Boci2@&(WHPINlQad2Iip`jtJUAsmikq8V7004mp zDwPUv-n?OXd6`Hg($|`NKF_C5pC}fKtgNgcB7I%2wPtp9mRq-O5s$}-#bRADyJ{s8 ziI7Ytv2B}dHVZ(#UI(DnY5`!HCY4HsM~@yMB7ZC_ED()G1B=3Z0G4Hu&1Olb(>RWU zVHjNijb6ltVPKjjuImOuwAM^cPBJ+;iPoA}EXLB(61%&*luD(b=6m^kAik_#^7%aD4 z!GFO)QmGUlK763vZZkSM3eXkjSS*I?x`F$9`9y?ND#hU7U|;KjR|fF3UxRTRhfF3D zB$w;DxUSm;z_#tKvg_p&5i*&~S!Mmy01knAF96dtnVFfPTCE1j)Z5>cQYQq5`Kr|_ zGcz-orr8fb9XParcfc<2LvJ1o4-aG8Hh-37vAVhnKr|W!pwVcsy}cd$_xF50KjVjo zhfj0=F7QtIlMwK0c(>VXQZAR-+}vb&d6`P35|pZ+gnp*?TZ_lz%+Ag-Jw46P&``hI z@fW4kZ_2+MIzvL&Oi-y**x%ph^XJb&OplL`X|-CIrWwRPyk^@rhG7JWoXuv5$93bq z%KuPG{VXD=@JI&y*|{Bqrc$rhsnu#|tr3x+&GyDLysnfY5{cltF41VTw*(J?pOjL6 zUuY<8x7*TeHbrawRljDlDeZRqtA^6=Vl4mv9wy(#)9kx=oc`C(^M3$Hr&)5^^gEOQ O0000{^x)1g@3P@h9WS(+;D4up?`y}tX0KnrCY#NY&1QM^>eXQ>rUBo3oB+^j((!koy>UgkTxMx$ zsjgJEZIe!?F-;TGGmDrFLm)iE_Ez3`F~0EJOt5r5^ZO<4oJOxpU_ZD=RCs zx3@DhGlNo!`}gltC=~pFN+}|d2sdurKt#BE_b#74eSadEOmgeiErP*dGa!FaO5Ig^ zg7I%4(MZbY&!3Y@rHDi#KcQ6$0M~WVwE9Zbj(Kwng#xp)vs}J>*z<0pu zMsKB3A(>3>3+@HbbsfVn0H{{0IF94{l~RZZkw}CK7cNk#RA^~wX$)~1_|Dj?$-W$E zn#S(#E`O7glRSCyr0!4q`uaF~_AKFW7=WFf9oE;^dHeRQp9Q59larI!woND$YF2_E z&~5;;&Ahs<6Ap)oMx%AXlgT6_BO|o6wfP$ti$%_yIYTfQWMyT=2N8`%35Ubzx_(es z%o@N@GmlaV!!Ssv(})O;I(%hB4}itDGtG{PM8elb&X=7u9bUMxW_&Bz0qm;t3ECvS$>F(~Pv$K2#WnjSXDaZ3JLxjm*#Ga->oz=I7@L1Ok4m zwSTm<(ACvNBobkLeVw_vIYOZjp-_mqxjEL?*NH?Tbai$4gcA`0fdKRK^Q2NKa=F|- z8QurLw(X{E1`rGeQA)A1vs0JW+OcLmuW1^t>+TaPn#rzZS&WU1F)%PdrBd<7tJSK% zK~GN)qobpgN+n9A5~HJ|^z`)jKTxe!>wnsLU|@i;u`w*m+6T@6N*)iCQiMVw1_lP` z>FMF(#fv<6@BrJkDHe+?FE5iwB(N-tt5>gb{P=MI&Ye4lWmy=8!SeDl#bOb|FbD>N zT)%#u_V#u9=p+9s=SX0Mj%H27^SSQ7p@%wY8PCwKa5I=iR$^h<^yl zWYXuv$&)9E#bQLGQ64^g$kV4!F-;St6k}s!^!4>|;=~Es+S>dQ*4T3cNCAJUt*2#K zn5OA#fuAnJ;PK*MhZz|eY075HvKSc|VR(2LP1CS#o8I1D;_-N0SJc>#N~x0a(2B?lV1L;2I*!BE z))w#Izh`xImGkG%``VDt=ec+9UR?=p-n{9b8?Ni}=FJ=W`}>K<<8*X%G;-iyN~u5k z7m}JQ*?+uSk%&+(m)YLl_EX&2+KPy_W*DjyYO)8j00000NkvXXu0mjfJ{uZs diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_48.png b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_48.png index d2fcd7751d9d0ef5353bb56bda6b1d280afdd9c0..bb34e8e3144a34b2ee1d9d71025712844a554107 100644 GIT binary patch delta 1966 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 TrScf!00000NkvXXu0mjf*kN$O diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-task_128.png b/src/main/java/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-task_128.png index 2939ef9824ef0e41c5da176d72888633c07aaa3b..f798abccc1f8c1bcef04a3d1b489b90a66963e51 100644 GIT binary patch delta 4495 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 delta 3333 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 delta 867 zcmV-p1DyQ(2&xB=RDTRQ16@?6t^fc7H%UZ6R7l6YmcL75OBBaH=O*{&7bJl|Bq$PD zh;>**5K{OG!K7FaA3_kp*9raumdkE$BiOB-&13BrQaw8x!5@{4fh#On84`_oSI2wL zD_#;3jXamf?zfsdXXZOI-}&Bi1_q$2gYC4czE{-`s(PX?aevZ{y;s%rD2`X5s+Ctr zU&D#2R{o0=RdrPLi>h|?$I;K1RRdrs-)m>dxHFzu2)zy_6V+Ol= zbH9wz{D)-u`t_?WEiGxiUVlxl3V_vhz$YNa8{xVx`}_M83I&qMDfp>JhtU>TL=?@MLbYWpZkB^UE9W%i7K~(jm zcY@8$O%4wav2A;#jpyd(I6psUd3l+mqa*6|`j9-v80P2a+1c6Yb)ANL0 z8^f}!A#xGn{{EheiwkCFXPKU!#u!7fIIL_C1WZm&Vt`8rBb0*t6^CdK@jxg;c%Gs^>y<3JgHQwuR^#tz_x8NnGD7lJkR6i z<^~bLvMe4SA1M}#tgNiCwY5bunFJsd3K0YWs!Ar4VSId?OeQmQ>DF^8VzC(Uc$^>z zC=?1*tAABGoepPbXIx%hvbwt3cT=@mrBEmk1Of4QoLDUO!ci7*`do@^HjD539r|M>#nrJE}L>e*FQX|-DH?(R~n)d+{f7-O(3i%=*8 zfbaVRL4a-B7-LvmTx4TogH$Rtcn7DzZ_-P4z@NQ*{^x)1g@3P@h9WS(+;D4up?`y}tX0KnrCY#NY&1QM^>eXQ>rUBo3oB+^j((!koy>UgkTxMx$ zsjgJEZIe!?F-;TGGmDrFLm)iE_Ez3`F~0EJOt5r5^ZO<4oJOxpU_ZD=RCs zx3@DhGlNo!`}gltC=~pFN+}|d2sdurKt#BE_b#74eSadEOmgeiErP*dGa!FaO5Ig^ zg7I%4(MZbY&!3Y@rHDi#KcQ6$0M~WVwE9Zbj(Kwng#xp)vs}J>*z<0pu zMsKB3A(>3>3+@HbbsfVn0H{{0IF94{l~RZZkw}CK7cNk#RA^~wX$)~1_|Dj?$-W$E zn#S(#E`O7glRSCyr0!4q`uaF~_AKFW7=WFf9oE;^dHeRQp9Q59larI!woND$YF2_E z&~5;;&Ahs<6Ap)oMx%AXlgT6_BO|o6wfP$ti$%_yIYTfQWMyT=2N8`%35Ubzx_(es z%o@N@GmlaV!!Ssv(})O;I(%hB4}itDGtG{PM8elb&X=7u9bUMxW_&Bz0qm;t3ECvS$>F(~Pv$K2#WnjSXDaZ3JLxjm*#Ga->oz=I7@L1Ok4m zwSTm<(ACvNBobkLeVw_vIYOZjp-_mqxjEL?*NH?Tbai$4gcA`0fdKRK^Q2NKa=F|- z8QurLw(X{E1`rGeQA)A1vs0JW+OcLmuW1^t>+TaPn#rzZS&WU1F)%PdrBd<7tJSK% zK~GN)qobpgN+n9A5~HJ|^z`)jKTxe!>wnsLU|@i;u`w*m+6T@6N*)iCQiMVw1_lP` z>FMF(#fv<6@BrJkDHe+?FE5iwB(N-tt5>gb{P=MI&Ye4lWmy=8!SeDl#bOb|FbD>N zT)%#u_V#u9=p+9s=SX0Mj%H27^SSQ7p@%wY8PCwKa5I=iR$^h<^yl zWYXuv$&)9E#bQLGQ64^g$kV4!F-;St6k}s!^!4>|;=~Es+S>dQ*4T3cNCAJUt*2#K zn5OA#fuAnJ;PK*MhZz|eY075HvKSc|VR(2LP1CS#o8I1D;_-N0SJc>#N~x0a(2B?lV1L;2I*!BE z))w#Izh`xImGkG%``VDt=ec+9UR?=p-n{9b8?Ni}=FJ=W`}>K<<8*X%G;-iyN~u5k z7m}JQ*?+uSk%&+(m)YLl_EX&2+KPy_W*DjyYO)8j00000NkvXXu0mjfJ{uZs delta 1148 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 TrScf!00000NkvXXu0mjf*kN$O delta 1966 zcmV;f2T}Ni7VHm@RDTRPAk-d&9{>Occ}YY;RA}Dan#*fcTNa1EeV$d7N|lugNepDr z5FCU=Ou!&$EYM&SM-3MQLC|Rr9QX$~xpN2I*f_cW+6Q(?B7ai)?21UIh;)g_brJbp z8q@E^Z@Y@TZnd%Zg!~CaBq1Wdh{%6LWJ$iAmWpHiA|i=BQ=-D^S4HHjh-BsaQMNed z)$i_&6008+ktx}Gni7$Ne^`kMt6wf!=+C0BB67JIZ>R=Jgn=nw2r&6`NdsvhrIgyL z^^s8rGBMx|aDVtO5T4?khk-jqS(=BGh=fJtq5L@Xu!x5G5E2oTQi#ZOQTrc>UMr=B zeHnK^s6_b7Ma=J6EfEpkzkkon%nbQ_zFBAtiOA)mj5P;8xR=?+^E?p|dG+d*q*5t4 zd-klP(`m`)^TE3&veUsGL0qEIzkv8&Szc?++}s@3uYX@Bkw}ouW-(23H(rPrWemPI zN}zKUIKF2&QEM`p3^#AyWOa2F5#i*?lSHFYwAQ;RTE|7?st+Zj_>cgu?4|IAVQ}x> zJ*KCpF${xbGRd)H$FOZ1!!XJMvkAH)A_=8b5X2{e&|V1dc^*nBo;-QN?c2ABL?Uc% zZgT$od4H10B;jxv%d&Q>K&U7)MsYcN4siDh_wU}lV|;uZ!!XcVbMD+Z+S=NP$KymI z5lqwEtpYA^PDES_*aw_wW=-@h(An77V0?U>t*tE#!{E@NL-h6akw_$HZEX!8RBN6( zik$%VS;b=3R;{2l7@#Q+q|<5Mym^D;IJmCM*nij<9UUFCwY3qAMllSd>9HzgX#}>$-gY z{273ro*ssWhq-m@77Ggtl|s~|a5zjVm12E;otBoCO5P(%DtwsB<;Y|*EG;duva-VZ z`uc7Q4YRYeJbn5U*L8_Tqg=RffkYxfD1Q_po6WMZu|Ync$Md|pUNlXUXf#S9ksz5& z(%RaJ<2YsCSvwZtrWs7EwZ^t>GMNl7Uc6{%InVRhw{IV_v$L3{iDg-gjEwN*%NO3h zeT!0xd_GU1P^c@s)|!!#5n5YY35UahN2|@hLjl7ua9x*pJWe^ z3&SvidpsVeudj~}A3ih`BA?IG-``Jve?Nv{aO1`e*4EZ`l`i}G`iRHlw6wGk3WWkW zs?BZH!=Dc+(=>_2VmrR`q2MbEV1HQ_j~_oK7K^dGyv(Ohp9qJ;P4SkdPJdp@vg$(D zs%H(uFak&=5{a^6qO~TKN|8(^Sz21+`Sa(Prioz~%*@Pi;J^V+oH)Vo@G#GwJuCBG zEneRPi9`a|b%Xiq%GhvcU9>`HXJ=XN)><<#FhEyV7Xt$WXsydUxPSkCI)6Gkf~zt} zYw_B)O=o9kL(7+X;8kTUC>6waad&q&wrvNKi3rJL63enE6be<-tRH}tMXMgKZQFEr zch|*z3B9t4y_X~PU}RYqJv}`*jzcz^EyJqgIOKAV!!2JAt znKf(i`bE>XejN{N1HUPywv~Ti0sOaCOGRtV=H@1gi;GN5Oz`^kYh2f5dwV-5My~7b z;PC_0ahx3~v66Rtdz-_D4|DP2McUijgRN!_S_S^5lv?rIDl5RXMsZ-4uLd=|@pJv`QO6s9`R_LW1G}97m!cDEq5uE@07*qoM6N<$g7 userRoles = new ArrayList<>(); - userRoles.add(Constants.DEFAULT_ROLE); - /* - * if (aslSession.getUsername().compareTo("lucio.lelii") == 0) - * userRoles.add("VRE-Manager"); - */ - try { - token = authorizationService().generateUserToken( - new UserInfo(aslSession.getUsername(), userRoles), - aslSession.getScope()); - } catch (Exception e) { - logger.error("Error generating the token for test: "+e.getLocalizedMessage()); - e.printStackTrace(); - throw new ServiceException("Error generating the token for test: "+e.getLocalizedMessage()); - } - + token = Constants.DEFAULT_TOKEN; } else { token = aslSession.getSecurityToken(); } diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobBasic.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobBasic.java index 74f668d..3058031 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobBasic.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobBasic.java @@ -5,9 +5,11 @@ import java.util.List; import org.gcube.accounting.analytics.Info; import org.gcube.accounting.datamodel.aggregation.AggregatedJobUsageRecord; +import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord; import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesJob; import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobBasic; import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobData; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.service.SeriesServiceData; import org.gcube.portlets.admin.accountingmanager.shared.exception.ServiceException; import org.json.JSONObject; import org.slf4j.Logger; @@ -34,28 +36,25 @@ public class SeriesResponse4JobBasic extends SeriesResponseBuilder { try { if (infos.size() <= 0) { logger.error("Error creating series for job accounting: No data available!"); - throw new ServiceException( - "No data available!"); + throw new ServiceException("No data available!"); } ArrayList series = new ArrayList(); for (Info info : infos) { JSONObject jso = info.getValue(); - // Long duration = - // jso.getLong(AggregatedJobUsageRecord.DURATION); + Long duration = jso.getLong(AggregatedJobUsageRecord.DURATION); Long operationCount = jso .getLong(AggregatedJobUsageRecord.OPERATION_COUNT); - // Long maxInvocationTime = - // jso.getLong(AggregatedServiceUsageRecord.MAX_INVOCATION_TIME); - // Long minInvocationTime = - // jso.getLong(AggregatedServiceUsageRecord.MIN_INVOCATION_TIME); + Long maxInvocationTime = jso + .getLong(AggregatedJobUsageRecord.MAX_INVOCATION_TIME); + Long minInvocationTime = jso + .getLong(AggregatedJobUsageRecord.MIN_INVOCATION_TIME); series.add(new SeriesJobData(info.getCalendar().getTime(), - operationCount, operationCount, operationCount, - operationCount)); + operationCount, duration, maxInvocationTime, + minInvocationTime)); } - SeriesJobBasic seriesJobBasic = new SeriesJobBasic(series); SeriesJob seriesJob = new SeriesJob(seriesJobBasic); diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobTop.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobTop.java index 8655bfd..872e7f1 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobTop.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4JobTop.java @@ -7,11 +7,16 @@ import java.util.SortedMap; import org.gcube.accounting.analytics.Info; import org.gcube.accounting.analytics.NumberedFilter; import org.gcube.accounting.datamodel.aggregation.AggregatedJobUsageRecord; +import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord; import org.gcube.portlets.admin.accountingmanager.shared.data.FilterValue; import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesJob; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesService; import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobData; import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobDataTop; import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobTop; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.service.SeriesServiceData; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.service.SeriesServiceDataTop; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.service.SeriesServiceTop; import org.gcube.portlets.admin.accountingmanager.shared.exception.ServiceException; import org.json.JSONObject; import org.slf4j.Logger; @@ -43,8 +48,10 @@ public class SeriesResponse4JobTop extends SeriesResponseBuilder { try { if (topSM == null || topSM.isEmpty()) { logger.error("Error creating series for job accounting: No data available!"); - throw new ServiceException("No data available!"); + throw new ServiceException( + "No data available!"); } + ArrayList seriesJobDataTopList = new ArrayList<>(); @@ -54,18 +61,19 @@ public class SeriesResponse4JobTop extends SeriesResponseBuilder { SortedMap infos = topSM.get(topValue); for (Info info : infos.values()) { JSONObject jso = info.getValue(); - // Long duration = - // jso.getLong(AggregatedJobUsageRecord.DURATION); + Long duration = jso + .getLong(AggregatedServiceUsageRecord.DURATION); Long operationCount = jso - .getLong(AggregatedJobUsageRecord.OPERATION_COUNT); - // Long maxInvocationTime = - // jso.getLong(AggregatedJobUsageRecord.MAX_INVOCATION_TIME); - // Long minInvocationTime = - // jso.getLong(AggregatedJobUsageRecord.MIN_INVOCATION_TIME); + .getLong(AggregatedServiceUsageRecord.OPERATION_COUNT); + Long maxInvocationTime = jso + .getLong(AggregatedServiceUsageRecord.MAX_INVOCATION_TIME); + Long minInvocationTime = jso + .getLong(AggregatedServiceUsageRecord.MIN_INVOCATION_TIME); + + series.add(new SeriesJobData(info.getCalendar() + .getTime(), operationCount, duration, + maxInvocationTime, minInvocationTime)); - series.add(new SeriesJobData(info.getCalendar().getTime(), - operationCount, operationCount, operationCount, - operationCount)); } SeriesJobDataTop seriesJobDataTop = new SeriesJobDataTop( new FilterValue(topValue.getValue()), series); @@ -73,11 +81,11 @@ public class SeriesResponse4JobTop extends SeriesResponseBuilder { } - SeriesJobTop seriesJobTop = new SeriesJobTop(showOthers, topNumber, + SeriesJobTop seriesJobTop = new SeriesJobTop(showOthers,topNumber, seriesJobDataTopList); - SeriesJob seriesJob = new SeriesJob(seriesJobTop); + SeriesJob seriesService = new SeriesJob(seriesJobTop); - seriesResponseSpec.setSr(seriesJob); + seriesResponseSpec.setSr(seriesService); } catch (Throwable e) { logger.error("Error creating series for job accounting top chart: " diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceBasic.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceBasic.java index 0821e47..7f9ca50 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceBasic.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceBasic.java @@ -26,39 +26,48 @@ public class SeriesResponse4ServiceBasic extends SeriesResponseBuilder { private List infos; public SeriesResponse4ServiceBasic(List infos) { - this.infos=infos; + this.infos = infos; } @Override public void buildSeriesResponse() throws ServiceException { try { - if(infos.size()<=0){ + if (infos.size() <= 0) { logger.error("Error creating series for service accounting: No data available!"); throw new ServiceException("No data available!"); } - - ArrayList series=new ArrayList(); + + ArrayList series = new ArrayList(); for (Info info : infos) { JSONObject jso = info.getValue(); - Long duration = jso.getLong(AggregatedServiceUsageRecord.DURATION); + Long duration = jso + .getLong(AggregatedServiceUsageRecord.DURATION); Long operationCount = jso .getLong(AggregatedServiceUsageRecord.OPERATION_COUNT); - Long maxInvocationTime = jso.getLong(AggregatedServiceUsageRecord.MAX_INVOCATION_TIME); - Long minInvocationTime = jso.getLong(AggregatedServiceUsageRecord.MIN_INVOCATION_TIME); - - series.add(new SeriesServiceData(info.getCalendar().getTime(), operationCount, duration, maxInvocationTime, minInvocationTime)); - + Long maxInvocationTime = jso + .getLong(AggregatedServiceUsageRecord.MAX_INVOCATION_TIME); + Long minInvocationTime = jso + .getLong(AggregatedServiceUsageRecord.MIN_INVOCATION_TIME); + + series.add(new SeriesServiceData(info.getCalendar().getTime(), + operationCount, duration, maxInvocationTime, + minInvocationTime)); + } - SeriesServiceBasic seriesServiceBasic=new SeriesServiceBasic(series); - + SeriesServiceBasic seriesServiceBasic = new SeriesServiceBasic( + series); + SeriesService seriesService = new SeriesService(seriesServiceBasic); seriesResponseSpec.setSr(seriesService); } catch (Throwable e) { - logger.error("Error creating series for service accounting chart basic: "+e.getLocalizedMessage()); + logger.error("Error creating series for service accounting chart basic: " + + e.getLocalizedMessage()); e.printStackTrace(); - throw new ServiceException("Error creating series for service accounting chart basic: "+e.getLocalizedMessage()); + throw new ServiceException( + "Error creating series for service accounting chart basic: " + + e.getLocalizedMessage()); } } diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceTop.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceTop.java index 8bca0d3..316cce7 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceTop.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/amservice/response/SeriesResponse4ServiceTop.java @@ -33,8 +33,8 @@ public class SeriesResponse4ServiceTop extends SeriesResponseBuilder { public SeriesResponse4ServiceTop(Boolean showOthers, Integer topNumber, SortedMap> topSM) { - this.showOthers=showOthers; - this.topNumber=topNumber; + this.showOthers = showOthers; + this.topNumber = topNumber; this.topSM = topSM; } @@ -43,10 +43,8 @@ public class SeriesResponse4ServiceTop extends SeriesResponseBuilder { try { if (topSM == null || topSM.isEmpty()) { logger.error("Error creating series for service accounting: No data available!"); - throw new ServiceException( - "No data available!"); + throw new ServiceException("No data available!"); } - ArrayList seriesServiceDataTopList = new ArrayList<>(); @@ -76,8 +74,8 @@ public class SeriesResponse4ServiceTop extends SeriesResponseBuilder { } - SeriesServiceTop seriesServiceTop = new SeriesServiceTop(showOthers,topNumber, - seriesServiceDataTopList); + SeriesServiceTop seriesServiceTop = new SeriesServiceTop( + showOthers, topNumber, seriesServiceDataTopList); SeriesService seriesService = new SeriesService(seriesServiceTop); seriesResponseSpec.setSr(seriesService); diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/CSVManager.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/CSVManager.java index f0eb799..d0a7504 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/CSVManager.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/CSVManager.java @@ -11,6 +11,7 @@ import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingDataRow; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingDataModel; +import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Job; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Service; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Storage; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModelBuilder; @@ -62,6 +63,8 @@ public class CSVManager { accountingModelBuilder = new AccountingModel4Storage(accountingStateData); break; case JOB: + accountingModelBuilder = new AccountingModel4Job(accountingStateData); + break; case PORTLET: case TASK: default: @@ -157,6 +160,8 @@ public class CSVManager { accountindModelBuilder = new AccountingModel4Storage(accountingStateData); break; case JOB: + accountindModelBuilder = new AccountingModel4Job(accountingStateData); + break; case PORTLET: case TASK: default: diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/JSONManager.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/JSONManager.java index d0d72d4..2185288 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/JSONManager.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/JSONManager.java @@ -10,6 +10,7 @@ import java.nio.file.StandardOpenOption; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingDataModel; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingDataRow; +import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Job; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Service; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Storage; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModelBuilder; @@ -66,6 +67,9 @@ public class JSONManager { accountingStateData); break; case JOB: + accountingModelBuilder = new AccountingModel4Job( + accountingStateData); + break; case PORTLET: case TASK: default: @@ -174,6 +178,9 @@ public class JSONManager { accountingStateData); break; case JOB: + accountingModelBuilder = new AccountingModel4Job( + accountingStateData); + break; case PORTLET: case TASK: default: diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/XMLManager.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/XMLManager.java index 943db60..1895a77 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/XMLManager.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/XMLManager.java @@ -9,6 +9,7 @@ import java.nio.file.Path; import java.nio.file.StandardOpenOption; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingDataModel; +import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Job; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Service; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModel4Storage; import org.gcube.portlets.admin.accountingmanager.server.export.model.AccountingModelBuilder; @@ -63,6 +64,9 @@ public class XMLManager { accountingStateData); break; case JOB: + accountingModelBuilder = new AccountingModel4Job( + accountingStateData); + break; case PORTLET: case TASK: default: @@ -157,6 +161,8 @@ public class XMLManager { accountingStateData); break; case JOB: + accountingModelBuilder = new AccountingModel4Job( + accountingStateData); case PORTLET: case TASK: default: diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/model/AccountingModel4Job.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/model/AccountingModel4Job.java new file mode 100644 index 0000000..564b155 --- /dev/null +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/export/model/AccountingModel4Job.java @@ -0,0 +1,150 @@ +package org.gcube.portlets.admin.accountingmanager.server.export.model; + +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Arrays; + +import org.gcube.portlets.admin.accountingmanager.server.state.AccountingStateData; +import org.gcube.portlets.admin.accountingmanager.shared.data.FilterValue; +import org.gcube.portlets.admin.accountingmanager.shared.data.query.SeriesRequest; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesJob; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.SeriesResponse; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobBasic; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobData; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobDataTop; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobDefinition; +import org.gcube.portlets.admin.accountingmanager.shared.data.response.job.SeriesJobTop; +import org.gcube.portlets.admin.accountingmanager.shared.exception.ServiceException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Accounting Model 4 Job + * + * @author "Giancarlo Panichi" email: g.panichi@isti.cnr.it + * + */ +public class AccountingModel4Job extends AccountingModelBuilder { + protected static Logger logger = LoggerFactory + .getLogger(AccountingModel4Job.class); + private AccountingStateData accountingStateData; + + public AccountingModel4Job(AccountingStateData accountingStateData) { + this.accountingStateData = accountingStateData; + } + + @Override + public void buildOpEx() throws ServiceException { + SeriesRequest seriesRequest = accountingStateData.getSeriesRequest(); + + if (seriesRequest == null) { + logger.error("Error series request is null"); + throw new ServiceException( + "Error series request is null"); + + } + + String startDate=""; + try { + startDate = sdfFile.format(sdf.parse(seriesRequest.getAccountingPeriod() + .getStartDate())); + } catch (ParseException e) { + e.printStackTrace(); + } + + String endDate=""; + try { + endDate = sdfFile.format(sdf.parse(seriesRequest.getAccountingPeriod() + .getEndDate())); + } catch (ParseException e) { + e.printStackTrace(); + } + String periodType = seriesRequest.getAccountingPeriod().getPeriod() + .getLabel(); + + SeriesResponse seriesResponse = accountingStateData.getSeriesResponse(); + + if (seriesResponse == null) { + logger.error("Error series response is null"); + throw new ServiceException( + "Error series response is null"); + } + + String fileName = "Untitled"; + ArrayList header; + ArrayList rows = new ArrayList<>(); + if (seriesResponse instanceof SeriesJob) { + SeriesJob seriesService = (SeriesJob) seriesResponse; + SeriesJobDefinition definition = seriesService + .getSeriesJobDefinition(); + if (definition instanceof SeriesJobBasic) { + SeriesJobBasic seriesJobBasic = (SeriesJobBasic) definition; + fileName = "Job_" + periodType + "_" + startDate + "_" + + endDate; + header = new ArrayList<>(Arrays.asList(new String[] { "Date", + "Operation Count", "Duration", "Max Invocation", + "Min Invocation" })); + ArrayList listData = seriesJobBasic + .getSeries(); + for (SeriesJobData seriesData : listData) { + ArrayList data = new ArrayList<>(); + data.add(sdfCSVDate.format(seriesData.getDate())); + data.add(String.valueOf(seriesData.getOperationCount())); + data.add(String.valueOf(seriesData.getDuration())); + data.add(String.valueOf(seriesData.getMaxInvocationTime())); + data.add(String.valueOf(seriesData.getMinInvocationTime())); + AccountingDataRow csvDataRow = new AccountingDataRow(data); + rows.add(csvDataRow); + } + } else { + if (definition instanceof SeriesJobTop) { + SeriesJobTop seriesJobTop = (SeriesJobTop) definition; + fileName = "JobTop_" + periodType + "_" + startDate + + "_" + endDate; + header = new ArrayList<>(Arrays.asList(new String[] { + "Value", "Date", "Operation Count", "Duration", + "Max Invocation", "Min Invocation" })); + ArrayList listDataTop = seriesJobTop + .getSeriesJobDataTopList(); + for (SeriesJobDataTop seriesDataTop : listDataTop) { + FilterValue filterValue = seriesDataTop + .getFilterValue(); + ArrayList listData = seriesDataTop + .getSeries(); + for (SeriesJobData seriesData : listData) { + ArrayList data = new ArrayList<>(); + data.add(filterValue.getValue()); + data.add(sdfCSVDate.format(seriesData.getDate())); + data.add(String.valueOf(seriesData + .getOperationCount())); + data.add(String.valueOf(seriesData.getDuration())); + data.add(String.valueOf(seriesData + .getMaxInvocationTime())); + data.add(String.valueOf(seriesData + .getMinInvocationTime())); + AccountingDataRow csvDataRow = new AccountingDataRow(data); + rows.add(csvDataRow); + } + } + } else { + logger.error("Unsupported Serie Definition for Job: " + + definition); + throw new ServiceException( + "Unsupported Serie Definition for Job: " + + definition); + } + } + } else { + logger.error("Job not support this serie response: " + + seriesResponse); + throw new ServiceException( + "Job not support this serie response: " + + seriesResponse); + } + + AccountingDataModel invocation = new AccountingDataModel(fileName, header, rows); + accountingModelSpec.setOp(invocation); + + } +} diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/shared/Constants.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/shared/Constants.java index ebf9e31..397f980 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/shared/Constants.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/shared/Constants.java @@ -14,13 +14,8 @@ public class Constants { public static final String AM_LANG_COOKIE = "AMLangCookie"; public static final String AM_LANG = "AMLang"; public static final String DEFAULT_USER = "giancarlo.panichi"; - //public final static String DEFAULT_USER = "test.user"; - //public final static String DEFAULT_SCOPE = "/gcube/devNext"; - //public final static String DEFAULT_SCOPE = "/gcube/devsec/devVRE"; - - //public final static String DEFAULT_SCOPE = "/gcube/devNext/NextNext"; - - public static final String DEFAULT_SCOPE = "/gcube"; + public final static String DEFAULT_SCOPE = "/gcube/devNext"; + public final static String DEFAULT_TOKEN = "16e65d4f-11e0-4e4a-84b9-351688fccc12-98187548"; public static final String DEFAULT_ROLE = "OrganizationMember"; public static final String EXPORT_SERVLET="ExportServlet"; diff --git a/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_128.png b/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_128.png index f798abccc1f8c1bcef04a3d1b489b90a66963e51..2939ef9824ef0e41c5da176d72888633c07aaa3b 100644 GIT binary patch delta 3333 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 diff --git a/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_24.png b/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_24.png index 326b22c6a7b60adf496775d35e2d487a17566eee..5ef62f3af28f9838fb250617adf27c319a6f76f2 100644 GIT binary patch delta 867 zcmV-p1DyQ(2&xB=RDTRQ16@?6t^fc7H%UZ6R7l6YmcL75OBBaH=O*{&7bJl|Bq$PD zh;>**5K{OG!K7FaA3_kp*9raumdkE$BiOB-&13BrQaw8x!5@{4fh#On84`_oSI2wL zD_#;3jXamf?zfsdXXZOI-}&Bi1_q$2gYC4czE{-`s(PX?aevZ{y;s%rD2`X5s+Ctr zU&D#2R{o0=RdrPLi>h|?$I;K1RRdrs-)m>dxHFzu2)zy_6V+Ol= zbH9wz{D)-u`t_?WEiGxiUVlxl3V_vhz$YNa8{xVx`}_M83I&qMDfp>JhtU>TL=?@MLbYWpZkB^UE9W%i7K~(jm zcY@8$O%4wav2A;#jpyd(I6psUd3l+mqa*6|`j9-v80P2a+1c6Yb)ANL0 z8^f}!A#xGn{{EheiwkCFXPKU!#u!7fIIL_C1WZm&Vt`8rBb0*t6^CdK@jxg;c%Gs^>y<3JgHQwuR^#tz_x8NnGD7lJkR6i z<^~bLvMe4SA1M}#tgNiCwY5bunFJsd3K0YWs!Ar4VSId?OeQmQ>DF^8VzC(Uc$^>z zC=?1*tAABGoepPbXIx%hvbwt3cT=@mrBEmk1Of4QoLDUO!ci7*`do@^HjD539r|M>#nrJE}L>e*FQX|-DH?(R~n)d+{f7-O(3i%=*8 zfbaVRL4a-B7-LvmTx4TogH$Rtcn7DzZ_-P4z@NQ*%hJ1-PGCHNq;C5;^W7UxZQ3EdpqBO$Y(}9+4i=@+Oj*gCKZEdBerw6as+ekE^Hqsp*AG5NuLL?Hw<#M6xI)Oj{!!U?O zqik<)v%S4dG#bS)3<7}wx~}7Lxrjs}tgNhXe0>7&l8Kq*xlVl(==9BSDBicB9qAgFf=s8 zr%#_)Uth44yy}iA(x3|~Z892~^SHPbDnx@K+t}FP{QMlh z-+vE4JRT<;4x?!rmSy4bco-fY#^rKd@1j??3N4q*@$A_%dV71RR;$>yjcwaaN>)`B zRaMb-oqRseyLa#C@9)1MG!;nKWL>v%xs1=}!!%8T!5|Y86X?2*rfF!JhOX;OOiU0A z1~E+&pU+3RT)qx|0Hl?M%kB@r18{bB#(&}AAr}`H3=9k)BJAw!kVqr|c=F^4b8~Yj zio)m5pXu!E#P9dh-QDeg{|)@AC`w$fsW&bnZ-CzbF$_Z)8ymy6ZQO1*mSs^a7D*

eNhXH|iTjQR3e{aBSO_TrMZESWIHEnB;Ofv2FW@2QSVy wM`oo`5z{oqG)<{gD&Idc|F@z4U;VcH1D^oA)hZpp?EnA(07*qoM6N<$f-FrE@&Et; diff --git a/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_32.png b/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_32.png index 7bd40f1187f40ddd1e9ee3f93c3b8e7cd05e1371..bf24ddc421e25e87fbd91894cf28a1e922f51c7a 100644 GIT binary patch delta 1148 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 diff --git a/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_48.png b/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-job_48.png index d2fcd7751d9d0ef5353bb56bda6b1d280afdd9c0..bb34e8e3144a34b2ee1d9d71025712844a554107 100644 GIT binary patch delta 1966 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 TrScf!00000NkvXXu0mjf*kN$O diff --git a/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-task_128.png b/src/main/resources/org/gcube/portlets/admin/accountingmanager/client/resource/accounting-task_128.png index 2939ef9824ef0e41c5da176d72888633c07aaa3b..f798abccc1f8c1bcef04a3d1b489b90a66963e51 100644 GIT binary patch delta 4495 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 delta 3333 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 delta 867 zcmV-p1DyQ(2&xB=RDTRQ16@?6t^fc7H%UZ6R7l6YmcL75OBBaH=O*{&7bJl|Bq$PD zh;>**5K{OG!K7FaA3_kp*9raumdkE$BiOB-&13BrQaw8x!5@{4fh#On84`_oSI2wL zD_#;3jXamf?zfsdXXZOI-}&Bi1_q$2gYC4czE{-`s(PX?aevZ{y;s%rD2`X5s+Ctr zU&D#2R{o0=RdrPLi>h|?$I;K1RRdrs-)m>dxHFzu2)zy_6V+Ol= zbH9wz{D)-u`t_?WEiGxiUVlxl3V_vhz$YNa8{xVx`}_M83I&qMDfp>JhtU>TL=?@MLbYWpZkB^UE9W%i7K~(jm zcY@8$O%4wav2A;#jpyd(I6psUd3l+mqa*6|`j9-v80P2a+1c6Yb)ANL0 z8^f}!A#xGn{{EheiwkCFXPKU!#u!7fIIL_C1WZm&Vt`8rBb0*t6^CdK@jxg;c%Gs^>y<3JgHQwuR^#tz_x8NnGD7lJkR6i z<^~bLvMe4SA1M}#tgNiCwY5bunFJsd3K0YWs!Ar4VSId?OeQmQ>DF^8VzC(Uc$^>z zC=?1*tAABGoepPbXIx%hvbwt3cT=@mrBEmk1Of4QoLDUO!ci7*`do@^HjD539r|M>#nrJE}L>e*FQX|-DH?(R~n)d+{f7-O(3i%=*8 zfbaVRL4a-B7-LvmTx4TogH$Rtcn7DzZ_-P4z@NQ*{^x)1g@3P@h9WS(+;D4up?`y}tX0KnrCY#NY&1QM^>eXQ>rUBo3oB+^j((!koy>UgkTxMx$ zsjgJEZIe!?F-;TGGmDrFLm)iE_Ez3`F~0EJOt5r5^ZO<4oJOxpU_ZD=RCs zx3@DhGlNo!`}gltC=~pFN+}|d2sdurKt#BE_b#74eSadEOmgeiErP*dGa!FaO5Ig^ zg7I%4(MZbY&!3Y@rHDi#KcQ6$0M~WVwE9Zbj(Kwng#xp)vs}J>*z<0pu zMsKB3A(>3>3+@HbbsfVn0H{{0IF94{l~RZZkw}CK7cNk#RA^~wX$)~1_|Dj?$-W$E zn#S(#E`O7glRSCyr0!4q`uaF~_AKFW7=WFf9oE;^dHeRQp9Q59larI!woND$YF2_E z&~5;;&Ahs<6Ap)oMx%AXlgT6_BO|o6wfP$ti$%_yIYTfQWMyT=2N8`%35Ubzx_(es z%o@N@GmlaV!!Ssv(})O;I(%hB4}itDGtG{PM8elb&X=7u9bUMxW_&Bz0qm;t3ECvS$>F(~Pv$K2#WnjSXDaZ3JLxjm*#Ga->oz=I7@L1Ok4m zwSTm<(ACvNBobkLeVw_vIYOZjp-_mqxjEL?*NH?Tbai$4gcA`0fdKRK^Q2NKa=F|- z8QurLw(X{E1`rGeQA)A1vs0JW+OcLmuW1^t>+TaPn#rzZS&WU1F)%PdrBd<7tJSK% zK~GN)qobpgN+n9A5~HJ|^z`)jKTxe!>wnsLU|@i;u`w*m+6T@6N*)iCQiMVw1_lP` z>FMF(#fv<6@BrJkDHe+?FE5iwB(N-tt5>gb{P=MI&Ye4lWmy=8!SeDl#bOb|FbD>N zT)%#u_V#u9=p+9s=SX0Mj%H27^SSQ7p@%wY8PCwKa5I=iR$^h<^yl zWYXuv$&)9E#bQLGQ64^g$kV4!F-;St6k}s!^!4>|;=~Es+S>dQ*4T3cNCAJUt*2#K zn5OA#fuAnJ;PK*MhZz|eY075HvKSc|VR(2LP1CS#o8I1D;_-N0SJc>#N~x0a(2B?lV1L;2I*!BE z))w#Izh`xImGkG%``VDt=ec+9UR?=p-n{9b8?Ni}=FJ=W`}>K<<8*X%G;-iyN~u5k z7m}JQ*?+uSk%&+(m)YLl_EX&2+KPy_W*DjyYO)8j00000NkvXXu0mjfJ{uZs delta 1148 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 TrScf!00000NkvXXu0mjf*kN$O delta 1966 zcmV;f2T}Ni7VHm@RDTRPAk-d&9{>Occ}YY;RA}Dan#*fcTNa1EeV$d7N|lugNepDr z5FCU=Ou!&$EYM&SM-3MQLC|Rr9QX$~xpN2I*f_cW+6Q(?B7ai)?21UIh;)g_brJbp z8q@E^Z@Y@TZnd%Zg!~CaBq1Wdh{%6LWJ$iAmWpHiA|i=BQ=-D^S4HHjh-BsaQMNed z)$i_&6008+ktx}Gni7$Ne^`kMt6wf!=+C0BB67JIZ>R=Jgn=nw2r&6`NdsvhrIgyL z^^s8rGBMx|aDVtO5T4?khk-jqS(=BGh=fJtq5L@Xu!x5G5E2oTQi#ZOQTrc>UMr=B zeHnK^s6_b7Ma=J6EfEpkzkkon%nbQ_zFBAtiOA)mj5P;8xR=?+^E?p|dG+d*q*5t4 zd-klP(`m`)^TE3&veUsGL0qEIzkv8&Szc?++}s@3uYX@Bkw}ouW-(23H(rPrWemPI zN}zKUIKF2&QEM`p3^#AyWOa2F5#i*?lSHFYwAQ;RTE|7?st+Zj_>cgu?4|IAVQ}x> zJ*KCpF${xbGRd)H$FOZ1!!XJMvkAH)A_=8b5X2{e&|V1dc^*nBo;-QN?c2ABL?Uc% zZgT$od4H10B;jxv%d&Q>K&U7)MsYcN4siDh_wU}lV|;uZ!!XcVbMD+Z+S=NP$KymI z5lqwEtpYA^PDES_*aw_wW=-@h(An77V0?U>t*tE#!{E@NL-h6akw_$HZEX!8RBN6( zik$%VS;b=3R;{2l7@#Q+q|<5Mym^D;IJmCM*nij<9UUFCwY3qAMllSd>9HzgX#}>$-gY z{273ro*ssWhq-m@77Ggtl|s~|a5zjVm12E;otBoCO5P(%DtwsB<;Y|*EG;duva-VZ z`uc7Q4YRYeJbn5U*L8_Tqg=RffkYxfD1Q_po6WMZu|Ync$Md|pUNlXUXf#S9ksz5& z(%RaJ<2YsCSvwZtrWs7EwZ^t>GMNl7Uc6{%InVRhw{IV_v$L3{iDg-gjEwN*%NO3h zeT!0xd_GU1P^c@s)|!!#5n5YY35UahN2|@hLjl7ua9x*pJWe^ z3&SvidpsVeudj~}A3ih`BA?IG-``Jve?Nv{aO1`e*4EZ`l`i}G`iRHlw6wGk3WWkW zs?BZH!=Dc+(=>_2VmrR`q2MbEV1HQ_j~_oK7K^dGyv(Ohp9qJ;P4SkdPJdp@vg$(D zs%H(uFak&=5{a^6qO~TKN|8(^Sz21+`Sa(Prioz~%*@Pi;J^V+oH)Vo@G#GwJuCBG zEneRPi9`a|b%Xiq%GhvcU9>`HXJ=XN)><<#FhEyV7Xt$WXsydUxPSkCI)6Gkf~zt} zYw_B)O=o9kL(7+X;8kTUC>6waad&q&wrvNKi3rJL63enE6be<-tRH}tMXMgKZQFEr zch|*z3B9t4y_X~PU}RYqJv}`*jzcz^EyJqgIOKAV!!2JAt znKf(i`bE>XejN{N1HUPywv~Ti0sOaCOGRtV=H@1gi;GN5Oz`^kYh2f5dwV-5My~7b z;PC_0ahx3~v66Rtdz-_D4|DP2McUijgRN!_S_S^5lv?rIDl5RXMsZ-4uLd=|@pJv`QO6s9`R_LW1G}97m!cDEq5uE@07*qoM6N<$g7