From 09c7dd64d38ad87dee57bc8f8836777a7e6befd0 Mon Sep 17 00:00:00 2001 From: gotty <gotty@fb0bcced-7025-49ed-a12f-f98bce993226> Date: Wed, 12 Jul 2017 12:32:13 +0000 Subject: [PATCH] [LIB-8] Add EventFormat to the Event entity git-svn-id: https://svn.hedgecode.org/lib/snooker-score-api/trunk@131 fb0bcced-7025-49ed-a12f-f98bce993226 --- src/main/java/org/hedgecode/snooker/api/Event.java | 2 + .../org/hedgecode/snooker/api/EventFormat.java | 56 +++++++++++++++++++++ .../java/org/hedgecode/snooker/json/JsonEvent.java | 10 ++++ .../org/hedgecode/snooker/json/JsonEventTest.java | 1 + .../org/hedgecode/snooker/json/JsonEventTest.ser | Bin 1185 -> 1241 bytes .../org/hedgecode/snooker/json/JsonEventsTest.ser | Bin 25544 -> 25676 bytes 6 files changed, 69 insertions(+) create mode 100644 src/main/java/org/hedgecode/snooker/api/EventFormat.java diff --git a/src/main/java/org/hedgecode/snooker/api/Event.java b/src/main/java/org/hedgecode/snooker/api/Event.java index 45b50b5..b3fdb68 100644 --- a/src/main/java/org/hedgecode/snooker/api/Event.java +++ b/src/main/java/org/hedgecode/snooker/api/Event.java @@ -77,6 +77,8 @@ public interface Event extends IdEntity { int format(); + EventFormat formatType(); + String twitter(); String hashTag(); diff --git a/src/main/java/org/hedgecode/snooker/api/EventFormat.java b/src/main/java/org/hedgecode/snooker/api/EventFormat.java new file mode 100644 index 0000000..37cfdb8 --- /dev/null +++ b/src/main/java/org/hedgecode/snooker/api/EventFormat.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2017. Developed by Hedgecode. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.hedgecode.snooker.api; + +/** + * Formats of the Snooker's Event Entity. + * + * @author Dmitry Samoshin aka gotty + */ +public enum EventFormat { + + UNKNOWN ( 0, "Unknown" ), + CUP ( 1, "Cup" ), + ROUND ( 2, "Round-robin" ), + ROUND_CUP ( 3, "Round-robin followed by cup" ), + PYRAMID ( 4, "Pyramid" ); + + private int number; + private String desc; + + EventFormat(int number, String desc) { + this.number = number; + this.desc = desc; + } + + public int number() { + return number; + } + + public String desc() { + return desc; + } + + public static EventFormat byNumber(int number) { + for (EventFormat type : EventFormat.values()) { + if (type.number() == number) + return type; + } + return EventFormat.UNKNOWN; + } + +} diff --git a/src/main/java/org/hedgecode/snooker/json/JsonEvent.java b/src/main/java/org/hedgecode/snooker/json/JsonEvent.java index 348d1a5..0ba62ab 100644 --- a/src/main/java/org/hedgecode/snooker/json/JsonEvent.java +++ b/src/main/java/org/hedgecode/snooker/json/JsonEvent.java @@ -22,6 +22,7 @@ import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; import org.hedgecode.snooker.api.Event; +import org.hedgecode.snooker.api.EventFormat; import org.hedgecode.snooker.api.Season; /** @@ -85,6 +86,8 @@ public class JsonEvent extends JsonIdEntity implements Event { private boolean team; @SerializedName("Format") private int format; + @Expose + private EventFormat formatType; @SerializedName("Twitter") private String twitter; @SerializedName("HashTag") @@ -259,6 +262,13 @@ public class JsonEvent extends JsonIdEntity implements Event { } @Override + public EventFormat formatType() { + if (formatType == null) + formatType = EventFormat.byNumber(format); + return formatType; + } + + @Override public String twitter() { return twitter; } diff --git a/src/test/java/org/hedgecode/snooker/json/JsonEventTest.java b/src/test/java/org/hedgecode/snooker/json/JsonEventTest.java index 0262013..bdbdf69 100644 --- a/src/test/java/org/hedgecode/snooker/json/JsonEventTest.java +++ b/src/test/java/org/hedgecode/snooker/json/JsonEventTest.java @@ -76,6 +76,7 @@ public class JsonEventTest extends AbstractJsonTest { assertEquals(expected.eventPredictionId(), actual.eventPredictionId()); assertEquals(expected.team(), actual.team()); assertEquals(expected.format(), actual.format()); + assertEquals(expected.formatType(), actual.formatType()); assertEquals(expected.twitter(), actual.twitter()); assertEquals(expected.hashTag(), actual.hashTag()); assertEquals(expected.conversionRate(), actual.conversionRate(), 0.001); diff --git a/src/test/resources/org/hedgecode/snooker/json/JsonEventTest.ser b/src/test/resources/org/hedgecode/snooker/json/JsonEventTest.ser index 3723494f3e68c78fe2218ea1c974b7ec020b77bc..356fb15588794e7bf56dfb537646890ee12044bf 100644 GIT binary patch delta 79 zcmZ3;d6RR34!4cdgvsgiwjN<((A;Pq$H>Q(mS2>cSQ1iMkXpi^K6xXf0-GCHWb-7( hLPidUYZ{gdm@X@C=4R$*WGt90#^TG!J2{2L763N{7~}u| delta 51 zcmV-30L=f{384v)EDL<O5g3?FvZ?|AD6uzQ0kg~jZUG3c)Ye^=88=h2LIVo{lTHLp J0SuFz1U=W85c~iD diff --git a/src/test/resources/org/hedgecode/snooker/json/JsonEventsTest.ser b/src/test/resources/org/hedgecode/snooker/json/JsonEventsTest.ser index 4877309bebe10ab40a95ccaeb5a3c7846509aee2..3d5f9b4253adb1d67501b939930bbb8c627b0c9d 100644 GIT binary patch delta 2456 zcmZveZA?>V6vum=LP1Ik0&Nk5QiNJ4;;0}<vAkC)6e{$UQqZWVsHio}1Qlag$TlPM zu#H9IV9J6Uo0!gIS&R~ODhoQYIilI3ZqE6#8DF-=Epv0vxxLTLV($mO{D0^C&vVZ? z&qFU>U?wgyy*lx+M`d=yv!7evT$n4)7`>dA7oia!->P6{7MAqFnnNefO%u)Yzs)o; zk>RU1ZQ0P`tKZ(f$|p((*-ObG6|CZaJZ&>0Hcn~s2c~_ahIP|FX4*kMqlA(BT{A)$ ziM&HB5-|;ua}iyyv_o4+DI<r`kh4@*$j+g@E3_h<i;TYC3Uvwba4+;44caCB9fK~5 z&BS$fSQ_s-VR0a+4lgEPUpPa7&2Yeo;NZ*(0&dMz@!-;>S_Co)o}*qe!j-U{auuRp zEY(4Nq=_(9bP<e2ZVTeuIQEA$nCalKjOJ>ig!t8{0QU#^>OeA!=Jw4J%FV5k!VYOB z?1+(YXBdwWitC7_KL5t@{A^c0{l1Yn%5&t~6oIbW0)6p`rq`OxrR_dZJnWXm!!@~< zEfos|_9(wr5zqJW&fWy{t5vSz=4QJZFD7%7!<6y__i=W{d>4bBCl|rD@tMSFG-WXu zX7>s3>)ByouZ)D7YB3Zf;0I#to`m4oL@*{UXL&Mwnn)Y@|5{#s7<@iQ&3P!3f<21h zX%an;H#wNE<8p^o!K?`Oqy%!m68MgBb%3csnL0$d?DVrh9}?kCY7K4JQ&Bdk3gi3@ zb8~20?Vjh&fwm^VXqtoUZdkg6ha0x|5T<A<30SA$FPFXZb`OHic^#a$eM|o&JB%3Z zU3!QQ6s;H}&cNn1X1q`JfhX+E{9%CxI%1`;Q9n1b+$R$GL`>b*&7z$mISlH}FqXMi zAi<*}7mww?=!AGr7UgmCg?O4}Hdu0$aA!VF9P1Qk3&mZ}rao;8g85o5_nnu6nFjPZ zH1|x75clc{_Ydm%$HUHb>XU^Q)|g#>&?>V0*4%W4yD;`IQ-3AxB#k0}5#<}#w1KK5 z7KZY&8TsL<JUTN+w1IuPI_D(;lV45zEcyR%jdUzXW$%!qfZRv_V1blRYRDeIQJq}u zCO}cx!h@YFyAX66+6Z`JQ1jq?C%XZvCDyROg?99eLR5Mj>|gRDEqAl99+SI_R&Gli zljBC*68~?;aO&iYe5)6u!b+^<u#F`rxol_i-|WMwtXv4r(p18BmfoXmy-AEY$cD@8 zjC_ANkGeyzP^7KEG)u)Pnzpb0jR13U2Xela#a;=JH73Hb%2pcq?qC@PCNG^s9%m`k znv}%ITU87nndn5Fd<=Q<SvI^>D8FEthT}(;3Gv*j06!{FJ8(TBpxTVviuDhgU-Xbw z)B63@FETv8wuaX4s}bU97UUMohqV5o3+yh;sI6gZ;xfkgchpYj2X^L4DmG_t9d6fm zb;oJq_wWeyeyfe>53Tn(-4*^I6ZPB6$twc7`T?qE{WXgEwR#uP^$onfJVcNB%?2aU zRW{lfSM`mns88AOU~}zXQy-5NF9y2|iySy{kAqI!wdTDelr=hS+|*qwwwv%FWT*bn zxt<zzM1O|Ct6g4Va^Cd?)pvW_smX*J3p{oYQ}+6Z2H8+!Gc|v;dxAAjDmTFf&n6mp zAc_5df7fFm25C*SYp&B7V`y-zse$PEUf%fDB6bBIcs)d~YCg~TxHIa^7@yd(nCQ+H r`lars$)8YHuRx#eE9mbX_t;VPqf9H8aR+p7Ed3L1<i*1AmGb`pXBX}; delta 2354 zcmZvedr(w$6vw$Hu#3BZJeEb?xhe{5AfPC)yq_&Bu&_^-1s@}3VOoq<rsxD?Q3G|# z!C?lmd?Zq&TQe}@1C&85m>7rBMw`fR(lJNJ7^)GpbMM}Bo8bQY{d~{s_dCD4J2K1+ zUtwBfB-+xZ4BPa+nGX}!NZJ(Y;l{nw56--%WESn|TdZs=I@`6tCDL(-sbU;a&($%K zFUNnh9SU5lhocL>0G(^5hhmq+#f2%KT9^){s{-L`*GZXEs*n%L8g|2Rw=6~h_uMX% ztn?m4xz9b9QG6tsA$6bE6sl6GmQgqi(&Y^4BRUi6?|NjQ{+$Oyx*@ea9rd3UVHQWY zEJDynM@vvImS^#e8T#TU;MX)i=#jVZISm&qDd^en6$86H^Rc-BPsdzT&&e7{^sb+a zVqntS8Kr@3i$(AfAHqj{L~w~O;p@I4xXF*O++PHr^Cz685b))OHh!R!g<fFyjfR*2 zIX}T00fNnWHctX{9P)QmE2D&S`~8DpOwks&8QIgoANZk-jP@?d6H8t~c}I9MGzEP; z7inN~a5RrcgXiH8Xb#bHI2@jZ&_N4{H82}W(VN5OMQb2C+=;)RU$;4eBL9pKiJVYN z;pX#8`PSAi6|u--rEoRN6Jk~VoNXy=RUM~7-WO-M*+U>{Suw5CUoNq*BS+ylu`Hg> z&S-m9&7EB^ELdT}eYCES3+$DhuOq9E%tQTrq?@4cxpNTpv6Z_}&tD}G^b^Wj)NN7h zk)4V9lzQoW%)X`S=&dLh$7(?lvvn?tgysk-oR3N3EtzT&%Y+&q5|^Rw1raQZb>eUS zpWHi+>JG(;L~UA4NguBk!L9LxLlZ>sY^W4k{M_K7dKo-Qz_oQeO%UF>(Rm)SHMp~m z$~A8Z=k%@W4?K{`wI%$;7*A^k@tymFKIt~!yvZk({ickq41=0=ML2fPx>-VTDt6ub z*5~u#rr`IwVIVgMmM7mQPep7edO}mISo+PB8Y*qtyRiZFyQwczto>~h`-ySv)Cl)$ z8rs9&Z(~{+qxkGbnh-mYQjYSSbd()Q8LLP)dw$Z2`u5B+%K5OTmK$dxvxD!)T>XUo zv{mIMLVuQu_nEEZQ@D>+pv^u&zHRvu-shcT#Ib90?h$HqALo!6<=)&2B)62m&qws; zsSy2~cZ|^CquGcWibA0~KN8V^E&~(=bdBc!a906gzrx!2(I*QDFMd%3H~D$t0?44% z=nnlwZhRq6t%&ttbkH2zqM~^={8`{yl@!lIq0nATy}0T`aGTDFyJ(7zE9@fdE-B`c z`a5owD20o=G_FF%l(GAzD?39Wx8M=Va=n4>X*B#6{yr+9QGb>9SUes?qsLmFN1kc@ zIquE}%IPjG>VLjMPf3LZ)1R*Bq)@$E0?H;sI?9I)r${dP<p#<+Bim?)@fyjtGWM;o zi*wdQi(@fGx8lObgRfaAw&ln%-gn(>z!YlBNlLNHrx(#}i=FS)f?js#!EXJWJp1jh z^5F%Q>=xBk3aGg|l0!;Jw$YQbG&PQJt9#$Jol>-ivA@h)s#2*;>$P{dGMB38>utFh z)sLQy_6jV~XBSHRmc%Y<U9}D6k?J8nqcy5ji}I10WR!2#(8gP<#wJldv4Kr8vw{Ab YSo=@0V~%Vr<m+4Ovi|0-Bym%~zw4ph`2YX_ -- 2.10.0