From b8b3769a2fbca58032ecebd5e33daf7f419ada3c Mon Sep 17 00:00:00 2001 From: ilysko Date: Thu, 7 Sep 2017 15:57:30 +0300 Subject: [PATCH 01/29] Same lecture02 example for Netbeans --- build.xml | 73 + build/classes/.netbeans_automatic_build | 0 build/classes/.netbeans_update_resources | 0 .../lectures/lecture02/BoxingExample.class | Bin 0 -> 1298 bytes .../lecture02/BreakAndContinueExample.class | Bin 0 -> 1211 bytes .../lecture02/CalculatorExample.class | Bin 0 -> 1100 bytes .../lectures/lecture02/CommentsExample.class | Bin 0 -> 623 bytes .../ConstructorExample$Rectangular.class | Bin 0 -> 603 bytes .../lecture02/ConstructorExample.class | Bin 0 -> 562 bytes .../lecture02/ForAndForEachExample.class | Bin 0 -> 1055 bytes .../IfElseAndSwitchCaseExample.class | Bin 0 -> 883 bytes .../caf82/lectures/lecture02/LinkTypes.class | Bin 0 -> 1578 bytes .../lectures/lecture02/OperatorsExample.class | Bin 0 -> 3404 bytes .../lectures/lecture02/PrimitiveTypes.class | Bin 0 -> 1166 bytes .../lectures/lecture02/StringProcessing.class | Bin 0 -> 1627 bytes .../lecture02/WhileAndDoWhileExample.class | Bin 0 -> 941 bytes manifest.mf | 3 + nbproject/build-impl.xml | 1420 +++++++++++++++++ nbproject/genfiles.properties | 8 + nbproject/private/private.properties | 2 + nbproject/private/private.xml | 4 + nbproject/project.properties | 74 + nbproject/project.xml | 15 + .../lectures/lecture02/BoxingExample.java | 26 + .../lecture02/BreakAndContinueExample.java | 44 + .../lectures/lecture02/CalculatorExample.java | 35 + .../lectures/lecture02/CommentsExample.java | 18 + .../lecture02/ConstructorExample.java | 15 + .../lecture02/ForAndForEachExample.java | 17 + .../lecture02/IfElseAndSwitchCaseExample.java | 32 + .../caf82/lectures/lecture02/LinkTypes.java | 32 + .../lectures/lecture02/OperatorsExample.java | 58 + .../lectures/lecture02/PrimitiveTypes.java | 43 + .../lectures/lecture02/StringProcessing.java | 39 + .../lecture02/WhileAndDoWhileExample.java | 20 + 35 files changed, 1978 insertions(+) create mode 100644 build.xml create mode 100644 build/classes/.netbeans_automatic_build create mode 100644 build/classes/.netbeans_update_resources create mode 100644 build/classes/ru/caf82/lectures/lecture02/BoxingExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/BreakAndContinueExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/CalculatorExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/CommentsExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/ConstructorExample$Rectangular.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/ConstructorExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/ForAndForEachExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/LinkTypes.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/OperatorsExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/PrimitiveTypes.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/StringProcessing.class create mode 100644 build/classes/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.class create mode 100644 manifest.mf create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/private/private.properties create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 src/ru/caf82/lectures/lecture02/BoxingExample.java create mode 100644 src/ru/caf82/lectures/lecture02/BreakAndContinueExample.java create mode 100644 src/ru/caf82/lectures/lecture02/CalculatorExample.java create mode 100644 src/ru/caf82/lectures/lecture02/CommentsExample.java create mode 100644 src/ru/caf82/lectures/lecture02/ConstructorExample.java create mode 100644 src/ru/caf82/lectures/lecture02/ForAndForEachExample.java create mode 100644 src/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.java create mode 100644 src/ru/caf82/lectures/lecture02/LinkTypes.java create mode 100644 src/ru/caf82/lectures/lecture02/OperatorsExample.java create mode 100644 src/ru/caf82/lectures/lecture02/PrimitiveTypes.java create mode 100644 src/ru/caf82/lectures/lecture02/StringProcessing.java create mode 100644 src/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.java diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..7fb9177 --- /dev/null +++ b/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project TextClassifierProject. + + + diff --git a/build/classes/.netbeans_automatic_build b/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/build/classes/.netbeans_update_resources b/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/build/classes/ru/caf82/lectures/lecture02/BoxingExample.class b/build/classes/ru/caf82/lectures/lecture02/BoxingExample.class new file mode 100644 index 0000000000000000000000000000000000000000..dd79ebc6b44eb593d18efcf99216083575969db5 GIT binary patch literal 1298 zcma)6O-~b16g{sqo!6EkP@sw*Ao$e+Ww4?W@gu>Akd#7FLI`dg>QDx!Ee=yae}h{W z#+4gbxzGg~7ybZ$i9f=KXQmZeJ`7Fs-o5AEd)_yu|z6iQ;C5)@M z7C{fLd+Ci35?+#&=$9A}(C%9$%Y7)IB$D$2>f`bYQ=lbdmCS6VxMVtW#*$4WmMP~A zd){y?FRy{ByJD>i3}l>&o;Q|9)4FZu-HKzb{|koG`gnQEDixk=8O1f*9ODs1!zu~H z6VEcM#)hHWMya6ZT!&3#{uK8tT$k(8!RlQqpj_=AB^kDb>WH_i&o|s$$rDy3R!1 z3DwJvB^M9j`!9}Og!pUqJ^}Cr(8M*$Oy@4R2m8N5eD=%DTs0q5aE5WT+JF|cG7F;( zF(Momzo9@9+i6XILm=a?)Bc+M0%ahz4XN%xRd%6z`QV{EwTs}t(ta4zb|Kr8UnIPz z*7jg+*T~YPc4>_~M1n^UvedY}ay9YfDe&Zt`%*N@loS%8pa}ZtNt)RMc1%+2EQKzx z@*M40K_}iIj<-0A_c(`bbotgyR^_v!gRB}pvM=tN^MRdldL6?%_Q!ed0%kZBhf2n$ zIL|0Z-bc8=NW(?We?n-Fe;=yEC5i6p7eb=Sc!X(4Ue{jJN+i!e*d5uUsU|M{%;pi2*Bg-X6Tb(V# z(ryq{4iTpF3eg$j)v9imXyWuj<`AQeNhmItKIF_F7aw-4`lT?mrVj^F#e|3cARvZd zRlp;>NA;uYl{|mhq^BFDH!MCM=^9hY&mE^dCs9E+T%_=r z2!4VdJVP&@qYp39k5}{$ct^gE6tjZ?kIPX6=>l@-L>F;5j=_fX05epri+mOe4IA+a q6-mN$idHY8d+@R7F1q(1vF6TQ1oseOLP>;oks_T+c2lSir+)*Ygc1Az literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/CalculatorExample.class b/build/classes/ru/caf82/lectures/lecture02/CalculatorExample.class new file mode 100644 index 0000000000000000000000000000000000000000..cba620985334d41b688a5d85e530e11a5f1b5ef1 GIT binary patch literal 1100 zcmb7D*>2N76g`v0PF#0ONJ{Bmwj`x>DWOy<>PtnXN)aFhRa88nNos;CC#f78wLj3W zK}eu35=eXiAB8w$8xo*AAZupsGCud5d+l%EKYs;K#fE_)+{z+_+iJU`3DoSr(Ak(t_deG?k0?AUD47D)O4&5EzZcC>lP%OQw9m;poa%HDw)qT(D zv^GQT(rb}T{)#kTCi|v{GZc z+w5gNMEX4}pdYDAF8h@#?UeVhz>i>vUrmA!m4z0?@zl7;7y{$8_L)zrNaYfuGIfqb zW%?Y+j|?S{aC6)j2PDriGEX>zqgmimk{3ftH-7-&{jEm; literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/CommentsExample.class b/build/classes/ru/caf82/lectures/lecture02/CommentsExample.class new file mode 100644 index 0000000000000000000000000000000000000000..6b318099591f63f3ffbcf58b4d148f3fcc8ff462 GIT binary patch literal 623 zcmb7BT`vPc6g|^cw_QcG>ic7PQG^wdkPt7zgKUsgym*?fQB%7+&F-x5vv?r!;0O3o z;_kNMBVNqIy>rjK_sl(a-riqc0c>KyL>?nW)G%7Wn2B*r7??CL#gN~Xfz*2p+4|Bs zLvCMP3Wgy^2I4sOn<6~pO^=X@qg?Kt^H3&n56tOn88NInVQjnnYJ0=>gsbCFM4y-S z4SQetz6f-5aL4_QCwAx&pUZ$@w0_~V`7O6S9<=O+4rS2VNr&KJi)gEVq#4YHibGc% z%4DjMU*u~EUkL^Z2Bu4x!7Rh9BlKcqc}m?_T3K#y97_h)5mg(QE5X7%!^%HYFqFSW zKWVl}_7A9WA8Fy!R#i-iT34r3_9=h!Cn@r1L$&%}3&K45=s%N_ z0hOabwn&jpo{{fceg=C;(;km6t{={K*=!6 zwM>75UOyNmahmBo%o2U_B<2rF9&_&?ilb~u*l!nY-klKaQF0>*wQ&^7^L##)`dUmC zXX@i56lx-LWbjYYHbM#2OBN^MyIcuP@Xq2`>X8y@D*16xP)6$y8PDThCAkjeX=Fq+ z|Bu|AiAUjK31trsnhv%IN5!`G_eX+n2m{6A1Q*j84@M}p&1$;ESh2%*wfV&4`$nFL z*c>dguP_?IVguaH-V3Pn3hSAX1($u9YrtJq_Koi%<0D FKwlXko%a9$ literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/ConstructorExample.class b/build/classes/ru/caf82/lectures/lecture02/ConstructorExample.class new file mode 100644 index 0000000000000000000000000000000000000000..29425b95b7792019b4de53c72b1e5a80abe3d3ee GIT binary patch literal 562 zcmb7BO-lnY5Pj3HwcBd7)z+)vp(=Ds@gP>b6a`^Xu+odCbd5D-o0aUY__sU>9{d6R zC~>kX7V4#e%w*o=y}TqJpKtE~4zcYbk4*<#4w?>HgvzxH5}_w)C=8)`p|v!FP{gr} z38fRIRdPzmxA#Vb!XUbngqp9kyi8|fX>PBQk4`C*( z-1w(WaEDQ90(q{ivDTt~$4XY=V1>|G&KhC;&(GC(%GV(rFQ>6P_ukk+j=#f>9LQSY zSmw&(Oq`4Rub`K#?Q$$-U>+4-SHCxKUgfHcHPjff7$dGzAO>hmoXqTf&fe?nv-aBa_4lV^01xmeiWo*aFotmx6H$aQ z8o?dqCzZLYOe%^rrj(gBkufnNU@SYXvMoJF?azXmzwa~zvNt=GIKZkcvXmiE`)$ZEY} zFY%_TbX5XVzj^eP;4 zyd9x!jN%&qTJ?m$@u7>hn>&kM(Cbr25Fc9U9$KRnG;p2k*eL+L=;N*f{fINd!-5kc z5(u>AMC1@-9})VDaPbIQuik`_Xu@nF(nQBQA>N;SXS#`~`6XHmYx$z4=Zm_LFB)b( zH@%rTUI{N~ac$%f=}cUkUC=KTi?iZ+HI3E2DY9WGvXdkQL}1b<=_lE1hO}4N=N3D4 z>3t$qGgG7-!UP5|$R@UMv$fKh32*~L^sAU>G{NjJcekMZLP-3?_z5-CO^leh#h1O~ M2d0U-O;iZUKRWg7w*UYD literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.class b/build/classes/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.class new file mode 100644 index 0000000000000000000000000000000000000000..ff3a1929b6a0d91cd56fc57899129ec559360c53 GIT binary patch literal 883 zcmbVKTT2^36#gc+*{q4$tcljOCiZ4j=oTp=RfJa3BE$=%NWrJcW)fHT5;nVD{!L3C z3VmxITIfT6Kz~l3OX-0$_9bfLnUR#E5MB62#)C_Fl9*WRW@d(UB z$IgIZy&1-qExPNgmMiTj4&~s=dAe%tbQ|tKzVJJ(b0@Nox5Yp3~Yy?*ouUGx-0r4Zh9+-LtDOb z6#MGGNjy>S7NBE{<52;RvB;2bT-efer5|zB3s}N31K$gxT3d8Tsh8@`ybb~~YyY=8 z!{qh8`|T5w?FQ7k97NKiw}O}w<)JuEU>%S$5$Pj^N9q~LjGHhq?W-b}WG&ZkQxyx) z=*LiB3QTQIcYz{{EF+s;{s#6rNf+tPC14KY#9Iod%>H%?Gbkv`Dx6lBlQ@&YAm$a$8t*xU1*4x=ct_!a z#6^jB1)S4<)o+{;NMaXcuRk&bAhg|=1Pso zuddFv)9YxJgd;uN0z#WIy5i_4b5*!jxK??Un_);<)=^vD6&NTrbmjJPrNaJOU3)q*uARw9jaTo5AO@?ezA;&rXQ?$Q5r=o zvWiR^OSqE8ReV70xIiMG7f?D=Z(mkm_(cMfkk|p%o|&7=u=vb8S&H~jV9XdFf4%YZ z#{G>48^1ntmax1v;w~e4fn)o@|1_j+m0c;{;ygKzcCmh#yUIy5I4@7HZ3C9>)Egd6 z$*@WISUjZdcuwEZwVGGukfyWUW1Q?Vby~_m)d=H9A~2fm1`;7_rm}!Y~iJtcnikuU|JaI z9 z|2s_b?N|!_0U%s3=*P zW%moErgpW9)mlB2D|FSedT#a9L+?HI*lMjFqko^7fk6&dv(~@&zxVgw_x|^ppZ@;# zdjNOhQw(r!{L|^@F9-FN_Q2xqo2~PWEqYlN_Un8$0Wy5j$<5C98Yi@SMj8V zhw+pcp5{2g@eIdFj%PWZ<2c3fJjV+hFLJ!Z@iNCN9ItY`rs8!5rNc^DP8Wk5Y1qx+ z>rIcC3}yXR%G@?F7B}rdBc7z4P=9*ZNbWXlORRI7K4-r*&d}0tPeg}}(e~D8(j0as zY;!!%tZt2N&zQF1r0wy|M~tyd(%eX1#tbXPP!-wRf513oM3Y7;5gl-BE0x&jMq$_q zvRmN+Gcbdwk0?$wOq3wnLNrP=LPXKBJwzFzO++@4L)1fbkZ6)Yimwqvs~FlCN(LNb z`0=eq#?4E`CKYd}m}bxh(i8Tuxy2GC2w$H`iwHh|4cMsS%>drQX@=^%ZOhp|W;zy? zOHb!>-w?nVoF(}Be0wIWy3nV>ckp) z)D$Ckx!t0gp5_xq7}4cT$>~vP^L#KIxbZx>%`rFM#*)0fmv< zJ)RZv-)iQ}e@N%0?KG2yW2I9IQlt81D2`UWvs1TS9~D}U|KgN3Yipx&p*b z&9jf@Sl^@z%608@_`&%~ZI2(IYZbsnd=$XP_=LgVoE0sa)H^zaXQ~VFU0pd|6MTMA zq4lQ|*Bu8#aeR$FHKoV1%3@VtpI=pIgQmTxl6+@6nWQU9zLWtcoiZs(|DbJ(xo8L7 zXh-jJ2$Xl4bPfGINxD-EtNu@K(4BYFw$jlZ)C~^xglUW|C`PtT7H&l(&5UM$;}x*4T)2})#ogrSB0i86z+LF3 zRT1t+5ABe$@)>;$LV*0^*N{T;417VYL+SK)h5YTlkkam_?eCxtT>%dj%|Khe;<4J1 z85GYTK(Ym334ygM_Ip94La#RI1(gw0?W^{uW)Pe+87e2!YE1FP)B*<~5)CUS73O89 z!UesMN0G~`&BFBU8~2dae@E;|n%4xaNk{d{TGxMJrJ@D>ZT zl5JnCyufgq&?rAgop$FX_(N-Hxv1bVSB9L2)(M&RIT_LSGDP2hfkqlN>g!^ZQRi2q zg#LGyVmqx4Ac#}c@2{Z()2PI0gz+`1@H0vMjvA)mCRT@K>>kvz?O4Hva5FmroxOM1cYw1YDS-!w)7Yz0D|TW40X8kQ zV34>Hc7`(8MO>-89G_q}>6THv7x5r*L5j2w4-r?6A%Go6$t>#xSFwjNCP|F``Kj2e zLY<|!3%BL$Hk+jkwRv$_E>u_u%&D+zC@WMUSA~w`8=~++=S-u{3ogjP!|}ZGDg+nB iRZs!?H{k*2)Kxq@OP?<};5WPxD;za2ESWa=_(Ucfh5s+c)_*pTP0KRSM=oH&3e8Wh|JAcLCGlKd9Sq)*ohB)8tGaTFF% zR%B3~tUD897RQNk+YH)f$Tq`m(}<&c8ZsaOSD`;KqA0hUv?HIM&0v%|g zAFu;(49#45(SqYdm@GcPg)p)GI%lpwTr&`XoXT-qBB z^#&uTO@|tTFJqwxX_YB4wTe1vy|!%(RuTSt(go{`UO4$1De&_RpcWw#r1G3~I7{L> zNnM(x4e``j#@{0sGh}0d5f5N+N~~65tM8( z<0P#UyUdG|O9k(ld4^Zx$6Mx~gM%}?K`SvAMzPFV3EoMT9oy(BoM47E&%nc;?YMvr l-peMsagm;%GqiH%B)e^~eiyM2=V`(vdMf*MvwICL{{qns;(!1E literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/StringProcessing.class b/build/classes/ru/caf82/lectures/lecture02/StringProcessing.class new file mode 100644 index 0000000000000000000000000000000000000000..7585d1c9381e5b61ea0075dcc22d25afd47747aa GIT binary patch literal 1627 zcmb7E-E$LF6#w0P?Ka)okhYW-l=z*}w1J3-Ev=9$5(%MNELQy5q_@pNnq+o2FnyFa zWn_jKp2YFR8DI3Fb%w1&wY>9m_aAaRCmW!Wj-$!UIp?19JKraH^w)zO0LLNYIE0*r zH*_42BZN15Z~|{>I2lI_IUR2^pJK~2OQ)F3#4(F^bev}O876rhbIfOSysP6q7SA$y zpUF8L1?C?xIj^Cp;etTylvTIfS%GkRY*8RG*I1SU{Y9%TORcrCv@e;`Ov?Y-zo|A@IhA79pHk`pm!>x8*^?r}hI;7V;ySx9RRKp8RAqTV9v8Lzh3gN3$ImUc^EAlj2VZf`1D{57R44 zTo8{Q*@D_p9=w8ANkh(}gfJliZyTYdWOxga;%|sTwv>eVjGVn8Xgk6Ao~JHl33uL9Jr7iENLeqoGmf9g`uhF zNHpVN|4_uk@B|5$$$up3ft>or!^s04Mp#8vv^5?^cRinWn@57W&=IHaYv@HDeJG$G z68lg^64x+*ItHyD~?~0#u&}2iV}`s hoJM~Q=aC^PO!3ZP0+WbP)EQdC7@~wcN`4_6`x}mUqt5^U literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.class b/build/classes/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.class new file mode 100644 index 0000000000000000000000000000000000000000..d5a3e548679addaf23a8064fbae4021c199ad1d0 GIT binary patch literal 941 zcmb7CTWb?R6#gbjca!b5jY-q0+f?gyTWzQ zD5h~%>2pe)SK@+7U({jiSZ2^Rr6{ z-8v7X@<+i`xGQ@MGcZa24#QL} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..8e99bbf --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0fd20a72 +build.xml.script.CRC32=687418d1 +build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=0fd20a72 +nbproject/build-impl.xml.script.CRC32=fbbe4592 +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 0000000..95dd346 --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/ilysko/.netbeans/8.2/build.properties diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..8de8683 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,74 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/TextClassifierProject.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..764375f --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + TextClassifierProject + + + + + + + + + diff --git a/src/ru/caf82/lectures/lecture02/BoxingExample.java b/src/ru/caf82/lectures/lecture02/BoxingExample.java new file mode 100644 index 0000000..1f64c70 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/BoxingExample.java @@ -0,0 +1,26 @@ +package ru.caf82.lectures.lecture02; + +public class BoxingExample { + + public static void main(String[] args) { + Integer i = Integer.valueOf(50); + Integer iTwo = Integer.valueOf(50); + Integer iThree = 50; + + System.out.println(i == iThree); + System.out.println(i == iTwo); + System.out.println(i.equals(iThree)); + System.out.println(i.equals(iTwo)); + + System.out.println("----------------------------------------"); + + Integer iNew = Integer.valueOf(1000); + Integer iNewTwo = Integer.valueOf(1000); + Integer iNewThree = 1000; + + System.out.println(iNew == iNewThree); + System.out.println(iNew == iNewTwo); + System.out.println(iNew.equals(iNewThree)); + System.out.println(iNew.equals(iNewTwo)); + } +} diff --git a/src/ru/caf82/lectures/lecture02/BreakAndContinueExample.java b/src/ru/caf82/lectures/lecture02/BreakAndContinueExample.java new file mode 100644 index 0000000..ad6005e --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/BreakAndContinueExample.java @@ -0,0 +1,44 @@ +package ru.caf82.lectures.lecture02; + +/** + * Created by ilysko on 24.08.17. + */ +public class BreakAndContinueExample { + public static void main(String[] args) { + // Break example + for (int i = 0; i < 100; i++) { + if (i == 4) { + break; + } + System.out.print(i + " "); + } + + System.out.println(); + + // Continue example + for (int i = 0; i < 10; i++) { + if (i % 2 == 0) { + continue; + } + System.out.print(i + " "); + } + + System.out.println("\n"); + + // Continue and Break with "tags" + outer: + for (int i = 0; i < 10; i++) { + inner: + for (int j = 0; j < 10; j++) { + if (j > i) { + System.out.println(); + continue outer; + } + if (i == 8) { + break outer; + } + System.out.print(" " + (i * j)); + } + } + } +} diff --git a/src/ru/caf82/lectures/lecture02/CalculatorExample.java b/src/ru/caf82/lectures/lecture02/CalculatorExample.java new file mode 100644 index 0000000..edfa955 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/CalculatorExample.java @@ -0,0 +1,35 @@ +package ru.caf82.lectures.lecture02; + +public class CalculatorExample { + private int x; + private int y; + + CalculatorExample(int x, int y) { + this.x = x; + this.y = y; + } + + public void setX(int x) { + this.x = x; + } + + public void setY(int y) { + this.y = y; + } + + public int getSubst() { + return x-y; + } + + public float getSum() { + return (float) x + y; + } + + public static void main(String[] args) { + CalculatorExample calc = new CalculatorExample(5, 2); + System.out.println(calc.getSum()); + System.out.println(calc.getSubst()); + + //todo create new calculator, add abs function from Math + } +} diff --git a/src/ru/caf82/lectures/lecture02/CommentsExample.java b/src/ru/caf82/lectures/lecture02/CommentsExample.java new file mode 100644 index 0000000..7923149 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/CommentsExample.java @@ -0,0 +1,18 @@ +package ru.caf82.lectures.lecture02; + +/** + * @author ilysko + * @version 1.0 + * Class for comment representation + */ +public class CommentsExample { + public static void main(String[] args) { + System.out.println("Let's look to comments in Java"); + /* + * Realy big + * comment + */ + + //System.out.println("Cool!"); + } +} diff --git a/src/ru/caf82/lectures/lecture02/ConstructorExample.java b/src/ru/caf82/lectures/lecture02/ConstructorExample.java new file mode 100644 index 0000000..81727c9 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/ConstructorExample.java @@ -0,0 +1,15 @@ +package ru.caf82.lectures.lecture02; + +public class ConstructorExample { + + public class Rectangular { + + //todo create fields weight and length, create constructor, create method Square + + } + + + public static void main(String[] args) { + //todo write some test + } +} diff --git a/src/ru/caf82/lectures/lecture02/ForAndForEachExample.java b/src/ru/caf82/lectures/lecture02/ForAndForEachExample.java new file mode 100644 index 0000000..31e25d5 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/ForAndForEachExample.java @@ -0,0 +1,17 @@ +package ru.caf82.lectures.lecture02; + +/** + * Created by ilysko on 24.08.17. + */ +public class ForAndForEachExample { + public static void main(String[] args) { + for (int i = 1; i < 5; i++) { + System.out.println("i = " + i); + } + System.out.println(); + int[] intList = {1,2,3,4}; + for (int i : intList) { + System.out.println("i = " + i); + } + } +} diff --git a/src/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.java b/src/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.java new file mode 100644 index 0000000..22f0f4a --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/IfElseAndSwitchCaseExample.java @@ -0,0 +1,32 @@ +package ru.caf82.lectures.lecture02; + +/** + * Created by ilysko on 24.08.17. + */ +public class IfElseAndSwitchCaseExample { + public static void main(String[] args) { + int myMark = 5; + + if (myMark == 5) { + System.out.println("Excellent"); + } else if (myMark <= 4 && myMark >=3) { + System.out.println("Not bad"); + } else { + System.out.println("Bad"); + } + + switch (myMark) { + case 5: + System.out.println("Excellent"); + break; + case 4: + System.out.println("Good"); + break; + case 2: + System.out.println("Bad"); + default: + System.out.println("Not bad"); + break; + } + } +} diff --git a/src/ru/caf82/lectures/lecture02/LinkTypes.java b/src/ru/caf82/lectures/lecture02/LinkTypes.java new file mode 100644 index 0000000..d3c581c --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/LinkTypes.java @@ -0,0 +1,32 @@ +package ru.caf82.lectures.lecture02; + +public class LinkTypes { + + public static void main(String[] args) { + String a = "Hello", b = "World"; + + System.out.println(a + " " + b); + + String c = 2 + 2 + ""; + String d = "" + 2 + 2; + String g = "" + (2 + 2); + + System.out.println(c); + System.out.println(d); + System.out.println(g); + + String foo = "a string"; + String bar = "a string"; + String baz = new String("a string"); + + System.out.println("foo == bar ? " + (foo == bar)); + System.out.println("foo равен bar ? " + (foo.equals(bar))); + System.out.println("foo == baz ? " + (foo == baz)); + System.out.println("foo равен baz ? " + (foo.equals(baz))); + + + + } + + +} diff --git a/src/ru/caf82/lectures/lecture02/OperatorsExample.java b/src/ru/caf82/lectures/lecture02/OperatorsExample.java new file mode 100644 index 0000000..6bcc959 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/OperatorsExample.java @@ -0,0 +1,58 @@ +package ru.caf82.lectures.lecture02; + +import com.sun.org.apache.xpath.internal.SourceTree; + +/** + * Created by ilysko on 24.08.17. + */ +public class OperatorsExample { + public static void main(String[] args) { + System.out.println("Arithmetical operators:"); + int a = 10, b = 3, c = 2; + float g = 5.14f, f = 2.05f; + System.out.println("a + c - b = " + (a + c - b)); + System.out.println("b * c = " + b * c); + System.out.println("a / b = " + a / b); // pay attention for this (integer division) + System.out.println("g / f = " + g / f); + + System.out.println("\nUnary operators:"); + int d = 4; + boolean e = true; + System.out.println("d++ = " + d++); + System.out.println("d = " + d); + System.out.println("++d = " + ++d); + System.out.println("(byte) d = " + Integer.toBinaryString(d)); + System.out.println("(byte) ~d = " + Integer.toBinaryString(~d)); + System.out.println("!e = " + !e); + + System.out.println("\nRelational operators:"); + double p = 5.5d, r = 2.7500000000000001d; + System.out.println("p / 2 == r = " + (p / 2 == r)); + + System.out.println("\nBitwise operators:"); + // TODO разобраться с битовыми представлениями! + byte t = 0b1110, q = 0b0111; + byte y = -13; + System.out.println("t & q = " + Integer.toBinaryString(t & q)); + System.out.println("t | q = " + Integer.toBinaryString(t | q)); + System.out.println("t ^ q = " + Integer.toBinaryString(t ^ q)); + System.out.println("y = " + String.format("%8s", Integer.toBinaryString(y & 0xFF)).replace(' ', '0')); + System.out.println("-y = " + String.format("%8s", Integer.toBinaryString(-y & 0xFF)).replace(' ', '0')); + System.out.println("y << 2 = " + (y << 2)); + System.out.println("y >> 2 = " + (y >> 2)); + System.out.println("y >>> 2 = " + (y >>> 2)); + System.out.println("y << 2 = " + Integer.toBinaryString(y << 2)); + System.out.println("y >> 2 = " + Integer.toBinaryString(y >> 2)); + System.out.println("y >>> 2 = " + Integer.toBinaryString(y >>> 2)); + + System.out.println("\nLogical operators:"); + boolean b1 = false, b2 = true; + System.out.println("b1 || b2 = " + (b1 || b2)); + System.out.println("b1 && b2 = " + (b1 && b2)); + + System.out.println("\nTernary operators:"); + boolean b3 = true; + System.out.println("Rolling " + (b3 ? "Stones" : "Trees")); + System.out.println("Paint It " + (!b3 ? "Red" : "Black")); + } +} diff --git a/src/ru/caf82/lectures/lecture02/PrimitiveTypes.java b/src/ru/caf82/lectures/lecture02/PrimitiveTypes.java new file mode 100644 index 0000000..a5dcc37 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/PrimitiveTypes.java @@ -0,0 +1,43 @@ +package ru.caf82.lectures.lecture02; + +public class PrimitiveTypes { + + + public static void main(String[] args) { + + //byte b = 216; + short s = 1123; + int i = 64536; + long l = 2147483648L; + int j = 10; + + System.out.println(i); + //System.out.println(b); + System.out.println(s); + System.out.println(l); + + System.out.println(i + 2147483647); + System.out.println(l + j); + System.out.println(j + l); + + char a = 'a', c = 'c'; + int b; + b = ((a + c) / 2); + System.out.println(b); + System.out.println((char) b); + + System.out.println((char) b + i); + System.out.println(b+i); + + double doubleOne, doubleTwo = 4.12; + doubleOne = 22.1 + doubleTwo; + float pi = 3.14f; + //float anotherPi = 3.14; + double doubleThree = 27; + double d = pi * doubleThree; + + System.out.println(d); + System.out.println(doubleOne); + System.out.println(pi); + } +} diff --git a/src/ru/caf82/lectures/lecture02/StringProcessing.java b/src/ru/caf82/lectures/lecture02/StringProcessing.java new file mode 100644 index 0000000..b51d9b5 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/StringProcessing.java @@ -0,0 +1,39 @@ +package ru.caf82.lectures.lecture02; + +public class StringProcessing { + + public static void main(String[] args) { + + //String Buffer examples + StringBuffer sb = new StringBuffer("Котэ"); + + System.out.println("Длина: " + sb.length()); + System.out.println("Объем: " + sb.capacity()); + + sb.setCharAt(1, 'o'); + + System.out.println("Было Котэ, стало: " + sb.toString()); + + String str1 = "У кота "; + String str2 = " лапы"; + int paws = 4; + StringBuffer sbNew = new StringBuffer(20); + sbNew.append(str1).append(paws).append(str2); + + System.out.println(sbNew.toString()); + + sb.insert(0, "Люблю "); + System.out.println(sb.toString()); + + sb.reverse(); + System.out.println(sb.toString()); + + //TODO delete, deleteCharAt, replace, substring write your own code + + + + //TODO StringBuilder the same methods implementation + + } + +} diff --git a/src/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.java b/src/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.java new file mode 100644 index 0000000..d3fbb84 --- /dev/null +++ b/src/ru/caf82/lectures/lecture02/WhileAndDoWhileExample.java @@ -0,0 +1,20 @@ +package ru.caf82.lectures.lecture02; + +/** + * Created by ilysko on 24.08.17. + */ +public class WhileAndDoWhileExample { + public static void main(String[] args) { + int i = 3; + + while (i > 0) { + System.out.println(i--); + } + + System.out.println("\n" + i + "\n"); + + do { + System.out.println(i--); + } while (i > 0); + } +} From 5bce2cd8bed3d8bf60a4af4e13f0e222c50bace1 Mon Sep 17 00:00:00 2001 From: ilysko Date: Sun, 17 Sep 2017 15:34:44 +0300 Subject: [PATCH 02/29] Added lecture03 example from Ilya --- .../lectures/lecture03/AbstractAnimal.java | 20 +++++ .../lecture03/CompositionExample.java | 83 +++++++++++++++++++ .../lecture03/InheritanceExample.java | 39 +++++++++ .../lectures/lecture03/InterfaceExample.java | 17 ++++ .../caf82/lectures/lecture03/PassByValue.java | 51 ++++++++++++ .../lecture03/PolymorphysmExample.java | 34 ++++++++ src/ru/caf82/lectures/lecture03/Season.java | 52 ++++++++++++ 7 files changed, 296 insertions(+) create mode 100644 src/ru/caf82/lectures/lecture03/AbstractAnimal.java create mode 100644 src/ru/caf82/lectures/lecture03/CompositionExample.java create mode 100644 src/ru/caf82/lectures/lecture03/InheritanceExample.java create mode 100644 src/ru/caf82/lectures/lecture03/InterfaceExample.java create mode 100644 src/ru/caf82/lectures/lecture03/PassByValue.java create mode 100644 src/ru/caf82/lectures/lecture03/PolymorphysmExample.java create mode 100644 src/ru/caf82/lectures/lecture03/Season.java diff --git a/src/ru/caf82/lectures/lecture03/AbstractAnimal.java b/src/ru/caf82/lectures/lecture03/AbstractAnimal.java new file mode 100644 index 0000000..3034cf2 --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/AbstractAnimal.java @@ -0,0 +1,20 @@ +package ru.caf82.lectures.lecture03; + +/** + * Created by ilysko on 16.09.17. + */ +public abstract class AbstractAnimal { + final int legsAmount; + final String animalName; + + public abstract void move(); + + public void sayYourName() { + System.out.println("My name is " + animalName); + } + + protected AbstractAnimal(int legsAmount, String animalName) { + this.legsAmount = legsAmount; + this.animalName = animalName; + } +} diff --git a/src/ru/caf82/lectures/lecture03/CompositionExample.java b/src/ru/caf82/lectures/lecture03/CompositionExample.java new file mode 100644 index 0000000..8ee40d5 --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/CompositionExample.java @@ -0,0 +1,83 @@ +package ru.caf82.lectures.lecture03; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.function.DoublePredicate; + +/** + * Created by ilysko on 17.09.17. + */ +public class CompositionExample { + Cat cat = new Cat(); // в точке определения + Dog dog; + Crocodile crocodile; + Zoo zoo = new Zoo(new Animal[] {cat, dog, crocodile}); // с использованием инициализации экземпляров + + CompositionExample(Dog dog) { + this.dog = dog; // в конструкторе + } + + @Override + public String toString() { + if (crocodile == null) { + this.crocodile = new Crocodile(); // перед использованием объекта + } + return "CompositionExample{" + + "cat=" + cat + + ", dog=" + dog + + ", crocodile=" + crocodile + + ", zoo=" + zoo + + '}'; + } + + public static void main(String[] args) { + Dog dog = new Dog(true); + CompositionExample compositionExample = new CompositionExample(dog); + + System.out.println(compositionExample.toString()); + + compositionExample.crocodile.eatMeat(); + compositionExample.cat.sayMeow(); + System.out.println(compositionExample.dog.isFriendly); + System.out.println(Arrays.toString(compositionExample.zoo.animals)); + } +} + +abstract class Animal {} + +class Cat extends Animal { + int legCount = 4; + void sayMeow() { + System.out.println("Meow"); + } +} + +class Dog extends Animal { + boolean isFriendly; + + Dog(boolean isFriendly) { + this.isFriendly = isFriendly; + } +} + +class Crocodile extends Animal { + void eatMeat() { + System.out.println("Delicious!"); + } +} + +class Zoo { + Animal[] animals; + + Zoo(Animal[] animals) { + this.animals = animals; + } + + void open() { + System.out.println("open"); + } + + void close() { + System.out.println("close"); + } +} diff --git a/src/ru/caf82/lectures/lecture03/InheritanceExample.java b/src/ru/caf82/lectures/lecture03/InheritanceExample.java new file mode 100644 index 0000000..c6b207a --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/InheritanceExample.java @@ -0,0 +1,39 @@ +package ru.caf82.lectures.lecture03; + +/** + * Created by ilysko on 17.09.17. + */ +public class InheritanceExample { + void tryToGetAnimalName(AbstractAnimal abstractAnimal) { + // нисходящее преобразование + abstractAnimal.sayYourName(); + + // нельзя, т.к. мы работаем с AbstractAnimal + //abstractAnimal.jump() + } + + public static void main(String[] args) { + AbstractAnimal tiger = new Tiger(); + tiger.move(); + tiger.sayYourName(); + System.out.println(tiger.legsAmount); + } +} + +class Tiger extends AbstractAnimal { + + protected Tiger() { + super(4, "Tiger"); + } + + @Override + public void move() { + System.out.println("run"); + } + + public void jump() { + System.out.println("jump"); + } +} + + diff --git a/src/ru/caf82/lectures/lecture03/InterfaceExample.java b/src/ru/caf82/lectures/lecture03/InterfaceExample.java new file mode 100644 index 0000000..4517fbe --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/InterfaceExample.java @@ -0,0 +1,17 @@ +package ru.caf82.lectures.lecture03; + +/** + * Created by ilysko on 17.09.17. + */ +public interface InterfaceExample { + default void printSomething() { + System.out.println("Something"); + } + + String returnName(); + + // можно не писать static final, это "по умолчанию" + static final int amount1 = 3; + int amount2 = 4; + +} diff --git a/src/ru/caf82/lectures/lecture03/PassByValue.java b/src/ru/caf82/lectures/lecture03/PassByValue.java new file mode 100644 index 0000000..1e07dae --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/PassByValue.java @@ -0,0 +1,51 @@ +package ru.caf82.lectures.lecture03; + +import java.util.Arrays; + +/** + * Created by ilysko on 17.09.17. + */ +public class PassByValue { + static void changePrimitiveInt(int a) { + a++; + } + + static void changeReferenceInteger(Integer a) { + a++; + } + + static void replaceReferenceInteger(Integer a) { + a = new Integer(42); + } + + static void changeStringArray(String[] listOfBands) { + listOfBands[2] = "Guns N' Roses"; + } + + static void doSomethingBad(String[] listOfBands) { + listOfBands = new String[]{"Justin Bieber", "Тимати"}; + } + + public static void main(String[] args) { + int a1 = 2; + + changePrimitiveInt(a1); + System.out.println("int primitive after changePrimitiveInt() : " + a1); + + Integer a2 = new Integer(2); + + changeReferenceInteger(a2); + System.out.println("Integer object after changeReferenceInteger() : " + a2); + + replaceReferenceInteger(a2); + System.out.println("Integer object after replaceReferenceInteger() : " + a2); + + String[] listOfBands = {"Led Zeppelin", "Pink Floyd", ""}; + + changeStringArray(listOfBands); + System.out.println("String[] after changeStringArray() : " + Arrays.toString(listOfBands)); + + doSomethingBad(listOfBands); + System.out.println("String[] after something bad : " + Arrays.toString(listOfBands)); + } +} diff --git a/src/ru/caf82/lectures/lecture03/PolymorphysmExample.java b/src/ru/caf82/lectures/lecture03/PolymorphysmExample.java new file mode 100644 index 0000000..0661fb8 --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/PolymorphysmExample.java @@ -0,0 +1,34 @@ +package ru.caf82.lectures.lecture03; + +/** + * Created by ilysko on 17.09.17. + */ +public class PolymorphysmExample { + static void wash(Washable washable) { + System.out.println("cleaning " + washable.toString()); + } + + public static void main(String[] args) { + Kitty kitty = new Kitty(); + Dishware dishware = new Dishware(); + + wash(kitty); + wash(dishware); + } +} + +interface Washable{} + +class Kitty implements Washable { + @Override + public String toString() { + return "Kitty"; + } +} + +class Dishware implements Washable { + @Override + public String toString() { + return "Dishware"; + } +} \ No newline at end of file diff --git a/src/ru/caf82/lectures/lecture03/Season.java b/src/ru/caf82/lectures/lecture03/Season.java new file mode 100644 index 0000000..bd6c131 --- /dev/null +++ b/src/ru/caf82/lectures/lecture03/Season.java @@ -0,0 +1,52 @@ +package ru.caf82.lectures.lecture03; + +import java.io.Serializable; +import java.util.Arrays; + +/** + * Created by ilysko on 16.09.17. + */ +public enum Season { + WINTER ("Зима"), + SPRING ("Весна"), + SUMMER ("Лето"), + AUTUMN ("Осень"); + + private String russianName; + Season(String russianName) { + this.russianName = russianName; + } + + public String getRussianName() { + return russianName; + } + + public static void printMonthsOfSeason(Season season) { + switch (season) { + case WINTER: + System.out.println("December, January and February"); + break; + case AUTUMN: + System.out.println("September, October and November"); + break; + case SUMMER: + System.out.println("June, July and August"); + break; + case SPRING: + System.out.println("April, March and May"); + break; + } + } + + public static void main(String[] args) { + Season season = Season.AUTUMN; + System.out.println(season); + + // get all enum values + System.out.println(Arrays.toString(Season.values())); + + printMonthsOfSeason(season); + + System.out.println(season.getRussianName()); + } +} From 48089095ea2d71f7d48f833556b6274c228e6512 Mon Sep 17 00:00:00 2001 From: ilysko Date: Mon, 18 Sep 2017 15:22:13 +0300 Subject: [PATCH 03/29] Added bomberman example from lesson. Added packages structure for homework#3. --- .../lectures/diagramBomberman/GameObject.class | Bin 0 -> 175 bytes .../lectures/diagramBomberman/GameSession.class | Bin 0 -> 670 bytes .../lectures/diagramBomberman/Movable.class | Bin 0 -> 258 bytes .../diagramBomberman/Positioanable.class | Bin 0 -> 247 bytes .../lectures/diagramBomberman/Temporary.class | Bin 0 -> 239 bytes .../lectures/diagramBomberman/Tickable.class | Bin 0 -> 153 bytes .../lectures/lecture03/AbstractAnimal.class | Bin 0 -> 888 bytes .../ru/caf82/lectures/lecture03/Animal.class | Bin 0 -> 311 bytes .../ru/caf82/lectures/lecture03/Cat.class | Bin 0 -> 585 bytes .../lectures/lecture03/CompositionExample.class | Bin 0 -> 2152 bytes .../ru/caf82/lectures/lecture03/Crocodile.class | Bin 0 -> 561 bytes .../ru/caf82/lectures/lecture03/Dishware.class | Bin 0 -> 540 bytes .../ru/caf82/lectures/lecture03/Dog.class | Bin 0 -> 388 bytes .../lectures/lecture03/InheritanceExample.class | Bin 0 -> 997 bytes .../lectures/lecture03/InterfaceExample.class | Bin 0 -> 607 bytes .../ru/caf82/lectures/lecture03/Kitty.class | Bin 0 -> 531 bytes .../caf82/lectures/lecture03/PassByValue.class | Bin 0 -> 2205 bytes .../lectures/lecture03/PolymorphysmExample.class | Bin 0 -> 1203 bytes .../ru/caf82/lectures/lecture03/Season$1.class | Bin 0 -> 782 bytes .../ru/caf82/lectures/lecture03/Season.class | Bin 0 -> 2423 bytes .../ru/caf82/lectures/lecture03/Tiger.class | Bin 0 -> 746 bytes .../ru/caf82/lectures/lecture03/Washable.class | Bin 0 -> 136 bytes .../ru/caf82/lectures/lecture03/Zoo.class | Bin 0 -> 729 bytes .../lectures/diagramBomberman/GameObject.java | 9 +++++++++ .../lectures/diagramBomberman/GameSession.java | 11 +++++++++++ .../caf82/lectures/diagramBomberman/Movable.java | 8 ++++++++ .../lectures/diagramBomberman/Positioanable.java | 9 +++++++++ .../lectures/diagramBomberman/Temporary.java | 9 +++++++++ .../lectures/diagramBomberman/Tickable.java | 8 ++++++++ 29 files changed, 54 insertions(+) create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/GameObject.class create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/GameSession.class create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/Movable.class create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/Positioanable.class create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/Temporary.class create mode 100644 build/classes/ru/caf82/lectures/diagramBomberman/Tickable.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/AbstractAnimal.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Animal.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Cat.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/CompositionExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Crocodile.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Dishware.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Dog.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/InheritanceExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/InterfaceExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Kitty.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/PassByValue.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/PolymorphysmExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Season$1.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Season.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Tiger.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Washable.class create mode 100644 build/classes/ru/caf82/lectures/lecture03/Zoo.class create mode 100644 src/ru/caf82/lectures/diagramBomberman/GameObject.java create mode 100644 src/ru/caf82/lectures/diagramBomberman/GameSession.java create mode 100644 src/ru/caf82/lectures/diagramBomberman/Movable.java create mode 100644 src/ru/caf82/lectures/diagramBomberman/Positioanable.java create mode 100644 src/ru/caf82/lectures/diagramBomberman/Temporary.java create mode 100644 src/ru/caf82/lectures/diagramBomberman/Tickable.java diff --git a/build/classes/ru/caf82/lectures/diagramBomberman/GameObject.class b/build/classes/ru/caf82/lectures/diagramBomberman/GameObject.class new file mode 100644 index 0000000000000000000000000000000000000000..b15820a79fe8fa65b0985fc92843bb2b0834deaf GIT binary patch literal 175 zcmYL@F%H5o6hr+>+dvmM1`H4hF)%a0$biKD8`6?0X{9vfa10!PLm^TzFj=zoY`;Ix z7l0iKfvLcZkoAFmAWW94D{s%unp}xoorwn}#1uSo=XLuJ&7L yqd9op%bVfavpaOI)ZTF`{}5p@V$yP3%U@4UASCe$kfd=PDG)UqH75D!Lwo^u$tm{$ literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/diagramBomberman/GameSession.class b/build/classes/ru/caf82/lectures/diagramBomberman/GameSession.class new file mode 100644 index 0000000000000000000000000000000000000000..1bf0a8c217f6d0a17c69898067f775a257e140ec GIT binary patch literal 670 zcmb7?O;6iE5Qg6k2~LblA$+!!LdYedQe0I?AO#^oCAe4xDN*hlXB!smU9?_D>d%5h zD{)@WYQp zXj3B+eC`jK`uUl0<6Nr8-uI*9=W<#vLW>P;ixWdO9_s2*gB0$4Y6- zEs2T099;1U_am;x{`o{0BS(T5?o@v&v;Gze{7xqKP({tbriZWCVyI*V8xFQTG_b?a zd0)#^pwPqcipFI4_8*Ksm7Q*|0O+8s*unZGE%0$d7FfGW8KNbLo(ki!`kb6}lp2}{rG%AGX; literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/diagramBomberman/Movable.class b/build/classes/ru/caf82/lectures/diagramBomberman/Movable.class new file mode 100644 index 0000000000000000000000000000000000000000..bf8113d6e6afb160f287f4f73309612bd7c72c49 GIT binary patch literal 258 zcma)%O$x#=5QX2=YP44H82*3}apBs9J5f;FPivIaq=9IAI2RtkLy0MP0C_MB!}l?~ z_viTnu*5*1Cy)sA1yVw6U9AYM(fCA24zBXK+GrC_>DJYp88s`oX2Qf*GUv-`A&tr( zl~;Fp)_nDB*Uo0jTQ23#APgHv8ZNJLmlc60%>VHB?yeu&aoPMOO#e`hI=?k^hd_uz ST8KkWiV1CWnhhe%2;DCMsYllU literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/diagramBomberman/Positioanable.class b/build/classes/ru/caf82/lectures/diagramBomberman/Positioanable.class new file mode 100644 index 0000000000000000000000000000000000000000..dca9d1bae49417d31903f6eb64f1eb486e043968 GIT binary patch literal 247 zcma)%F$%&!5Jmqa(P&H|o=ND~@tG%lO8G zxv53W*VRJgGOlVPOL0j#Fas zz21)}fCYL29f7VuM2J#V#<{b5Z4{v~8gB@F&sN&%;{2uEU0%6Ft#sxqgS|4>+_AgQ zE_`Fc#8ook({e5|m6VlJg*<9b9h*2e2jvV~`Ev-v+L9UDRBjI!ZxE(`EUek6Z$Bgu W0)GwvOwc4W(E@yib$Tvpj`j!9DL>x; literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/diagramBomberman/Tickable.class b/build/classes/ru/caf82/lectures/diagramBomberman/Tickable.class new file mode 100644 index 0000000000000000000000000000000000000000..839dc93e31cdc28094766613eb4f2c6da028a150 GIT binary patch literal 153 zcmXwyu?oU46h-f=u~9+rGZevqI5<1FIw(Y zfE}h1Qer|7y)$>hXt}x)X6G(NV~@^T!u*mS*4}O!ellSllQLZGx5``7r)VGQ=D3a= m4qebT25!|~AuI+-d2VZU(oGgh0-?xpfJ6>L41{ss0_6{oCM9nG literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/AbstractAnimal.class b/build/classes/ru/caf82/lectures/lecture03/AbstractAnimal.class new file mode 100644 index 0000000000000000000000000000000000000000..ea9922f8e3212beae3ffa684ea3900756e4c9f35 GIT binary patch literal 888 zcma)4TWb?R6#iy+%_iHmiK%VXwz~D2tZBEleGn8O3PLfhLL`vKNixPMdkK3f4TO{U?A!9G0+!yC&{g(BKrYt>XO>mheDj4=p^x zV+%GMReNHhW}?nu`C^zfgD4AA26jXR9?F3GCp-`g)z&FL_#w zPtW%~U-Z)~7Rlda@4##Jk~HT1v^kYU^o5r)l<6ymwc635Jf+EMlc2tMD;4v~Jix9p zWWu%a6b**;fBn7Aq(2a`joYY_yW_DF(j*+2I5u{$Yom;c4G()Jp4r&PfsN}}W^n)C z14HGK^?mP@JkOQd<0KUU4LHi^U^VwBBku#vKc!a?JWylcqmc*)3_G37OprJ2i%&_1^iQC{8 z+Z(Pg8ajzY{OPQ1x)rW>7|fX89Se2CU{_TVHN>GzW%Cskv{Wp$RN=ub4_dxhz2ev0 zfsK9#Sy(3K9L%FYe@p946df#}#8CLBDMRTm#(pRR?la`lcCOFErdz#>wFqbxDxvL+ zd+m%=?r9`LUDc7`0ZlUc3rzF1Qj#B1-BPEpBdG~)?kv|(q>GqzAx1`H(VHQoDG71N z+om|p*(=XrE9N6I_ifHVo0W3cU|=1CZ(`|=ovAd(EC$llbV;m OiCA3`x-bc4F!})`@Oo|l literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/CompositionExample.class b/build/classes/ru/caf82/lectures/lecture03/CompositionExample.class new file mode 100644 index 0000000000000000000000000000000000000000..5b60a853d688b522d6a35f8a33a43bcab844753e GIT binary patch literal 2152 zcma)7dsiD(5dU2W*<@KB4KGo&JS7B5u+^4IAJDY4YABUdG}PB6+0vz(-MHCc(bJFM zm+%u*4+M`K{nvB+P#%AGHwYLE?m2sB?#$eo-^`ua{qwJ1e+Td`Ug#LdqJ||MEm(|W z5O*|WG~89}J+&I)_NGR|OM>G&E_!=^xMLHYtCS+ANd$fxs{ z)3#agtDadoV&<--Gtyt6WzpR_&+@LjMay`>a|>?KvQ2@>=AMrXmH+Qt_dNd_u1m}4 z4a>3oTLRT#q&8 zdRw!O>2I3Ssm$iws#h?x=8kDEIgaZ~<(^P_Pqbu{22|J&lzf_UTDZbKo1ct2RAp+nB%NU$-pHP1TLP_F$N~^_Bm#}PJz*8j+Pv&By9te zNE(#Ls)aWhof&51-xM%r zhX3hnZYgKO2Byyp&iQ-iX|z7^;`PJ4B8n^VmZORBy|vSFG*2x}fpPE?l5rc)HSlsu!y8btNNvNuoJ zhv63*C*s(CD4A)djwCk}@)IfLb}PPFVoGk6iS>n0EI0j#^XGF2Oj#m~o}dP&#R6Jc z8QGkjzO&L|AkCEi3SV*+xw~Sztfy{OmOYEruy+N-230a>PL9~b|0?Ja{;F@;=_SvT zyF5C1YI^^(QVSU2SACp+ln7r=7FVdL2q*_5pd1U*R=#W*2&BoqgvK8La6NSZkvc?6 z{s67}h>&f|M}I>!-JU!0J;gG9bM?e z6`>6!}h2RaF%ooI}G#17Fxt~1e9L$`uc z!-Yg5#rSIuBY9zZUyIIlC(gy_}`~W{n zoZWhR5HT>BnUgtZGRf=P^9z7Y%s9wn&_)rZZVWjnW7xuog;9q5t_-BvW9V91ZZKr4 zx+NI;Ycde0vELNoId3XLiZ$(V)!?B_@((a;u4KfpSPNs<;}_fOt`eS!LlJ!jYa4Dg z)ShlhC3YAr!OaO7gHzXW=!s*(8AhtwZ|g`Jse_|i?zfd#z2-N(01Mp~#tIn61aS_9 zlAhFYG-qM5fGJEfEc~lC!~9=$l|cGjF$^SKUB!b-w|*BH;nTb5n66u{r6*FmXQ2#C z-GqYsG*Iamn8s`;MJgcPQis@)Gz4GnEH^NV9Q{bLGGsI)7;K7M@{D|Lwf&|$pd;!CD*Mi)ii#bj`z^_g$Eb{29TjVzxopJ5m6Xa*!C*_;3na)yx~F8JMGu1=O0NWz^&msibYzQlk0`j$wNT literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/Dog.class b/build/classes/ru/caf82/lectures/lecture03/Dog.class new file mode 100644 index 0000000000000000000000000000000000000000..cc1a267328970cddb7a1633c82b5e383d9b4c441 GIT binary patch literal 388 zcmah_yH3ME5S(>POpGBAUIhh@DoKG6P#_W^p@1uk2IL~$#W~=jvoG=k!Dmq*Bnm!& zk3y^=w4l@7?u=&Ur1|)Kdk1igbr&|48>nH$LCe7^!Bu&XDVdJ-6M=?=dS9igI3w8Y zVJG4-Fk?w*hANd;Wipc4jTmWWTA_)Bjzp#^JR|MmUgd<{Ff097+@2izTE<10$^3UY zIPx#dU5|ghHf0veKviLz1CvZmt_o$+%SVw+wcMYG2jRiNnuj^m3ETf<688R5oTn-g znow(ZBJ6MnHg`gNIefM`m}jQJD1gNWaJ#Rd?$!&eXGRuWewWw_oU*^i+CCN-ZTzU= QVUZF0zEinTR#(2}7jV8&>Hq)$ literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/InheritanceExample.class b/build/classes/ru/caf82/lectures/lecture03/InheritanceExample.class new file mode 100644 index 0000000000000000000000000000000000000000..c923df792f46b53a071a06817b3ea5075a77de51 GIT binary patch literal 997 zcmb7?TWb?R6vzLQY_iFAZDVUwHQwSimzs@jAB3t9L?sZakPs+7$YdSUDSIiqv&DQY zMOsks1NfoDGn;A*m4N%OXU>^(e&;qnet!K9U6Aw((81heKAk{O5Y^^?IFrJ6+1;a{D24XMqMVkw=!*Ug&af$RnxsGozsn zWX#a+MTz6`50AGTPq-?HMEv{E-gdgdfrzByfh%5ovI_}lxuH$hy0j39uLM&Uqvz)r+kA)V`^~i zAJ+^yCC4ISu=-&Vx#FeNbJ{rHZcC$WEWtKWx6y#jP+c^!f#%w1>VQof57DyWpl#xj zjV)|5v=&95FMy#m>+bdFkaon-Sj3ngHN#TOC;QapbWesK9#gA-LHm zI!qZlZ)lQ=<|(*OOSe2Rjyrys1mwiJG}pAOc|Qj8NJn|J7o*m#4^c&tp0xh5pi*Gd z{{m?aNk%f)I0gGehYXhKpHGc>tk7Azk^@S(ND^4Z8d-GkQ<52yx#kHnvtTPV7GaQ+ z29&2xe*igL!a9W(>1N{$^^SZrs`3rl{Zkk{LZ;Zy$Tz>hJV9ZWpiI?(a0RN!rg}$h5lBc8AO+>_22)Zc4ssm?p9KdF9QXh} z3b6@LUMDUq&w6G(JAQe6dIqqAH4{^qE}>Dz3}y|?8JK4;C-!;h zaTTQaqgfzrpJBsMiS6^ty|x_+UnffRKM$MR_OaALU2-ty==6#EQiC5R%}G literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/Kitty.class b/build/classes/ru/caf82/lectures/lecture03/Kitty.class new file mode 100644 index 0000000000000000000000000000000000000000..5b37e7ef7098e2c06d8b5861ad5e6766e269b92c GIT binary patch literal 531 zcmaiwO-}+b5Qg9KEutVI;!T4GFp)Lt!9-(Xj9%P`2?oyvDwOQDq+5vmD?OQb@CW## zjI#>{PI_qPqwg~_ov-hYPXMQ=WRbvT2BkE%(kQ2~&5*i~O4>_?c&*-MNL=flV92{t ziTknN5$2J1JjxVZ-Q`}J8yUv)WWo+)z)*F~*y-};vt!2-T{|`+_;rp>oI7dl^qe7M zb;}y5`V6I7-5v4?cRa58&MZrcsy6+G61F3_3K}gvHeKP0iSVwJ(w1AP6?H2uq0Naf zM)m~3*_r-UhSOFav^Vv&84ad^fAhlqktZ5q#~e~fGbE#-820`hoT0FowAmTb{}}fF z!k&0A2zP{C#A)BujFumxL!BwgkmrzPWRnN)U~kd$N+bxAWn}5j%>-B_59F_5or;9; e;T(<^W3Lp(ut0Z~(D)q9lO{z-Au6*G5yc-Cdv}Te literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/PassByValue.class b/build/classes/ru/caf82/lectures/lecture03/PassByValue.class new file mode 100644 index 0000000000000000000000000000000000000000..b77ff9149f7df15a646ed65d2e083332f44576cc GIT binary patch literal 2205 zcma)7TUQ%Z7~K+)%M8EuYBE zmWqsuM=Cy5u`LacReTmj7Ek16N5$t6JdNNB1>t$qHr)jU9f{Fx1;Kmef>6+tHf^z9 zE#-vs$jDi=#M9-xVQm|ZDfdld(A_gD3P#gTHI+Atx2IE<$h%cXR8AizXHuI+rLuIi zZCF(?N1ptiVeg7f$1Ityc_>zFmv2q1$d@YyuN4IYp3jyj3P;#^=_7W9!-GV6-#9c< z7AaCq>zqXPU0_!*=!gT$$cyttz1|x#u4CG}i;iO)N%9>Zi+9u@@3PE_yHQ*+>;jYR zyTD69ccGjqmjvr!?=Beyrc^Ran>WMRB`9D_$z@tWG*hlRd9iHDqQ-o+xhXT#@Fw2U z@FkvUFpyKwdoEw;l2mZ%LDjD4>m&MBxgz+6*qNgjI$a)CE3RqlOQv8S6=)|vp43l% zKY8)@Hz#!sqew=O*H8c>8El6yRZXiPQDdg<>IbLo(v6}k9Q}L~6Qla9uAzusx$J2$ zu^+*64HiloCU8^1WV2&>Ik(R-X`yOw(Mvj8!=waHT?l?fgBxfjoE8QBi8weAmh44z z)3l%K%U1b_{h?B(z<%8Ds-C&bU>y{U{7*%+ zG;X6&7X>Oy-q1@!l@vteP^xF6D2H@q)HkKgqEJ`<{vTCbQ6jcnrMCJ#ce9+L=4_Xd z3!_9p*kE03R${_0Dlf4)|2sTWa~=r1+8RRpvFesRlY+~M^E@QzYs^|}K+KUdX1f;q z)PGSx6nRUaUakH!P_HCa*R)a%iBlybEgF9%#~i=SIxqQ)K#`*4`Zjkd-Z?x7C6A%} z#D@TGa1A$%D&FC<<~d*l3GP&>Gg>5gnwJCzzx89I{mO{f1yR#&klf?KE*l z)#sz>dPzg+G-+-%X~M}+Je+A~7(fVvK87%6_}?e9qK=vj3;f%Yfy6?8Ad>BftC?&t z-kCWU%@w9J#dS2F7pbqx6cR|%l$4c4@`PWEyD literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/PolymorphysmExample.class b/build/classes/ru/caf82/lectures/lecture03/PolymorphysmExample.class new file mode 100644 index 0000000000000000000000000000000000000000..7f655f9a4d5c7461eefec9cb835f0557c56a3c77 GIT binary patch literal 1203 zcma)5*-{fh6g^FrNyfp1u&XGD#)NIyR21aF?S-gRVa2k1YLYP-oFz4xi1{pi2$od& z0e+O_=}9O=QYjy1ZujkT&$&zYuirm@0@%c^jx6$N+(SV_QAZ5<6c&_SR3}Sn#osbk zG?+Scy~?H1#jh{Lr<>c zSEN&xfvxsEXFROiO@Xyi&@wCXV~=RJ8jnw8ufP5eep%Q4aeH1 z(6MaR1&W1%vF`{{dfO_ulnUu)lmEXc%DB?@1SSd}N=NduG#%;H%!4qny;{T>mqCpc zjP^MeNPM!xuq`k@P;F0vSW&8KH|xhTV6z6N_q>N=jDFy^f{OLhRxO_D)2S7ewSf`j zG;A8Uj|T#i|5oy}Wjj?X5J*=XOM0wr*1$t-8F+-p8nzAW;EBN8peaRF2;3QjIZNEY z6s85tLD)XE2xQMQe{*=mt8&40&~Ap7%bV!8cre}_nC+YUoL0!0S<+?8lCsgTysE%* zq0dM!xq7`(^9lX#;04AC#Y;dUMx*pDDhg-~rSI?-jrUV5V~+1B%Qp$WIH5+x|0s7R zt)NXToIrf#VhCgWCnIMP<6IkE046ZWT}t(p9u>S7kpVN`Fm#I8`xC@-i4Kwr9cVNi zq&i5Slji&1{sA|pBj5l4 literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/Season$1.class b/build/classes/ru/caf82/lectures/lecture03/Season$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9c0ec618d94feee2127147e70cb1a2e5b89bccf2 GIT binary patch literal 782 zcma)4+iuf95Ivi?wv)QlEu~G%trRyGZZ0h#BoId1lU8&CK!a?C(E6PXRo_y)qWDR6+@r5}{>DS2SFe@z4k@jx)lc7jN_+55goy1XCK$$TgFdAQG$K=Sj$8E?e>ccggE%U+x%zGwxq zV){(!!7)GK)Ug@)VVnlhkt0UKc%Wg;z-?FtrePRZN7Xo$abln$)9y%j7gYut)XoRB$AgZ+#+H31Z#`r%+EFBuosg%gNEytD!fyYVZir#+ z;zkVW2@f;bpjK}jb}p`XMkNPrx7*yKKmEUaElvhO#KU|Yv>$c5*X=nj0k7vcvXSb& z*=xJ6%vE|9WqK#ftjHUb2s&nPiQ+7=Pbd-sT0g)}f0e(X@Kt`r?@*N8&rn|HR3$n! zp&C(jLUp2APQO4Qy#*{`3Kd#gm0}H>cuesLw(*i;5hm%Wx#}|J2p7oa$rhm>Xq4gn Z>!{*#p0$806cx$?R>{iLqeKy={uf@xtbzal literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/Season.class b/build/classes/ru/caf82/lectures/lecture03/Season.class new file mode 100644 index 0000000000000000000000000000000000000000..591f422e61df6f7f38bec02ed94cc2c7a5c831b1 GIT binary patch literal 2423 zcma)7-BS}+6#p&x*iBd!gJ4mLhyeqL@w-;3HC42+Nl+HB6#H=rOITfY>1G#8KOWlY zW1srchtBl1(>~c)k!h>rbD!cr)af~QLkWc$$;|Gad++)9opXNY=I?+0cn;tkzDgj9 zTS>f!f{GCp#U%Pr;@3Ez+)m&a?j%W?NWj3PhN&c`aaY6p8fG+nz)G{cb&r)kOyVPa z%+e?P5*qq7%&}Nz#d!_KHJB_eXvk=&u(+sUP=lr7zKRD5^t|Jk-ZfiPt7cU}{BFK9 zIX0mnUGRczSu9*UleNvVA9!YULpXIdYnYSW?jH z1=Xr0oRU~F6{HIH#fr$_1zsK01YdI`g-ID*TrpkoK?K~mjYG5v|=8Xw3EZg;AneVNMb7hT6+td1{) zt>XgjCP9u9ugY#K*kkyj{Gce7H_}`ZmZP9EGrK)38%Bj!p19Vd9mMs(O%QqcEmM(a2ON5=)YI)*T; zV;P_7@K9CZ>jp#@j>wncBaRzVb=*Iw6r~ZBY$;+?n&v^Sd?`ZWOY3G~za~+vb z<0m?QQh)aHJ0jKQm~s>7B6xMx(x(-~%C_rJ{kL*(eC|G79@L}r%^a4u&E=+cH!g%` z_HuBt>uk1bsO6b0BWdHI<(C(Ujf5~QZ>sdhO|>DMI-B00d&_K|Cf@btEl1c2h;p=U z+f3G2tx~h-zzwJa9U(Z&&EDqOp}?kKIPKD4>o&QS17_1GY#G%?@{BeN6!?~%&3T?! zrK!+-H_V4ev3Wu^%(mC(>S?;a`{<7(ezl963(%KZD!|#f!D)KOkETlI_d>0YIP8vhQ-A@r88hHZsH>txh_tGhWrP%w?iWL1(0-a>Z9xuv# zSmKN#c$0QpaET%j=NtGqFUA)e`W@>3p>;@iA+%V-U4o~kVf+iZW8;Y$w4pU5PX0;@ z`sL~2eTLmj52tj2o?MOU(7FcwXB=g5j}$vu+$+Ua7Wa|J2}Wd*2B@4s7tPyYDn~aJ zwuj&!Aq+=xgW8ct8h5Cbn?;QUc-L+ ztRuCKb_zbcjsxL#M*~XOuR~O2P%WdBP%ClbAOSi|z3wMan{^++HC!h><{JYczG94^ zhWz;!F**b8{fX#Isxy*0_!O@_MweV3ilz?BWw%_u9!vGeT)WiCxSIE+TQ1td7wa GZQ8$aj)mJ zJy59!9)O2J%q9g|6oC)BGo%0iX2$mSALriyJj1q+QVGzLdK{=a*X3L8w&(8+dJhZTiMe`WR#UUp|_u9HcqMM%mNG3)*%{L_s|Zp zfrq@ODYb`Ah)rw>Z2Wg}ft`P8`oqE+nb^KonM?(iyL*>LA6TRGXxF{jn|~G>d?_qt zJW5_#fu)&V<-tMWQ#;XSqxW?IY&IRB8 zj@J}tsGM+ILC9yoH?YdSHC*Q?oat}_i=6S~Q-x!^V5MU;PEl>vzGC5T$U3)fUxG9) gAh+05XKQl`Z2cbU3a~y0*kR!293cN8jH+PiC;f??s{jB1 literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture03/Washable.class b/build/classes/ru/caf82/lectures/lecture03/Washable.class new file mode 100644 index 0000000000000000000000000000000000000000..79fdc8fc8dc1e917bd6c7ea3ed5adde3803c6c6f GIT binary patch literal 136 zcmX^0Z`VEs1_l!bc6J6FN=N*WRNp3h@lL+bPVelVbHlJUG4-7 zh4YdhSvJ31S+E>ohmkLW@5B6}wUOvn8JgFmC&P7yV)0)U(-j77Q(Xv#_LB6(LF872 zf6A*4WpX8DbEm?68OL8qExeLsX#7t z%B`zFhEjQ3x7@8eV(yyXa1$-ao5;e@F=}EA<2oixOk#>*^shlsV}_0xVL9BZS%=kY zn%1vW`7Q{BOSV)*Ke|haSSsttmtI&7eZgJwo^Oz*2dT#*hc4A!{47kmP?hv*tJ4*7 zs?)0ij25}4Jx!|xCS_Xbw2c&ffHCt7HZ%K()ICKhw9(#{Xm_AtmumOWPPv{>H9F8q z5!EHsn4Uxai@8jiq~8P5IqeBeKS(1f-zQ542`;t~8~es}HHI`dfE*L#qydCRLC6$( FJ^<)DlX3t6 literal 0 HcmV?d00001 diff --git a/src/ru/caf82/lectures/diagramBomberman/GameObject.java b/src/ru/caf82/lectures/diagramBomberman/GameObject.java new file mode 100644 index 0000000..7006157 --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/GameObject.java @@ -0,0 +1,9 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public interface GameObject { + void start(); + void finish(); +} diff --git a/src/ru/caf82/lectures/diagramBomberman/GameSession.java b/src/ru/caf82/lectures/diagramBomberman/GameSession.java new file mode 100644 index 0000000..4877b8f --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/GameSession.java @@ -0,0 +1,11 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public class GameSession implements Tickable { + @Override + public void tick() { + System.out.println("tick!"); + } +} diff --git a/src/ru/caf82/lectures/diagramBomberman/Movable.java b/src/ru/caf82/lectures/diagramBomberman/Movable.java new file mode 100644 index 0000000..6629aa9 --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/Movable.java @@ -0,0 +1,8 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public interface Movable extends Positioanable, Tickable{ + void move(); +} diff --git a/src/ru/caf82/lectures/diagramBomberman/Positioanable.java b/src/ru/caf82/lectures/diagramBomberman/Positioanable.java new file mode 100644 index 0000000..5b2a20e --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/Positioanable.java @@ -0,0 +1,9 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public interface Positioanable extends GameObject { + int getXPosition(); + int getYPosition(); +} diff --git a/src/ru/caf82/lectures/diagramBomberman/Temporary.java b/src/ru/caf82/lectures/diagramBomberman/Temporary.java new file mode 100644 index 0000000..e32ee17 --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/Temporary.java @@ -0,0 +1,9 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public interface Temporary extends GameObject { + int getBornTime(); + int getFinishTime(); +} diff --git a/src/ru/caf82/lectures/diagramBomberman/Tickable.java b/src/ru/caf82/lectures/diagramBomberman/Tickable.java new file mode 100644 index 0000000..8d51018 --- /dev/null +++ b/src/ru/caf82/lectures/diagramBomberman/Tickable.java @@ -0,0 +1,8 @@ +package ru.caf82.lectures.diagramBomberman; + +/** + * Created by ilysko on 18.09.17. + */ +public interface Tickable { + void tick(); +} From 1421ad2a512909691a0e31ba4d0e2b562f1d6a26 Mon Sep 17 00:00:00 2001 From: ilysko Date: Sun, 24 Sep 2017 13:10:22 +0300 Subject: [PATCH 04/29] Examples for lecture04. --- .../lecture04/ExceptionCatchingExample.class | Bin 0 -> 1144 bytes .../ExceptionCatchingIhExample.class | Bin 0 -> 1094 bytes .../lecture04/MyExceptionClassExample.class | Bin 0 -> 1255 bytes .../lecture04/StackTraceExample.class | Bin 0 -> 1247 bytes .../TemplateForMyExceptionClass.class | Bin 0 -> 674 bytes .../lecture04/ThrowExample$NegException.class | Bin 0 -> 583 bytes .../lectures/lecture04/ThrowExample.class | Bin 0 -> 1658 bytes .../lecture04/WorkWithExceptions.class | Bin 0 -> 1296 bytes nbproject/private/private.xml | 5 ++ .../lecture04/ExceptionCatchingExample.java | 21 +++++++ .../lecture04/ExceptionCatchingIhExample.java | 24 ++++++++ .../lecture04/MyExceptionClassExample.java | 52 ++++++++++++++++++ .../lectures/lecture04/StackTraceExample.java | 32 +++++++++++ .../lectures/lecture04/ThrowExample.java | 51 +++++++++++++++++ .../lecture04/WorkWithExceptions.java | 36 ++++++++++++ 15 files changed, 221 insertions(+) create mode 100644 build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/MyExceptionClassExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/StackTraceExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/TemplateForMyExceptionClass.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/ThrowExample$NegException.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/ThrowExample.class create mode 100644 build/classes/ru/caf82/lectures/lecture04/WorkWithExceptions.class create mode 100644 src/ru/caf82/lectures/lecture04/ExceptionCatchingExample.java create mode 100644 src/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.java create mode 100644 src/ru/caf82/lectures/lecture04/MyExceptionClassExample.java create mode 100644 src/ru/caf82/lectures/lecture04/StackTraceExample.java create mode 100644 src/ru/caf82/lectures/lecture04/ThrowExample.java create mode 100644 src/ru/caf82/lectures/lecture04/WorkWithExceptions.java diff --git a/build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingExample.class b/build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingExample.class new file mode 100644 index 0000000000000000000000000000000000000000..0a918cfc52f2f55a3fbba0a1dc7486779c1fc1e9 GIT binary patch literal 1144 zcmbVLOHUI~6#i~IblPEBpg?^f()w&cJBSrfPy+-KNl}xUZd_f)u?)_mnNAHZ-MRB0 zn7DEaEGi+9AHZt*hm7a8&=&2=CcXDOzI)F1&AIpV_wfmU0-h@vLMDbAxT)Y4Zp*k6 z#a&@$6-dZMF|A+*_eA8rjC>TDfGWzj`6Z? zZyVklzHLz?S#))7mAPjM|12o^J7$exzUb98oxfk4(=0>x>z+|NH)adk`kro7ebaT; zxUcV+PGx^e zN@X%Vh&JgB*R#3bi;=ijA*!Q&Ix)mcKG#2N@#>i_rR3H<-PkaN^2tt_zXaq3XBER3 zkuj&@Aqp}cshGzC9qQ`o!6BU+_eUMHP?nguc)gx4DcZ70Y-k z5;Uo)ZtcEm>4OH}gI~c(a2V{TsliF}bMtF(oM9;Z&!8BFyB%L`@6w1bgi4=kzG2f1 za_f{BZx6$CwbwL9pQdSWn}#&ns&O&QAXf#*qDvrUUx<;9XM2X(a}}b#+x8g7vbldT z42dquqU%%`VpZlDtK1GW0|6JY^SD8wU9-4kS`D3&HUGla;K7>(pC5Th01D;THg nY=ZnNxJpd5mNn5*v5IS$B*b<4t912bNJ&}-la!sJSP1Dq9JC$} literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.class b/build/classes/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.class new file mode 100644 index 0000000000000000000000000000000000000000..a50980c3529274b3eefa86b5cd98f84f2a236595 GIT binary patch literal 1094 zcmbVLO-~b16g{sko#}L-$d}*JB47dOAR?j|Hv|$$L6a&QSC4TlgPoaXIyJb%7!!B= z0~1%QOaucG68ZyNz4=4N`&ytSuyT@_ckj9Po_lWYn?HY#Y5=A%tDznJ38axxF`(ft z1~m*}SiwCNS!s@Fh+|a2n2P%f#uelk;?Hc?4xTeavm>hvu{rOp#gNL|uC-Ei)-3-O zUn>#PmG?|uTIIei{Sz=2tlJfanY>>$O#W_W(kNMGQ1z|KsWCBS%x{`jIj}u-rTYr&Qi_n*;R5T27-b#x%5z|b*)2Qt}R4!BbM-Bsmks zFe<)WM49^)t6}$MTUK|v`lZvM&vP*-WyxHk zI}^(;$s2NMIpJ#HHOLrxvLhE;AOoF#82Lm%5|N^BCwT^)jLx>v-(b7-@D=*T>tGaJ zWb2Itbfbs71bWd&h%EkrDA57AJw&>qhlm}ZZ3hE+=_&_M=^Q&if~+0rbu>x#ZoMW+ zBH~n=#2_@{kzI$09mJfZ4jqJ~sQ*>!n<0OYx(`wBaYCf3G}ScX*GSC}RKl;5$_4{FU@$`86^BAL{0oMm;_?|oa?igI3}Y4B6GxGI zE`n2j?$Al5;#awI#sgdJ+lNWnutSEeN)TC9UVF7}Iif0~K!mr8wN2~rYX7n-n$q^Y zJ%@+k{v~&tj@Y3dY7FT&wr9&-hRI^(1OLb^hkJFald+?kVpKmj&`S*$4^&95H~T~e zwpWi+Gp-0jUKi!aagJ+my}Ah0EZs`&SOU4+_89WT_kVk1Wq44hS+fJ&q~wVo1yxbD zl~l8LOuVY9YItE{9UCT0+|#gWVhhtIMloh0-!cQzwyRJImtKt@$tVSP6K_}z1dW}Tv8~FlO`ijIghCb7A0{6)p^jB6PGPE*V zp~&I^?SNbdvq2tJB2~IZvL7&tBn5T>sWyOK!T`VxQvHAo0kU@hCaA6&WS4qX-KI+` zH%Rvr@?4)J$pS8xmdKD2AxYG<7rs9kV@5qr)^} zsg)x1$OiSNb$Km~=cvCz4=dearK!e4V(55;xi)K?`crD_bZMF4Yv}#B1q@@cM=+h> N^OV5wm}~+IzX2Jt<@Nvo literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/StackTraceExample.class b/build/classes/ru/caf82/lectures/lecture04/StackTraceExample.class new file mode 100644 index 0000000000000000000000000000000000000000..98a7e659fcf383669deacb72ae3eea955422eb31 GIT binary patch literal 1247 zcmb7EO-~b16g{sUI_)sE$VZXV0xD<=!XTm|UoH&B#DXRzMC0mFhBDYrn_+5j?;p{P zYg_=)1o!?De}#D7P-w9x#!2RV+&S;wbMATVk6&L;0L-ft8;cRY0KzmZ%vIP=($FGK3E)5VEx~%KM zfQz=qOSaz>CNPrC{p(0enZkQ|SD}T~I*T>zajMo!_LpfrTUKb#V3Sv~)XEtJnnwn! zw!c%|T9Xy_xi_0@x9YsXmval~HC3rhhx@Yar*a#(&O09Gj|1p{P*!p5;?CkMRCN3Z z;(&_~u5ye7!3es!HqQX)K`(bv(DD-}OX1~A`V$5w zGBfkq7jz70hlm_P{}2|RPk$Z+38PFELO3XwVnHCrh{3UwwwuUuo?dIO*b-BHbh0kEe%g$ Ngsv%;H#mlH^EZuQ0J#7F literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/TemplateForMyExceptionClass.class b/build/classes/ru/caf82/lectures/lecture04/TemplateForMyExceptionClass.class new file mode 100644 index 0000000000000000000000000000000000000000..8e9a99f346aaf61f1cee89926d25ca72eb1d79fc GIT binary patch literal 674 zcmbV}O;5r=5Qg97qg6yv6vU5%M}&kLAW?(iLf}-rK)5e;g__cmeklGdPb41v0sbiC zY(XGZFK)6kv)h?x-r0V9zP$se<0OS7a?<3bIaEQ-LkmnH5hV5{gFR$&Eob@>-w%~4;xa5Iu@SChhgU*2@HkxvL!UE zWK@$|gRZ_Zq`FSv8lq#$kxrv>+EY$aMMd^YLxC#Iwlv2Km;aoRVSlB6sUBy3S67mct0G$~W& uDy8xau_&QJO|_7apJ%NRc903F3U+^E#iOh$v1)&?_K+n8Jqsy`;ou8i-i#pt literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/ThrowExample$NegException.class b/build/classes/ru/caf82/lectures/lecture04/ThrowExample$NegException.class new file mode 100644 index 0000000000000000000000000000000000000000..2afbf2d988a2a84d70f5f1591332add0986ba7ed GIT binary patch literal 583 zcmbV~%}&BV6otZ3Z&<>lu2VE!jLPt@p6>K2$0nt2x*8l(j literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/ThrowExample.class b/build/classes/ru/caf82/lectures/lecture04/ThrowExample.class new file mode 100644 index 0000000000000000000000000000000000000000..22536fcda8541a96102c6aabd4d28bac5c8dd8d7 GIT binary patch literal 1658 zcma)6O-~zF6g_V|X6%U}#t@f4X-)G{n?jtVq)8hZ@*%2PxM?LKT2v|0*co6_f6(zb zrOhTy)DJ0b~k6;})PWj4Iy z+;dcqU^0_QWdwx9zglwwz4M-x|K>AmwcWt%5N8{`XgM4pp8Ps{*Scq=3sz}4J@2_r zY5B6^uGwn>Z+Gooa~*G`XnRh+149BA56$*uw{oo1Eq9qb1`g;iV9uATZr=XHQEK&f z4}C_ljbH$S0;7A(4`3%SE1&s~6aFulSV<3Ev`{%@)o`Cd5evFsaE;I@3KNIZ}=|5sU89VSRgF=!KLu;T;v z{aLOv+G@MwKPG81ulql;gfw5r&cJj8ALB{{!x%9z6Twwn6BuiDmAkSbU&?}l9JSAmrL;~-WeuN$nWUghPD_B zY(n21d8)kNVytHq#_sS);ZNoSnz(U(a1^=@1APb~M!Yw1q}eCl!lFOQ9HQbaT6`I4 z>(Kgo8Bw(we?iub;T`UhhgfU#xc?VIpXqnFu&C-n>d4b4t=*sTS(q5m{ z-r9#X)P)sk+I_^`ATe;n z5TnEc98RGOvU&*T7@ejZGu*jK`9GySN1?KmC;YSf(G@#8H%bKJHdqj literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/lectures/lecture04/WorkWithExceptions.class b/build/classes/ru/caf82/lectures/lecture04/WorkWithExceptions.class new file mode 100644 index 0000000000000000000000000000000000000000..6b0beaccc639034d16f139a15b16931b288cfd1b GIT binary patch literal 1296 zcmaJfBgoqjAaW?Fk-;Akikd}qZl(WZs9d1EadUV z#H5KS1Jf2P%ovz8FelKx;)lNaD9|-Ey)BSkjcQV$r{aflvsvGh@i%8LV5C@yTqoFe zVqfpu!L0K9hQLB4ZkAnV|NUY)kgjURvT?ImST65G@zIX2ytPwT9xFcz8y`sPAB0iN zy4G!2Am=*D_12|65PbS8ht7AW95~@YIn5*bNmV)S(S~!})?q0xj!r&#(y0kdxUqDU z+>|FNWXJOZsdf0_ftIorFwd$+&DfQnc_c7+U*){!&f_V11p5A?!@%1-=1~@SQHg>% z+qYe(dEhDASN37Ep=^&nMhz_F@eYf5^y@+^JJPQCwQy3|Dn7GSL=Y|8@}@bqAKFQ8 zrl#lZBwJV1#RQC6WH;){6IgnvG}ca?`f(t&nI(bwhoJZSAkcg3erxZL z6TTCwo;8%L^8!Up9<)d1N9C`vAF8V2FzOsx(!sl7`Z?A~K}g(G$E=Csq(0~iIn)_X zUGa$bJI@QRe~%#anE3AHuFS8{(V0t#b1pI{@ZH@CcB9C3K1o0yo^b~~8fIzmBEK4J zULmu4iLPs|JMm@*-fZIsn3E+c!|z}!W1o8+Dc)47{6x0+=mOp62?I=?ceS(?i3iP? zw2@d)05fuo4&iwVQ*1Mqct$_#MvLJ^%6Z7W<}A!y!1#fDi_%Ofv(SKqa)4da z#$JdGHP5~u4 m0EQ`Gi~>eTXH&o^<&1ZTD5Ty?_eB(_J88Ye_PpXcgW-Q0KmqUo literal 0 HcmV?d00001 diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 4750962..ba3008f 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -1,4 +1,9 @@ + + + file:/home/ilysko/Desktop/WorkLearn/Coding/Java/JavaTeachingInMiphyaga/TextClassifierProject/src/ru/caf82/lectures/lecture02/StringProcessing.java + + diff --git a/src/ru/caf82/lectures/lecture04/ExceptionCatchingExample.java b/src/ru/caf82/lectures/lecture04/ExceptionCatchingExample.java new file mode 100644 index 0000000..8456e7c --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/ExceptionCatchingExample.java @@ -0,0 +1,21 @@ +package ru.caf82.lectures.lecture04; + + +public class ExceptionCatchingExample { + + public static void main(String[] args) { + try { + System.out.println(6 / 0); + } catch (ArithmeticException ex) { + System.out.println("Ошибка! Ошибка!"); + System.out.println(ex.toString()); + } + + try { + System.out.println(Long.parseLong("Mama")); + } catch (NumberFormatException ex) { + System.out.println("Снова косяк!"); + System.out.println(ex.toString()); + } + } +} diff --git a/src/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.java b/src/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.java new file mode 100644 index 0000000..c4dfc32 --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/ExceptionCatchingIhExample.java @@ -0,0 +1,24 @@ +package ru.caf82.lectures.lecture04; + +public class ExceptionCatchingIhExample { + + public static void main(String[] args) { +// try { +// System.out.println(6 / 0); +// } catch (Exception ex) { +// System.out.println("Ошибка верхнего увроня"); +// } catch (ArithmeticException ex) { +// System.out.println("Ошибка! Ошибка!"); +// System.out.println(ex.toString()); +// } + + try { + System.out.println(Long.parseLong("Mama")); + } catch (NumberFormatException ex) { + System.out.println("Снова косяк!"); + System.out.println(ex.toString()); + } catch (Exception ex) { + System.out.println("Ошибка верхнего уровня"); + } + } +} diff --git a/src/ru/caf82/lectures/lecture04/MyExceptionClassExample.java b/src/ru/caf82/lectures/lecture04/MyExceptionClassExample.java new file mode 100644 index 0000000..b741e17 --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/MyExceptionClassExample.java @@ -0,0 +1,52 @@ +package ru.caf82.lectures.lecture04; + +/** + * Created by ilysko on 24.09.17. + */ +public class MyExceptionClassExample extends TemplateForMyExceptionClass { + int amountOfSmth; + + void someMethod() { + System.out.println(amountOfSmth); + } + + void f() { + someMethod(); + } + + public MyExceptionClassExample() { + super(); + } + + public MyExceptionClassExample(Exception e) { + super(e); + } + + public MyExceptionClassExample(int amountOfSmth) { + super(); + this.amountOfSmth = amountOfSmth; + } + + public MyExceptionClassExample(String messageFullOfAnger) { + super(messageFullOfAnger); + } + + public static void main(String[] args) { + System.out.println("let's throw an exception!"); +// throw new MyExceptionClassExample("lol"); + } +} + +class TemplateForMyExceptionClass extends Exception { + TemplateForMyExceptionClass() { + super(); + } + + TemplateForMyExceptionClass(String message) { + super(message); + } + + TemplateForMyExceptionClass(Exception e) { + super(e); + } +} diff --git a/src/ru/caf82/lectures/lecture04/StackTraceExample.java b/src/ru/caf82/lectures/lecture04/StackTraceExample.java new file mode 100644 index 0000000..96b7f71 --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/StackTraceExample.java @@ -0,0 +1,32 @@ +package ru.caf82.lectures.lecture04; + +/** + * Created by ilysko on 24.09.17. + */ +public class StackTraceExample { + static void f() { + try { + throw new Exception(); + } catch (Exception e) { + for (StackTraceElement ste : e.getStackTrace()) { + System.out.println(ste.getMethodName()); + } + } + } + + static void g() { + f(); + } + + static void h() { + g(); + } + + public static void main(String[] args) { + f(); + System.out.println("---------------"); + g(); + System.out.println("---------------"); + h(); + } +} diff --git a/src/ru/caf82/lectures/lecture04/ThrowExample.java b/src/ru/caf82/lectures/lecture04/ThrowExample.java new file mode 100644 index 0000000..8c3a31a --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/ThrowExample.java @@ -0,0 +1,51 @@ +package ru.caf82.lectures.lecture04; + +public class ThrowExample { + + public static int divide(int a, int b) throws ArithmeticException, NegException { + if (b == 0) { + throw new ArithmeticException("Ты че как лох-то, на нуль делить нельзя"); + } else if( b < 0) { + throw new NegException("Мы решили, что на отрицательные числа делить нельзя"); + } + return a / b; + } + + public static void main(String[] args) { + try { + System.out.println(divide(5, 2)); + System.out.println(divide(5, 0)); + } catch (ArithmeticException ex){ + System.out.println("Мы поймали ошибку!"); + } catch (Exception ex) { + // + } + try { + System.out.println(divide(5, 2)); + System.out.println(divide(5, -1)); + } catch (NegException ex){ + System.out.println("Мы поймали ошибку!"); + } catch (Exception ex) { + // + } + try { + System.out.println(divide(5, -1)); + System.out.println(divide(5, 0)); + } catch (ArithmeticException ex){ + System.out.println("Мы поймали ошибку!"); + } catch (NegException ex) { + System.out.println("Отрицательное деление"); + } + + } + + + public static class NegException extends Exception { + NegException(){ + super(); + } + NegException(String message) { + super(message); + } + } +} diff --git a/src/ru/caf82/lectures/lecture04/WorkWithExceptions.java b/src/ru/caf82/lectures/lecture04/WorkWithExceptions.java new file mode 100644 index 0000000..0791ab8 --- /dev/null +++ b/src/ru/caf82/lectures/lecture04/WorkWithExceptions.java @@ -0,0 +1,36 @@ +package ru.caf82.lectures.lecture04; + +/** + * Created by ilysko on 24.09.17. + */ +public class WorkWithExceptions { + void ignore() throws Exception { + throw new Exception(); + } + + void catchHere() { + try { + throw new Exception(); + } catch (Exception e) { + System.out.println("Lol, i caught it just here!"); + } + } + + void throwAhead() { + try { + ignore(); + } catch (Exception e) { + System.out.println("We didn't try to catch exception in ignore(). " + + "We did it here"); + } + } + + void createNewExceptionWhileWorkingWithOld() throws MyExceptionClassExample { + try { + ignore(); + } catch (Exception e) { + System.out.println("do smth"); + throw new MyExceptionClassExample(e); + } + } +} From 598d3b1bb419dfbc137ca5aed5da207195028f71 Mon Sep 17 00:00:00 2001 From: Alena Date: Sat, 30 Sep 2017 13:23:04 +0300 Subject: [PATCH 05/29] updated --- .../preprocessing/CountVectorizer.class | Bin 0 -> 498 bytes .../preprocessing/PorterStemmer.class | Bin 0 -> 488 bytes .../preprocessing/SequenceProcessor.class | Bin 0 -> 161 bytes .../preprocessing/TfidfVectorizer.class | Bin 0 -> 498 bytes .../preprocessing/Transformer.class | Bin 0 -> 149 bytes .../preprocessing/WordProcessor.class | Bin 0 -> 153 bytes .../caf82/result/workwithfiles/FileReader.class | Bin 0 -> 363 bytes .../caf82/result/workwithfiles/FileWorker.class | Bin 0 -> 131 bytes .../caf82/result/workwithfiles/FileWriter.class | Bin 0 -> 363 bytes nbproject/private/config.properties | 0 nbproject/private/private.properties | 4 ++++ nbproject/project.properties | 4 +++- 12 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.class create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/PorterStemmer.class create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.class create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.class create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/Transformer.class create mode 100644 build/classes/ru/caf82/result/machinelearning/preprocessing/WordProcessor.class create mode 100644 build/classes/ru/caf82/result/workwithfiles/FileReader.class create mode 100644 build/classes/ru/caf82/result/workwithfiles/FileWorker.class create mode 100644 build/classes/ru/caf82/result/workwithfiles/FileWriter.class create mode 100644 nbproject/private/config.properties diff --git a/build/classes/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.class b/build/classes/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.class new file mode 100644 index 0000000000000000000000000000000000000000..0050427edae4712a90a615ac1e6c71dc351cad84 GIT binary patch literal 498 zcmbtRyH3ME5S()y8$uu<5cc_Verg1HdWzEi}-H(T%YiqZeaOA-b^6mRAamgTquI9Qp@R=!~qR z+iH;!Pjr@x(i?fB^Hj5~`L7t3Gg~NJkGM*Vo}Qf~OhuKK$wHf%IOL?+S@)PMnU?Gg z6-CX4zH((sru1xIhzAO-v9H+Bjjc!Z|MZXN`dPOTAy&Bj*Cd5*?Um$OQru;8i6H6M zvmDb?Mb6Ou&pw_N&ewC8uy)1N^MV-r2;?RKLNw(>N}jAKxFIZAaiDqh2K6dJfK9MDt=jl;h82d4XF%AT}*S56&R-kiyG7|{z+}sHCQ(Kyc zy2uPoRhF|dOr2KwOp$H)uNeBJtpsjTs-;$o%X3Mls&g+3rI+lG8%3oppXHj&nw&OO z)v&Q6Z)oC8Q5YHtBokMYHuts-`g41>QZK59E@FYvKT-q+jg!n3=RamEqrJe@W`f-HlcV|g=La0&2mx;*K!}JJBlz%uj9biP%Yo?h4dRuB0NadRmK#hMdu<(I MhpXoKE@ObbZ-H%xzW@LL literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.class b/build/classes/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.class new file mode 100644 index 0000000000000000000000000000000000000000..8708158d796583b150ddb60a5e448b4a6574af70 GIT binary patch literal 161 zcmZWjI|>3Z6r8ty0#;TY!+==W+1V=W31WC^mTa=VY&@KW2k=m0f~8Xo48wfhpXUp} z7D{2JFefb9n8otJc_yq{zGn`WPZBMs6lL9+hav1GYilmMjTTPXkGePZ<^p>*5?r|I iL3sFOs`{%TENhYWrntv*$962+gr=OSAWRB3n0^64gD-Xf literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.class b/build/classes/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.class new file mode 100644 index 0000000000000000000000000000000000000000..210e92236e01d7109c8fbb37d6ed3ef014728650 GIT binary patch literal 498 zcmbtRyH3ME5S()o8$uu<pNi>Uwr literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/preprocessing/Transformer.class b/build/classes/ru/caf82/result/machinelearning/preprocessing/Transformer.class new file mode 100644 index 0000000000000000000000000000000000000000..c456de6a95bf742a8faecc8db23e31c3ca545e22 GIT binary patch literal 149 zcmYk0Jr2S!6oZ}e6R8s?ArfMs7hq*57kEUkkSa~8mxjYJZ~zX4NH#oJvWL(9d|z(> zM`(?W##W*2V;0M2=UHKQ6$)vHGO_GOdXhpX*;pD*2P2%aU(7`I;R1Um2`=2tEIdoJ foKj7HfP$+C$c`|9!6wFoiNuSEr;R3R@Z4PnDc0Sj+lA-iWWvD*@S%)T zLc*0a`O^QNnNDYZ|F%B>ZZJsD#CeQfjDCy@LVIEg<7Hp5I<8$5m~;T9@u~ZTwYF zs-K*gW?`gXlv-SxQ=(rElr7IJ$w&jLEY?S;XJiln>Cn$f%uCnzPs&P7E&-a($iM`& O4g?q(n1Lh{0}B8K5hD}; literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/workwithfiles/FileWriter.class b/build/classes/ru/caf82/result/workwithfiles/FileWriter.class new file mode 100644 index 0000000000000000000000000000000000000000..cf97a27645d792e4e8336d4cb45f0c6a51accb1c GIT binary patch literal 363 zcma)&&q@P94935--L9_H{&@p$wFd{pgP?d3JS}>t)bs3`+Nt9%WM}Pjc@jMM06vtM zDT3EB@MFF&$z+o6pU*D<=a^*Z;wZ&1#VEy?(7$q(3)h71^khNk-PBJ^80N0xyY{tU zd9a07XOh>Y^$RO5>OZp=R<0q;a%oLzmltP7xM_Vbn_6BrF07W$b7O9mkKzK$B_W&F zt&|)+?eiZxUE4Q1K!QGDy6by{Q7kjwR?p_XSaTV6tJeRq;20fUhfb}#AwAk$nW{2d e4J5M<(7PHP>?vb7a$h;v-V Date: Sat, 30 Sep 2017 14:07:57 +0300 Subject: [PATCH 06/29] upd --- .../models/AbstractModel.class | Bin 0 -> 342 bytes .../machinelearning/models/Boosting.class | Bin 0 -> 363 bytes .../models/KNeighbourhood.class | Bin 0 -> 381 bytes .../machinelearning/models/LinearKernel.class | Bin 0 -> 376 bytes .../models/LogisticRegression.class | Bin 0 -> 393 bytes .../machinelearning/models/NaiveBayes.class | Bin 0 -> 369 bytes .../machinelearning/models/NormalKernel.class | Bin 0 -> 376 bytes .../classes/ru/caf82/result/others/Dao.class | Bin 0 -> 110 bytes .../result/others/DaoImplementation.class | Bin 0 -> 322 bytes .../ModelSelectionHibernateEntity.class | Bin 0 -> 358 bytes .../result/others/ReviewHibernateEntity.class | Bin 0 -> 334 bytes .../ru/caf82/result/others/SwingModel.class | Bin 0 -> 301 bytes .../caf82/result/others/SwingTraining.class | Bin 0 -> 310 bytes nbproject/build-impl.xml | 19 +++++++++++++----- nbproject/genfiles.properties | 6 +++--- nbproject/project.properties | 1 + nbproject/project.xml | 1 + .../machinelearning/models/AbstractModel.java | 14 +++++++++++++ .../machinelearning/models/Boosting.java | 14 +++++++++++++ .../models/KNeighbourhood.java | 14 +++++++++++++ .../machinelearning/models/LinearKernel.java | 14 +++++++++++++ .../models/LogisticRegression.java | 14 +++++++++++++ .../machinelearning/models/NaiveBayes.java | 14 +++++++++++++ .../machinelearning/models/NormalKernel.java | 14 +++++++++++++ .../main/java/ru/caf82/result/others/Dao.java | 14 +++++++++++++ .../result/others/DaoImplementation.java | 14 +++++++++++++ .../others/ModelSelectionHibernateEntity.java | 14 +++++++++++++ .../result/others/ReviewHibernateEntity.java | 14 +++++++++++++ .../ru/caf82/result/others/SwingModel.java | 14 +++++++++++++ .../ru/caf82/result/others/SwingTraining.java | 14 +++++++++++++ 30 files changed, 201 insertions(+), 8 deletions(-) create mode 100644 build/classes/ru/caf82/result/machinelearning/models/AbstractModel.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/Boosting.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/KNeighbourhood.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/LinearKernel.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/LogisticRegression.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/NaiveBayes.class create mode 100644 build/classes/ru/caf82/result/machinelearning/models/NormalKernel.class create mode 100644 build/classes/ru/caf82/result/others/Dao.class create mode 100644 build/classes/ru/caf82/result/others/DaoImplementation.class create mode 100644 build/classes/ru/caf82/result/others/ModelSelectionHibernateEntity.class create mode 100644 build/classes/ru/caf82/result/others/ReviewHibernateEntity.class create mode 100644 build/classes/ru/caf82/result/others/SwingModel.class create mode 100644 build/classes/ru/caf82/result/others/SwingTraining.class create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/AbstractModel.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/NormalKernel.java create mode 100644 result/src/main/java/ru/caf82/result/others/Dao.java create mode 100644 result/src/main/java/ru/caf82/result/others/DaoImplementation.java create mode 100644 result/src/main/java/ru/caf82/result/others/ModelSelectionHibernateEntity.java create mode 100644 result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java create mode 100644 result/src/main/java/ru/caf82/result/others/SwingModel.java create mode 100644 result/src/main/java/ru/caf82/result/others/SwingTraining.java diff --git a/build/classes/ru/caf82/result/machinelearning/models/AbstractModel.class b/build/classes/ru/caf82/result/machinelearning/models/AbstractModel.class new file mode 100644 index 0000000000000000000000000000000000000000..97c761e51f683b88ce6d7ffe04b6bd8a8c4fe015 GIT binary patch literal 342 zcmbV{%}T^D6ot?2^haxT2H(J)x-cMv2#PQWt~%pFnf+~yPKLCFH1)k)2`+p9A4^Yi7o@}}!uP&Mm~5S(G(*ycsmLUo;5R9*0_!*Z}! zg#4lHy*77tZ20qgw&hnY5F;VX|AQyY2841f{rA<@=zt?cvimS3N7$mNI5m18IeiDc aNf03uO(g~j?2J0R6YL_Fo3JMuq4)u7hf@3i literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/models/Boosting.class b/build/classes/ru/caf82/result/machinelearning/models/Boosting.class new file mode 100644 index 0000000000000000000000000000000000000000..ccd3ed8b37f6fbc7b4018298f8c1543587a267b3 GIT binary patch literal 363 zcmb7A%Sr?>5Uie^hmNzZ_y^w9gF)GYpa`qrY4oD(JrkoF$xI;0_+Op`4}O3jC3Y6Q zYZ|J%s_E(`pI`4E0Or`KF~PLLc7++CJU4@h7lg_F!IF?)xd%;{wPw(_W8Z0iFFVW1 zZtIk^OX*GGKVlwNCJ>HWKMExuPfvu`VYE^7Qmxp*YUu|vJc*uNZ4j5vg~$|Kr4>3(-pzZ_-uRL&hJH9&zw$#*&#>bD%hU1HH14 Yp<*mq1{!RvG1Ub&QFA72F=lAK0pLShO8@`> literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/models/KNeighbourhood.class b/build/classes/ru/caf82/result/machinelearning/models/KNeighbourhood.class new file mode 100644 index 0000000000000000000000000000000000000000..b1545b10c7024c579466276bcc93d04dd2d81e9c GIT binary patch literal 381 zcmbVIO-sW-5Pg&8Lu0f>e}Omk;DS^XEP@EV7<*BA-)z@rWs`-?#{cC>@Zb;dM~Rc- z#hW+-Z|1#WKA6w1_YVM5Omd8{n_(}*n2^p)Yr-{QbacEV#J6sx3FFeVdeJwP_K&i% ztn8OgNxPKZ4E#roLv1?3Md^E?SVkCs~e=Q(P|JZj^b-_y&?uR>Zh=^Y_7_svKj43m* g;Xrco26|;7LdKY~3>4Vf;E*TSM$VD2!x*9X2K#zqRsaA1 literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/models/LinearKernel.class b/build/classes/ru/caf82/result/machinelearning/models/LinearKernel.class new file mode 100644 index 0000000000000000000000000000000000000000..7938ef66252733b091b45469166dc0d9a95ce439 GIT binary patch literal 376 zcmbVI%SyyR5UkGTp)tDZA9zy_4)_4U#f#u&!(NoVce3MVWRihN;(vJ(Joo{Al-RR) z@F>ne^;8vI-OT6L`v-ta?B|$ZH^W|rDIuMi&J4GN$??gO5Z}3#CQM7y>BZPq+COq- zML8^8&34J&1pXt&Lt}cvRq01n^V9XY^12`GpjxgQNwAuIXS%g&CDrySq_UrDFV+nq ze{iF(^}PuL4t|?w&-}s#VkCr%e}v0Uf9#qsv{^TmEYdi)!Vx0*op4C5%oj|BsSO8` d(>Kto2oW;DRAivQ)&|2n!8UTKgdM>M#WyzkU@!mx literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/machinelearning/models/LogisticRegression.class b/build/classes/ru/caf82/result/machinelearning/models/LogisticRegression.class new file mode 100644 index 0000000000000000000000000000000000000000..3a88880ddbb31b79cb3c444e4ce17de88fcb554b GIT binary patch literal 393 zcmbVIJxjzu5Pg%&hsNlMjkTRxxFA<3CkG-}MGKYdH|v^PNj9*%@qbwf7XAQ#lsJ3X z*@!dnX5M4In9r~G4*)almY86>z)pcFA-^!zgau)8c(f#>SHq(wOlxEH?btWkJ;16RN*Gxi~}V6u4u&0M=<8h h#F_)y@f+xsg#-m-&N5J8V~sJ-u!)i*VT&((PefirueC8z=h>;ME{%uT{{&D8A_JdW7catIHsqr0y^|d`Ba;kF693DS;K2{@qr}eQ z!J{|>)l*e;bu*t|?;ilJFiSDPeu9GpQ$jp9t?BOwlatdGA-s2MO_=7U)y2@1+COq> zMLEh{#dgKsjQmFo``UDb>)a2j;-{Mn<#jjMUNv0Rl3+Fa*0dYdNUH5r;e5k(sl8aY zg!I7;zS0Xb4mkX6oiOJN>b1S!lDVOIf6LZjECE@;l=pxiVic7N)iw fh|bJlFjt-2e!M)^nC z7$%3cYo%FAucQBiX;|r=FsuC_TKRl&CcNqg6NC#Z<$G}>-J*Lns#7+|pq;%Wln-w3 zt-94Q^=ND3bS>Xxg%lZK`rlZ>Bz_Y{+81%(tW_IujD+uuMckannzIud4`j0s&^vJ$uD7#H9_?YxmZhq literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/others/ModelSelectionHibernateEntity.class b/build/classes/ru/caf82/result/others/ModelSelectionHibernateEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..652d262376ed27893cb72e79cb1124e952c17b73 GIT binary patch literal 358 zcmbVI%Sr=55Uk$pL)X;={~$T32L~jGpm-6*!x|3>xzDbnnJ~`4?5yBtc@jMM0e+O& z6Fhsc8>+jCrn>2`?~hLaQ;bRsuv=iSz>tt%Xsg2|VQ_G`B&1jFK@oIU03dWpepu*M$W1nFgC0D`@V}j}jf&y9z literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/others/ReviewHibernateEntity.class b/build/classes/ru/caf82/result/others/ReviewHibernateEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..853f290118e4205b314da42ebab4baed249de3c0 GIT binary patch literal 334 zcmb7LW`-d@CyWhGen0sK&s z* zt47Ff+19$5X=j4}g|VNTjxa7=uWJ2tcA^}2edAT@=j=Ll$4kSn*G6Kj_Izc%@o(pZ z{J!m7%~KPS_x{`(FZ5Cuh>;ME{}WFbg|Dj7_F3Il3$8u(5y{P=NLn&QQ*mnTf#m1| b^e!MmCYlNc3T&)3%n3G;%S+f2jZmxrGwe`; literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/others/SwingModel.class b/build/classes/ru/caf82/result/others/SwingModel.class new file mode 100644 index 0000000000000000000000000000000000000000..b3060590ba1543179225713c37608c9cce340ca2 GIT binary patch literal 301 zcmaiv&q~8U5XQer^QXqt6yKnDQ4cOi4}}&lLQhc-Exm8z+HP4B*lgP8>Phh61Nczl zY$c_X zF8^EIZRJj82oVuR{{|6;{=YD?UW=DP0zSzXadQxB%uXCV5Z!)&4h#Y$tTAIC SL;t9Lj&O#QU&1+Sfb18-e?rLs literal 0 HcmV?d00001 diff --git a/build/classes/ru/caf82/result/others/SwingTraining.class b/build/classes/ru/caf82/result/others/SwingTraining.class new file mode 100644 index 0000000000000000000000000000000000000000..33defa2b24b402eb7769ba99325ec39798dc140c GIT binary patch literal 310 zcma)1O-sW-5Pg&8qsG*h{)0j(>cNH5gP?dR^c31dOYfVwrd#3$HXHl9JP98B0sbg) z5_<9G47{25hIzw$|9pM{SYQ;Rhe3p^2tz{nsEu|{gx>Ydp5QO5XGIvM+NgE&nkl=J zS;@*ct#VoJrPVDzi@rPPnlMXkBXaq2KNnWjP3c7C4$9VId(x)ZS;;3%@j!^TRbz9t z(w*a<>D^Jj$pk(E!t_6Ogi*U9N@)tQ$&M;_n84%T+8|E$VhovyjswB%2k4yz4-sR? UGLWF(VcQ3|K+KhJ$><^Z1)y?9vj6}9 literal 0 HcmV?d00001 diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index bc3e7cb..8984b75 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -128,6 +128,7 @@ is divided into following sections: + @@ -231,6 +232,7 @@ is divided into following sections: Must set src.dir + Must set src.java.dir Must set test.src.dir Must set build.dir Must set dist.dir @@ -252,7 +254,7 @@ is divided into following sections: - + @@ -293,7 +295,7 @@ is divided into following sections: - + @@ -326,7 +328,7 @@ is divided into following sections: - + @@ -924,12 +926,13 @@ is divided into following sections: - + + @@ -950,7 +953,7 @@ is divided into following sections: Must select some files in the IDE or set javac.includes - + @@ -1219,6 +1222,9 @@ is divided into following sections: + + + @@ -1229,6 +1235,9 @@ is divided into following sections: + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 8e99bbf..6f43c7e 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=0fd20a72 +build.xml.data.CRC32=d5755bb5 build.xml.script.CRC32=687418d1 build.xml.stylesheet.CRC32=8064a381@1.80.1.48 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=0fd20a72 -nbproject/build-impl.xml.script.CRC32=fbbe4592 +nbproject/build-impl.xml.data.CRC32=d5755bb5 +nbproject/build-impl.xml.script.CRC32=15ae12f4 nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/nbproject/project.properties b/nbproject/project.properties index 9b71eae..e581035 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -73,4 +73,5 @@ run.test.classpath=\ ${build.test.classes.dir} source.encoding=UTF-8 src.dir=src +src.java.dir=result\\src\\main\\java test.src.dir=test diff --git a/nbproject/project.xml b/nbproject/project.xml index 764375f..4b1a601 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -6,6 +6,7 @@ TextClassifierProject + diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/AbstractModel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/AbstractModel.java new file mode 100644 index 0000000..ef49b81 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/AbstractModel.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class AbstractModel { + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java b/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java new file mode 100644 index 0000000..6778d53 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class Boosting extends AbstractModel{ + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java new file mode 100644 index 0000000..f48000f --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class KNeighbourhood extends AbstractModel{ + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java new file mode 100644 index 0000000..3f091a9 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class LinearKernel extends KNeighbourhood { + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java new file mode 100644 index 0000000..438d5ef --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class LogisticRegression extends AbstractModel { + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java new file mode 100644 index 0000000..c19274f --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class NaiveBayes extends AbstractModel { + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/NormalKernel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/NormalKernel.java new file mode 100644 index 0000000..204689c --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/NormalKernel.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class NormalKernel extends KNeighbourhood { + +} diff --git a/result/src/main/java/ru/caf82/result/others/Dao.java b/result/src/main/java/ru/caf82/result/others/Dao.java new file mode 100644 index 0000000..bdc9823 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/Dao.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public interface Dao { + +} diff --git a/result/src/main/java/ru/caf82/result/others/DaoImplementation.java b/result/src/main/java/ru/caf82/result/others/DaoImplementation.java new file mode 100644 index 0000000..66ea048 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/DaoImplementation.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class DaoImplementation { + +} diff --git a/result/src/main/java/ru/caf82/result/others/ModelSelectionHibernateEntity.java b/result/src/main/java/ru/caf82/result/others/ModelSelectionHibernateEntity.java new file mode 100644 index 0000000..2afc099 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/ModelSelectionHibernateEntity.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class ModelSelectionHibernateEntity { + +} diff --git a/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java b/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java new file mode 100644 index 0000000..c7f2cb3 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class ReviewHibernateEntity { + +} diff --git a/result/src/main/java/ru/caf82/result/others/SwingModel.java b/result/src/main/java/ru/caf82/result/others/SwingModel.java new file mode 100644 index 0000000..83f366f --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/SwingModel.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class SwingModel { + +} diff --git a/result/src/main/java/ru/caf82/result/others/SwingTraining.java b/result/src/main/java/ru/caf82/result/others/SwingTraining.java new file mode 100644 index 0000000..ba90dd7 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/others/SwingTraining.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class SwingTraining { + +} From a2118cb966d960fc2db74eed4a3157ed9a46493c Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Mon, 2 Oct 2017 21:49:24 +0300 Subject: [PATCH 07/29] hackathon --- naivebayes/MlModel.java | 26 ++++++ naivebayes/ModelNotFittedException.java | 25 ++++++ naivebayes/NaiveBayes.java | 102 ++++++++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100644 naivebayes/MlModel.java create mode 100644 naivebayes/ModelNotFittedException.java create mode 100644 naivebayes/NaiveBayes.java diff --git a/naivebayes/MlModel.java b/naivebayes/MlModel.java new file mode 100644 index 0000000..9d349e3 --- /dev/null +++ b/naivebayes/MlModel.java @@ -0,0 +1,26 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.naivebayes; + +import java.io.IOException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public interface MlModel { + MlModel train(double[][] X, int[] y) throws InconveninentShapeException; + + int[] predict(double[] X) throws ModelNotFittedException, InconveninentShapeException; + + double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException; + + + void saveToFile(String filename) throws IOException; + + +} diff --git a/naivebayes/ModelNotFittedException.java b/naivebayes/ModelNotFittedException.java new file mode 100644 index 0000000..50fe8b0 --- /dev/null +++ b/naivebayes/ModelNotFittedException.java @@ -0,0 +1,25 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.naivebayes; + +/** + * + * @author Алена + */ +class ModelNotFittedException extends Exception { + ModelNotFittedException() { + super(); + } + ModelNotFittedException(String message) { + super(message); + } + ModelNotFittedException(Throwable cause) { + super(cause); + } + ModelNotFittedException(Throwable cause, String message) { + super(message); + } +} diff --git a/naivebayes/NaiveBayes.java b/naivebayes/NaiveBayes.java new file mode 100644 index 0000000..8128d97 --- /dev/null +++ b/naivebayes/NaiveBayes.java @@ -0,0 +1,102 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.naivebayes; + +import java.io.IOException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public class NaiveBayes implements MlModel { + private float alpha; + private double[][] weights; + private boolean fitted; + private boolean parallel; + public NaiveBayes(float alpha, boolean parallel) { + //Миша сказал забить + } + public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { + //считаем у=0 и y=1 + if (X.length != y.length) + throw new InconveninentShapeException(); + double yZer = 0, yOne = 0; + for (int i=0; i Date: Sun, 8 Oct 2017 21:43:08 +0300 Subject: [PATCH 08/29] upd --- naivebayes/NaiveBayes.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/naivebayes/NaiveBayes.java b/naivebayes/NaiveBayes.java index 8128d97..2387c6a 100644 --- a/naivebayes/NaiveBayes.java +++ b/naivebayes/NaiveBayes.java @@ -1,4 +1,4 @@ -/* +/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. @@ -40,9 +40,9 @@ public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { for (int j=0; j Date: Mon, 9 Oct 2017 08:31:25 +0300 Subject: [PATCH 09/29] upd --- naivebayes/NaiveBayes.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/naivebayes/NaiveBayes.java b/naivebayes/NaiveBayes.java index 2387c6a..337db54 100644 --- a/naivebayes/NaiveBayes.java +++ b/naivebayes/NaiveBayes.java @@ -51,8 +51,8 @@ public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { for (int k=0; k Date: Sat, 14 Oct 2017 12:52:41 +0300 Subject: [PATCH 10/29] upd --- .../exceptions/EmptyArrayException.java | 29 ++ .../InconveninentShapeException.java | 31 ++ .../InconveninentTypesException.java | 31 ++ .../exceptions/ModelNotFittedException.java | 27 ++ .../exceptions/OutOfBondsException.java | 31 ++ .../machinelearning/models/Boosting.java | 34 +- .../models/KNeighbourhood.java | 52 ++- .../machinelearning/models/LinearKernel.java | 28 +- .../models/LogisticRegression.java | 33 +- .../machinelearning/models/MlModel.java | 27 ++ .../machinelearning/models/NaiveBayes.java | 117 ++++++- .../machinelearning/models/NormalKernel.java | 28 +- .../preprocessing/CountVectorizer.java | 14 +- .../preprocessing/PorterStemmer.java | 14 +- .../preprocessing/SequenceProcessor.java | 14 +- .../preprocessing/TfidfVectorizer.java | 14 +- .../preprocessing/Transformer.java | 14 +- .../preprocessing/WordProcessor.java | 14 +- .../main/java/ru/caf82/result/others/Dao.java | 28 +- .../result/others/DaoImplementation.java | 28 +- .../ru/caf82/result/others/MathService.java | 191 +++++++++++ .../others/ModelSelectionHibernateEntity.java | 28 +- .../caf82/result/others/MyOwnArrayList.java | 164 +++++++++ .../caf82/result/others/MyOwnLinkedList.java | 320 ++++++++++++++++++ .../result/others/ReviewHibernateEntity.java | 28 +- .../ru/caf82/result/others/SwingModel.java | 28 +- .../ru/caf82/result/others/SwingTraining.java | 28 +- .../result/workwithfiles/FileReader.java | 14 +- .../result/workwithfiles/FileWorker.java | 14 +- .../result/workwithfiles/FileWriter.java | 14 +- 30 files changed, 1206 insertions(+), 231 deletions(-) create mode 100644 result/src/main/java/ru/caf82/result/exceptions/EmptyArrayException.java create mode 100644 result/src/main/java/ru/caf82/result/exceptions/InconveninentShapeException.java create mode 100644 result/src/main/java/ru/caf82/result/exceptions/InconveninentTypesException.java create mode 100644 result/src/main/java/ru/caf82/result/exceptions/ModelNotFittedException.java create mode 100644 result/src/main/java/ru/caf82/result/exceptions/OutOfBondsException.java create mode 100644 result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java create mode 100644 result/src/main/java/ru/caf82/result/others/MathService.java create mode 100644 result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java create mode 100644 result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java diff --git a/result/src/main/java/ru/caf82/result/exceptions/EmptyArrayException.java b/result/src/main/java/ru/caf82/result/exceptions/EmptyArrayException.java new file mode 100644 index 0000000..630a940 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/exceptions/EmptyArrayException.java @@ -0,0 +1,29 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.exceptions; + +/** + * + * @author Алена + */ +public class EmptyArrayException extends Exception{ + + public EmptyArrayException() { + super(); + }; + + public EmptyArrayException(String message) { + super(message); + }; + + public EmptyArrayException(String message, Throwable cause) { + super(message, cause); + }; + + public EmptyArrayException(Throwable cause) { + super(cause); + }; +} diff --git a/result/src/main/java/ru/caf82/result/exceptions/InconveninentShapeException.java b/result/src/main/java/ru/caf82/result/exceptions/InconveninentShapeException.java new file mode 100644 index 0000000..efe32f8 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/exceptions/InconveninentShapeException.java @@ -0,0 +1,31 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.exceptions; + +/** + * + * @author Алена + */ +public class InconveninentShapeException extends Exception { + + public InconveninentShapeException() { + super(); + }; + + public InconveninentShapeException(String message) { + super(message); + }; + + public InconveninentShapeException(String message, Throwable cause) { + super(message, cause); + }; + + public InconveninentShapeException(Throwable cause) { + super(cause); + }; + + +} diff --git a/result/src/main/java/ru/caf82/result/exceptions/InconveninentTypesException.java b/result/src/main/java/ru/caf82/result/exceptions/InconveninentTypesException.java new file mode 100644 index 0000000..6a78df5 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/exceptions/InconveninentTypesException.java @@ -0,0 +1,31 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.exceptions; + +/** + * + * @author Алена + */ +public class InconveninentTypesException extends Exception { + + public InconveninentTypesException() { + super(); + }; + + public InconveninentTypesException(String message) { + super(message); + }; + + public InconveninentTypesException(String message, Throwable cause) { + super(message, cause); + }; + + public InconveninentTypesException(Throwable cause) { + super(cause); + }; + + +} diff --git a/result/src/main/java/ru/caf82/result/exceptions/ModelNotFittedException.java b/result/src/main/java/ru/caf82/result/exceptions/ModelNotFittedException.java new file mode 100644 index 0000000..f2efa4c --- /dev/null +++ b/result/src/main/java/ru/caf82/result/exceptions/ModelNotFittedException.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.exceptions; + +import ru.caf82.naivebayes.*; + +/** + * + * @author Алена + */ +public class ModelNotFittedException extends Exception { + ModelNotFittedException() { + super(); + } + ModelNotFittedException(String message) { + super(message); + } + ModelNotFittedException(Throwable cause) { + super(cause); + } + ModelNotFittedException(Throwable cause, String message) { + super(message); + } +} diff --git a/result/src/main/java/ru/caf82/result/exceptions/OutOfBondsException.java b/result/src/main/java/ru/caf82/result/exceptions/OutOfBondsException.java new file mode 100644 index 0000000..bbdf2c2 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/exceptions/OutOfBondsException.java @@ -0,0 +1,31 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.exceptions; + +/** + * + * @author Алена + */ +public class OutOfBondsException extends Exception { + + public OutOfBondsException() { + super(); + }; + + public OutOfBondsException(String message) { + super(message); + }; + + public OutOfBondsException(String message, Throwable cause) { + super(message, cause); + }; + + public OutOfBondsException(Throwable cause) { + super(cause); + }; + + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java b/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java index 6778d53..0533fd3 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/Boosting.java @@ -1,14 +1,20 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.machinelearning.models; - -/** - * - * @author Алена - */ -public class Boosting extends AbstractModel{ - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +import java.io.IOException; +import ru.caf82.naivebayes.ModelNotFittedException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public class Boosting { + + + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java index f48000f..c6a3621 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java @@ -1,14 +1,38 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.machinelearning.models; - -/** - * - * @author Алена - */ -public class KNeighbourhood extends AbstractModel{ - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +import java.io.IOException; +import ru.caf82.naivebayes.ModelNotFittedException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public class KNeighbourhood implements MlModel{ + + @Override + public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public int[] predict(double[] X) throws ModelNotFittedException, InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void saveToFile(String filename) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java index 3f091a9..f7f1639 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LinearKernel.java @@ -1,14 +1,14 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.machinelearning.models; - -/** - * - * @author Алена - */ -public class LinearKernel extends KNeighbourhood { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +public class LinearKernel extends KNeighbourhood { + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java index 438d5ef..3f0d162 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java @@ -1,14 +1,19 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.machinelearning.models; - -/** - * - * @author Алена - */ -public class LogisticRegression extends AbstractModel { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +import java.io.IOException; +import ru.caf82.naivebayes.ModelNotFittedException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public class LogisticRegression { + + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java new file mode 100644 index 0000000..60a4bb1 --- /dev/null +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +import java.io.IOException; +import ru.caf82.result.exceptions.ModelNotFittedException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public interface MlModel { + MlModel train(double[][] X, int[] y) throws InconveninentShapeException; + + int[] predict(double[] X) throws ModelNotFittedException, InconveninentShapeException; + + double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException; + + + void saveToFile(String filename) throws IOException; + + +} diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java index c19274f..f52a71e 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java @@ -1,14 +1,103 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.machinelearning.models; - -/** - * - * @author Алена - */ -public class NaiveBayes extends AbstractModel { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.machinelearning.models; + +/** + * + * @author Алена + */ +import java.io.IOException; +import ru.caf82.result.exceptions.InconveninentShapeException; + +/** + * + * @author Алена + */ +public class NaiveBayes implements MlModel { + private float alpha; + private double[][] weights; + private boolean fitted; + private boolean parallel; + public NaiveBayes(float alpha, boolean parallel) { + //Миша сказал забить + } + public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { + //считаем у=0 и y=1 + if (X.length != y.length) + throw new InconveninentShapeException(); + double yZer = 0, yOne = 0; + for (int i=0; i { + + private T[] inner; + private Class innerClass; + private int size; + private int capacity; + + MyOwnArrayList() { + size = 0; + capacity = 10; + } + + MyOwnArrayList(int cap) { + size = 0; + capacity = cap; + } + + MyOwnArrayList(Class inC) { + size = 0; + innerClass = inC; + capacity = 10; + } + public void add (T value) throws InconveninentTypesException { + + if (innerClass==null) + innerClass = value.getClass(); + else + if (value.getClass()!=innerClass) + throw new InconveninentTypesException("Добавленный элемент не соответсвует содержимому MyOwnArrayList"); + size++; + T[] oldInner = (T[])Array.newInstance(innerClass, size-1); + oldInner = inner; + if (size>capacity) + inner = (T[])Array.newInstance(innerClass, size); + else + inner = (T[])Array.newInstance(innerClass, capacity); + for (int i = 0; i=size)|(position<0)) + throw new OutOfBondsException("Выбранная позиция выходит за предел"); + if (innerClass==null) + innerClass = value.getClass(); + else + if (value.getClass()!=innerClass) + throw new InconveninentTypesException("Добавленный элемент не соответсвует содержимому MyOwnArrayList"); + size++; + T[] oldInner = (T[])Array.newInstance(innerClass, size-1); + oldInner = inner; + if (size>capacity) + inner = (T[])Array.newInstance(innerClass, size); + else + inner = (T[])Array.newInstance(innerClass, capacity); + for (int i = 0; i0) + return true; + else + return false; + } + + public void set (int position, T value) throws OutOfBondsException { + if ((position>=size)||(position<0)) + throw new OutOfBondsException("Выбранная позиция выходит за предел"); + inner[position] = value; + } + + public void clear () { + inner = null; + size = 0; + innerClass = null; + } + + public void printMyOwnArrayList() { + System.out.print("{"); + for (int i=0; i { + + private MyLinkedList first; + private MyLinkedList last; + private int size; + + public MyOwnLinkedList() { + first = last = null; + size = 0; + } + public void add (T value) { + MyLinkedList mll = new MyLinkedList(value); + if (last==null) { + first = mll; + last = mll; + } + else { + last.next = mll; + last = mll; + } + size++; + } + + public void add (T value, int position) throws OutOfBondsException { + if (position==0) + addFirst(value); + else { + MyLinkedList counter = first; + if ((position<0)|(position>size+1)) + throw new OutOfBondsException("Выбранная позиция выходит за предел"); + if (position==size+1) + addLast(value); + else { + int now = 0; + MyLinkedList added = new MyLinkedList(value); + counter = first; + while (now!=position-1) { + now = now + 1; + counter = counter.next; + } + added.next = counter.next; + counter.next = added; + } + } + size++; + } + public void addFirst (T value) { + MyLinkedList mll = new MyLinkedList(value); + mll.next = first; + first = mll; + size++; + } + + public void addLast (T value) { + add(value); + } + + public void printMyOwnLinkedList() { + MyLinkedList mll = first; + while (mll!=null) { + System.out.print(mll.element.toString()+ " "); + mll = mll.next; + } + System.out.println(); + } + + public boolean contains (T value) { + MyLinkedList mll = first; + while (mll!=null) { + if (mll.element==value) + return true; + mll = mll.next; + } + return false; + } + + public void remove () { + MyLinkedList mustBeDeleted = first; + first = mustBeDeleted.next; + mustBeDeleted = null; + size--; + } + + public void remove (int position) throws OutOfBondsException { + if (position==0) + removeFirst(); + else { + if ((position<0)||(position>size+1)) + throw new OutOfBondsException("Выбранная позиция выходит за предел"); + if (position==size+1) + removeLast(); + else { + MyLinkedList counter = first; + int now = 0; + while (now!=position-1) { + now = now + 1; + counter = counter.next; + } + MyLinkedList mustBeDeleted = counter.next; + counter.next = mustBeDeleted.next; + mustBeDeleted = null; + size--; + } + } + } + + public void remove (T value) throws OutOfBondsException { + MyLinkedList mll = first; + int position=0; + while ((mll!=null)&(mll.element!=value)){ + mll = mll.next; + position++; + } + remove(position); + + } + + public void removeFirst () { + remove(); + } + + public void removeLast() { + MyLinkedList mll = first; + while (mll.next.next!=null) + mll = mll.next; + mll.next = null; + last = mll; + size--; + + } + + public void set (T value, int position) throws OutOfBondsException { + if (position==0) + first.element = value; + else { + MyLinkedList counter = first; + + if ((position<0)||(position>=size)) + throw new OutOfBondsException("Выбранная позиция выходит за предел"); + + int now = 0; + + counter = first; + while (now!=position) { + now = now + 1; + counter = counter.next; + } + counter.element = value; + } + } + public T peekFirst() { + return peek(); + } + + public T peekLast() { + if (last.element!=null) + return last.element; + else + return null; + } + + public T peek () { + if (first.element!=null) + return first.element; + else + return null; + } + + public T poll () { + T thisElem = peek(); + removeFirst(); + return thisElem; + } + + public T pollFirst() { + return poll(); + } + + public T pollLast() { + T thisElem = peekLast(); + removeLast(); + return thisElem; + } + public boolean addAll(int index,Collection collection) { + T[] mustBeAdded = (T[]) collection.toArray(); + if ((index>size)|(mustBeAdded.length==0)) + return false; + else { + MyOwnLinkedList moll = toBond(mustBeAdded); + if (index==0) { + MyLinkedList mll = first; + first = moll.first; + moll.last.next = mll; + } + else { + if (index==size) { + last.next = moll.first; + } + else { + int now = 0; + MyLinkedList mll = first; + while (now!=index-1) { + now++; + mll = mll.next; + } + MyLinkedList saved = mll.next; + mll.next = moll.first; + moll.last.next = saved; + } + } + return true; + } + } + + public boolean addAll (Collection collection) { + T[] mustBeAdded = (T[]) collection.toArray(); + if (mustBeAdded.length==0) + return false; + else + { + MyOwnLinkedList moal = toBond(mustBeAdded); + last.next = moal.first; + return true; + } + } + + private MyOwnLinkedList toBond (T[] array) { + MyOwnLinkedList moll = new MyOwnLinkedList(); + for (int i = 0; i { + MyLinkedList next; + T element; + public MyLinkedList(T el) { + element = el; + } + } + + public static void main(String[] args) { + try { + MyOwnLinkedList myOwnLinkedList = new MyOwnLinkedList(); + System.out.println("Добавим элементы: "); + myOwnLinkedList.add("Apple"); + myOwnLinkedList.add("Bear"); + myOwnLinkedList.add("Candy"); + myOwnLinkedList.add("Door"); + myOwnLinkedList.add("Eagle"); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Есть ли элемент Apple? "); + boolean isC = myOwnLinkedList.contains("Apple"); + System.out.println(isC); + System.out.println("Есть ли элемент Discovery? "); + isC = myOwnLinkedList.contains("Discovery"); + System.out.println(isC); + System.out.println("Добавим элемент Swan на третье место: "); + myOwnLinkedList.add("Swan", 3); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Добавим элемент Handsome в начало: "); + myOwnLinkedList.addFirst("Handsome"); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Добавим элемент Flu в конец: "); + myOwnLinkedList.addLast("Flu"); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Удалим первый элемент: "); + myOwnLinkedList.remove(); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Добавим элемент Dwarf на четвертую позицию: "); + myOwnLinkedList.add("Dwarf",4); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Удалим элемент на позиции 2: "); + myOwnLinkedList.remove(2); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Удалим элемент Bear: "); + myOwnLinkedList.remove("Bear"); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Удалим последний элемент: "); + myOwnLinkedList.removeLast(); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Заменим второй элемент на Beauty: "); + myOwnLinkedList.set("Beauty", 2); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("peek/peek first: " + myOwnLinkedList.peek()); + System.out.println("peek last: " + myOwnLinkedList.peekLast()); + System.out.println("poll/poll first: " + myOwnLinkedList.poll()); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("poll last: " + myOwnLinkedList.pollLast()); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Создадим новую коллекцию: "); + Collection col1 = new ArrayList(); + col1.add("Liver"); + col1.add("Heart"); + col1.add("Boom"); + System.out.println(col1.toString()); + System.out.println("Вставим ее в конец: "); + myOwnLinkedList.addAll(col1); + myOwnLinkedList.printMyOwnLinkedList(); + System.out.println("Создадим новую коллекцию: "); + Collection col = new ArrayList(); + col.add("Miracle"); + col.add("Friend"); + col.add("Factory"); + System.out.println(col.toString()); + System.out.println("Вставим ее на место 1: "); + myOwnLinkedList.addAll(1, col); + myOwnLinkedList.printMyOwnLinkedList(); + } catch (OutOfBondsException ex) { + System.out.println(ex.getMessage()); + } + } +} \ No newline at end of file diff --git a/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java b/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java index c7f2cb3..9a60077 100644 --- a/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java +++ b/result/src/main/java/ru/caf82/result/others/ReviewHibernateEntity.java @@ -1,14 +1,14 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.others; - -/** - * - * @author Алена - */ -public class ReviewHibernateEntity { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class ReviewHibernateEntity { + +} diff --git a/result/src/main/java/ru/caf82/result/others/SwingModel.java b/result/src/main/java/ru/caf82/result/others/SwingModel.java index 83f366f..947f4e3 100644 --- a/result/src/main/java/ru/caf82/result/others/SwingModel.java +++ b/result/src/main/java/ru/caf82/result/others/SwingModel.java @@ -1,14 +1,14 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.others; - -/** - * - * @author Алена - */ -public class SwingModel { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class SwingModel { + +} diff --git a/result/src/main/java/ru/caf82/result/others/SwingTraining.java b/result/src/main/java/ru/caf82/result/others/SwingTraining.java index ba90dd7..5392aa8 100644 --- a/result/src/main/java/ru/caf82/result/others/SwingTraining.java +++ b/result/src/main/java/ru/caf82/result/others/SwingTraining.java @@ -1,14 +1,14 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package ru.caf82.result.others; - -/** - * - * @author Алена - */ -public class SwingTraining { - -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package ru.caf82.result.others; + +/** + * + * @author Алена + */ +public class SwingTraining { + +} diff --git a/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java b/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java index 993dc1d..d1e1d6a 100644 --- a/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java +++ b/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java @@ -1,7 +1,7 @@ -package ru.caf82.result.workwithfiles; - -/** - * Created by ilysko on 03.08.17. - */ -public class FileReader implements FileWorker { -} +package ru.caf82.result.workwithfiles; + +/** + * Created by ilysko on 03.08.17. + */ +public class FileReader implements FileWorker { +} diff --git a/result/src/main/java/ru/caf82/result/workwithfiles/FileWorker.java b/result/src/main/java/ru/caf82/result/workwithfiles/FileWorker.java index 9fe4f42..434ca7b 100644 --- a/result/src/main/java/ru/caf82/result/workwithfiles/FileWorker.java +++ b/result/src/main/java/ru/caf82/result/workwithfiles/FileWorker.java @@ -1,7 +1,7 @@ -package ru.caf82.result.workwithfiles; - -/** - * Created by ilysko on 03.08.17. - */ -public interface FileWorker { -} +package ru.caf82.result.workwithfiles; + +/** + * Created by ilysko on 03.08.17. + */ +public interface FileWorker { +} diff --git a/result/src/main/java/ru/caf82/result/workwithfiles/FileWriter.java b/result/src/main/java/ru/caf82/result/workwithfiles/FileWriter.java index 3de089c..ea5b694 100644 --- a/result/src/main/java/ru/caf82/result/workwithfiles/FileWriter.java +++ b/result/src/main/java/ru/caf82/result/workwithfiles/FileWriter.java @@ -1,7 +1,7 @@ -package ru.caf82.result.workwithfiles; - -/** - * Created by ilysko on 03.08.17. - */ -public class FileWriter implements FileWorker { -} +package ru.caf82.result.workwithfiles; + +/** + * Created by ilysko on 03.08.17. + */ +public class FileWriter implements FileWorker { +} From dde5b65c182caa757c71f8a064b1088291b345ae Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 14 Oct 2017 12:54:28 +0300 Subject: [PATCH 11/29] Homework#6 --- result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java index 2686ecc..8537033 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java @@ -110,8 +110,6 @@ public void printMyOwnArrayList() { System.out.print(inner[size-1] + "}\n"); } - - public static void main(String[] args) { MyOwnArrayList myOwnArrayList = new MyOwnArrayList(); try { From 6761e9c6d9bc1ad646eaff4b2f1cf96cb39271ef Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 14 Oct 2017 12:55:17 +0300 Subject: [PATCH 12/29] Homework#6 --- .../src/main/java/ru/caf82/result/others/MyOwnLinkedList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java b/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java index 30cdf2d..5469422 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java @@ -245,7 +245,6 @@ public MyLinkedList(T el) { element = el; } } - public static void main(String[] args) { try { MyOwnLinkedList myOwnLinkedList = new MyOwnLinkedList(); @@ -317,4 +316,4 @@ public static void main(String[] args) { System.out.println(ex.getMessage()); } } -} \ No newline at end of file +} From bc048d5f22d05133795f00d6aa3e0ea307befccb Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sun, 15 Oct 2017 14:34:42 +0300 Subject: [PATCH 13/29] Homework#6 --- .../java/ru/caf82/result/others/MyOwnArrayList.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java index 8537033..91b3581 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java @@ -39,8 +39,7 @@ public void add (T value) throws InconveninentTypesException { T[] oldInner = (T[])Array.newInstance(innerClass, size-1); oldInner = inner; if (size>capacity) - inner = (T[])Array.newInstance(innerClass, size); - else + ensureCapacity(size); inner = (T[])Array.newInstance(innerClass, capacity); for (int i = 0; icapacity) - inner = (T[])Array.newInstance(innerClass, size); - else - inner = (T[])Array.newInstance(innerClass, capacity); + ensureCapacity(size); + inner = (T[])Array.newInstance(innerClass, capacity); for (int i = 0; i Date: Fri, 20 Oct 2017 10:32:24 +0300 Subject: [PATCH 14/29] Homework#6 --- .../caf82/result/others/MyOwnLinkedList.java | 63 ++++++++++++++++--- 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java b/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java index 5469422..aaf0d6e 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnLinkedList.java @@ -20,10 +20,18 @@ public void add (T value) { if (last==null) { first = mll; last = mll; + first.next =last; + first.prev = last; + last.prev = first; + last.next = first; } else { + MyLinkedList saved = last; last.next = mll; last = mll; + last.prev = saved; + first.prev = last; + last.next = first; } size++; } @@ -45,6 +53,7 @@ public void add (T value, int position) throws OutOfBondsException { now = now + 1; counter = counter.next; } + added.prev = counter; added.next = counter.next; counter.next = added; } @@ -53,7 +62,11 @@ public void add (T value, int position) throws OutOfBondsException { } public void addFirst (T value) { MyLinkedList mll = new MyLinkedList(value); - mll.next = first; + MyLinkedList saved = first; + mll.next = saved; + mll.prev = last; + saved.prev = mll; + last.next = mll; first = mll; size++; } @@ -64,19 +77,23 @@ public void addLast (T value) { public void printMyOwnLinkedList() { MyLinkedList mll = first; - while (mll!=null) { + int now = 0; + while (now!=size) { System.out.print(mll.element.toString()+ " "); mll = mll.next; + now++; } System.out.println(); } public boolean contains (T value) { MyLinkedList mll = first; - while (mll!=null) { + int now = 0; + while (now!=size) { if (mll.element==value) return true; mll = mll.next; + now++; } return false; } @@ -84,6 +101,8 @@ public boolean contains (T value) { public void remove () { MyLinkedList mustBeDeleted = first; first = mustBeDeleted.next; + first.prev = last; + last.next = first; mustBeDeleted = null; size--; } @@ -105,6 +124,7 @@ public void remove (int position) throws OutOfBondsException { } MyLinkedList mustBeDeleted = counter.next; counter.next = mustBeDeleted.next; + mustBeDeleted.next.prev = counter; mustBeDeleted = null; size--; } @@ -114,12 +134,15 @@ public void remove (int position) throws OutOfBondsException { public void remove (T value) throws OutOfBondsException { MyLinkedList mll = first; int position=0; - while ((mll!=null)&(mll.element!=value)){ + if (position >size+1 ) + throw new OutOfBondsException("Элемент не найден."); + else { + while ((mll.element!=value)){ mll = mll.next; position++; } remove(position); - + } } public void removeFirst () { @@ -128,10 +151,15 @@ public void removeFirst () { public void removeLast() { MyLinkedList mll = first; - while (mll.next.next!=null) + int now = 0; + while (now!=size-1) { mll = mll.next; + now++; + } + last = mll.prev; mll.next = null; - last = mll; + last.next = first; + first.prev = last; size--; } @@ -198,10 +226,17 @@ public boolean addAll(int index,Collection collection) { MyLinkedList mll = first; first = moll.first; moll.last.next = mll; + mll.prev = moll.last; + last.next = first; + first.prev = last; } else { if (index==size) { - last.next = moll.first; + last.next = moll.first; + moll.first.prev = last; + last = moll.last; + first.prev = last; + last.next = first; } else { int now = 0; @@ -212,9 +247,12 @@ public boolean addAll(int index,Collection collection) { } MyLinkedList saved = mll.next; mll.next = moll.first; + moll.first.prev = mll; moll.last.next = saved; + saved.prev = moll.last; } } + size = size+mustBeAdded.length; return true; } } @@ -227,6 +265,11 @@ public boolean addAll (Collection collection) { { MyOwnLinkedList moal = toBond(mustBeAdded); last.next = moal.first; + moal.first.prev = last; + last = moal.last; + first.prev = last; + last.next = first; + size = size+mustBeAdded.length; return true; } } @@ -240,11 +283,13 @@ private MyOwnLinkedList toBond (T[] array) { public class MyLinkedList { MyLinkedList next; + MyLinkedList prev; T element; public MyLinkedList(T el) { element = el; } } + public static void main(String[] args) { try { MyOwnLinkedList myOwnLinkedList = new MyOwnLinkedList(); @@ -316,4 +361,4 @@ public static void main(String[] args) { System.out.println(ex.getMessage()); } } -} +} \ No newline at end of file From e06d82a34b5c041f1c574dec30e6a7981519772b Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:38:24 +0300 Subject: [PATCH 15/29] Homework#6 --- .../main/java/ru/caf82/result/others/MyOwnArrayList.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java index 91b3581..154a5fa 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java @@ -39,7 +39,7 @@ public void add (T value) throws InconveninentTypesException { T[] oldInner = (T[])Array.newInstance(innerClass, size-1); oldInner = inner; if (size>capacity) - ensureCapacity(size); + ensureCapacity((capacity*3)/2+1); inner = (T[])Array.newInstance(innerClass, capacity); for (int i = 0; icapacity) - ensureCapacity(size); + ensureCapacity((capacity*3)/2+1); inner = (T[])Array.newInstance(innerClass, capacity); for (int i = 0; i Date: Sat, 21 Oct 2017 23:39:23 +0300 Subject: [PATCH 16/29] upd --- .../models/KNeighbourhood.java | 4 ++-- .../models/LogisticRegression.java | 22 ++++++++++++++++++- .../machinelearning/models/MlModel.java | 2 +- .../machinelearning/models/NaiveBayes.java | 3 ++- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java index c6a3621..1c061e9 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/KNeighbourhood.java @@ -21,12 +21,12 @@ public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { } @Override - public int[] predict(double[] X) throws ModelNotFittedException, InconveninentShapeException { + public int[] predict(double[] X) throws InconveninentShapeException { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override - public double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException { + public double[] predictProba(double[] X) throws InconveninentShapeException { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java index 3f0d162..c729031 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java @@ -13,7 +13,27 @@ * * @author Алена */ -public class LogisticRegression { +public class LogisticRegression implements MlModel{ + + @Override + public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public int[] predict(double[] X) throws ru.caf82.result.exceptions.ModelNotFittedException, InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public double[] predictProba(double[] X) throws ru.caf82.result.exceptions.ModelNotFittedException, InconveninentShapeException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void saveToFile(String filename) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java b/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java index 60a4bb1..eb6c00a 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/MlModel.java @@ -13,7 +13,7 @@ * * @author Алена */ -public interface MlModel { +public interface MlModel{ MlModel train(double[][] X, int[] y) throws InconveninentShapeException; int[] predict(double[] X) throws ModelNotFittedException, InconveninentShapeException; diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java index f52a71e..13f8b0d 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java @@ -11,12 +11,13 @@ */ import java.io.IOException; import ru.caf82.result.exceptions.InconveninentShapeException; +import java.io.Serializable; /** * * @author Алена */ -public class NaiveBayes implements MlModel { +public class NaiveBayes implements MlModel, Serializable { private float alpha; private double[][] weights; private boolean fitted; From 8bca8305fe2c5e0a7a41783b3ca9ebc831099539 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:40:38 +0300 Subject: [PATCH 17/29] Homework#7 --- .../result/workwithfiles/FileReader.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java b/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java index d1e1d6a..c9cd982 100644 --- a/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java +++ b/result/src/main/java/ru/caf82/result/workwithfiles/FileReader.java @@ -1,7 +1,51 @@ package ru.caf82.result.workwithfiles; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import ru.caf82.result.machinelearning.models.MlModel; /** * Created by ilysko on 03.08.17. */ public class FileReader implements FileWorker { + public static String readFrom (String pathToFile) { + String textString = ""; + try(FileInputStream reader = new FileInputStream(pathToFile)) + { + byte[] arByte = new byte[reader.available()]; + reader.read(arByte); + textString = new String(arByte); + } + catch(IOException ex){ + System.out.println(ex.getMessage()); + } finally { + return textString; + } + } + + public static void saveMlModelToFile (MlModel model) throws IOException { + FileOutputStream fos = new FileOutputStream("MlModel.out"); + ObjectOutputStream oos = new ObjectOutputStream(fos); + oos.writeObject(model); + oos.flush(); + oos.close(); + + } + public static MlModel loadMlModelToFile () throws IOException, ClassNotFoundException { + FileInputStream fis = new FileInputStream("MlModel.out"); + ObjectInputStream oin = new ObjectInputStream(fis); + MlModel model = (MlModel)oin.readObject(); + return model; + } + + + public static void main(String[] args) { + /* String directory = "C:\\SomeDir\\notes3.txt"; + String textFromFile = readFrom(directory); + System.out.println(textFromFile); + */ + } } From 90c0b460dde6998e0e54f6d96013956283b7d137 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:51:01 +0300 Subject: [PATCH 18/29] upd --- .../models/LogisticRegression.java | 156 ++++++++++++++++-- 1 file changed, 140 insertions(+), 16 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java index c729031..52004b3 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/LogisticRegression.java @@ -3,30 +3,138 @@ * To change this template file, choose Tools | Templates * and open the template in the editor. */ -package ru.caf82.result.machinelearning.models; +package result.machinelearning.preprocessing; +import Exeptions.EmptyArrayException; +import Exeptions.InconveninentShapeException; +import Exeptions.ModelNotFittedException; +import java.io.Serializable; +import java.util.Random; +import Other.MathService; import java.io.IOException; -import ru.caf82.naivebayes.ModelNotFittedException; -import ru.caf82.result.exceptions.InconveninentShapeException; +import java.util.logging.Level; +import java.util.logging.Logger; /** * - * @author Алена + * @author User */ -public class LogisticRegression implements MlModel{ +public class LogisticRegression implements MlModel, Serializable { +//private float alpha; +//private float betta; +//private boolean parralize; +//private float learnRate; +//private Random initializer = new Random(); +private int ITERATES=1000; +private double rate=0.001; - @Override - public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } +private double[] weights; +//private boolean fitted = false; - @Override - public int[] predict(double[] X) throws ru.caf82.result.exceptions.ModelNotFittedException, InconveninentShapeException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + // public LogisticRegression2(float alpha, float betta, int maxIter, float learnRate, boolean parralize) {} + public static double sigmoid(double z){ + return 1/(1+Math.exp(-z)); + } + /** + * Инициализация массива векторв - нужно добавить первый столбец с одними единицами + * @param X - координаты векторов + * @return + */ + static public double[][] init(double[][]X){ + int i,j; + double [][]Y=new double[X.length][X.length+1]; + for(i=0;i0.5){ + System.out.println("It is a dog"); + probability[0]=1; + }else if(ver<0.4)System.out.println("It is a cat"); + else System.out.println("I don't know"); + return probability; + } @Override - public double[] predictProba(double[] X) throws ru.caf82.result.exceptions.ModelNotFittedException, InconveninentShapeException { + public double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @@ -34,6 +142,22 @@ public double[] predictProba(double[] X) throws ru.caf82.result.exceptions.Model public void saveToFile(String filename) throws IOException { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } - - + } +// public double[] predictProba(double[] X) throws ModelNotFittedException, InconveninentShapeException {} +// public void saveToFile(String filename) throws IOException {} +// public double[] getWeights() {} +// public float getAlpha() {} +// public void setAlpha(float alpha) {} +// public float getBetta() {} +// public void setBetta(float betta) {} +// public int getMaxIter() {} +// public void setMaxIter(int maxIter) {} +// public boolean isParralize() {} +// public void setParralize(boolean parralize) {} +// public float getLearnRate() {} +// public void setLearnRate(float learnRate) {} +// private double lossFunction(double[][] X, double[] W, int[] y) throws InconveninentShapeException {} +// private double[] lossFunctionDerivative(double[][] X, double[] W, +// int[] y, float alpha, float betta) throws InconveninentShapeException {} +//} From d87edde0ec578be719f7f540c5866300dc3e8446 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:53:56 +0300 Subject: [PATCH 19/29] upd --- .../preprocessing/CountVectorizer.java | 204 +++++++++++++++++- 1 file changed, 201 insertions(+), 3 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.java b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.java index d3d7535..b5dd1cf 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/CountVectorizer.java @@ -1,7 +1,205 @@ -package ru.caf82.result.machinelearning.preprocessing; +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package result.machinelearning.preprocessing; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** - * Created by ilysko on 03.08.17. + * + * @author User */ -public class CountVectorizer implements SequenceProcessor, Transformer { + + public class CountVectorizer implements SequenceProcessor, Transformer{ +private Map matrix = new HashMap<>(); +private String[] stopWords; +final float minDf; +final float maxDf; +final boolean parralize; +private static List defaultStopWordsList = new ArrayList( +Arrays.asList(new String[]{ +"а","е","и","ж","м","о","на","не","ни","об","но","он","мне","мои","мож","она","они","оно", +"мной","много","многочисленное","многочисленная","многочисленные","многочисленный", +"мною","мой","мог","могут","можно","может","можно","мор","моя","моё","мочь","над","нее", +"оба","нам","нем","нами","ними","мимо","немного","одной","одного","менее","однажды","однако", +"меня","нему","меньше","ней","наверху","него","ниже","мало","надо","один","одиннадцать","одиннадцатый", +"назад","наиболее","недавно","миллионов","недалеко","между","низко","меля","нельзя","нибудь", +"непрерывно","наконец","никогда","никуда","нас","наш","нет","нею","неё","них","мира","наша", +"наше","наши","ничего","начала","нередко","несколько","обычно","опять","около","мы","ну","нх","от","отовсюду", +"особенно","нужно","очень","отсюда","в","во","вон","вниз","внизу","вокруг","вот","восемнадцать", +"восемнадцатый","восемь","восьмой","вверх","вам","вами","важное","важная","важные","важный","вдали","везде", +"ведь","вас","ваш","ваша","ваше","ваши","впрочем","весь","вдруг","вы","все","второй","всем","всеми","времени","время", +"всему","всего","всегда","всех","всею","всю","вся","всё","всюду","г","год","говорил","говорит","года","году","где", +"да","ее","за","из","ли","же","им","до","по","ими","под","иногда","довольно","именно","долго","позже", +"более","должно","пожалуйста","значит","иметь","больше","пока","ему","имя","пор","пора","потом","потому","после", +"почему","почти","посреди","ей","два","две","двенадцать","двенадцатый","двадцать","двадцатый", +"двух","его","дел","или","без","день","занят","занята","занято","заняты","действительно","давно", +"девятнадцать","девятнадцатый","девять","девятый","даже","алло","жизнь","далеко","близко","здесь","дальше","для", +"лет","зато","даром","первый","перед","затем","зачем","лишь","десять","десятый","ею","её","их","бы","еще","при", +"был","про","процентов","против","просто","бывает","бывь","если","люди","была","были","было","будем","будет","будете","будешь", +"прекрасно","буду","будь","будто","будут","ещё","пятнадцать","пятнадцатый","друго","другое","другой","другие","другая","других","есть","пять", +"быть","лучше","пятый","к","ком","конечно","кому","кого","когда","которой","которого","которая","которые","который","которых","кем", +"каждое","каждая","каждые","каждый","кажется","как","какой","какая","кто","кроме","куда","кругом","с","т","у","я", +"та","те","уж","со","то","том","снова","тому","совсем","того","тогда","тоже","собой","тобой","собою","тобою", +"сначала","только","уметь","тот","тою","хорошо","хотеть","хочешь","хоть","хотя","свое","свои","твой","своей","своего","своих", +"свою","твоя","твоё","раз","уже","сам","там","тем","чем","сама","сами","теми","само","рано","самом","самому", +"самой","самого","семнадцать","семнадцатый","самим","самими","самих","саму", +"семь","чему","раньше","сейчас","чего","сегодня","себе","тебе","сеаой","человек","разве","теперь","себя","тебя","седьмой","спасибо", +"слишком","так","такое","такой","такие","также","такая","сих","тех","чаще","четвертый","через","часто","шестой","шестнадцать","шестнадцатый", +"шесть","четыре","четырнадцать","четырнадцатый","сколько","сказал","сказала","сказать", +"ту","ты","три","эта","эти","что","это","чтоб","этом","этому","этой","этого","чтобы","этот","стал","туда", +"этим","этими","рядом","тринадцать","тринадцатый","этих","третий","тут","эту","суть","чуть","тысяч" +}) +); + +/** +* Заполняет матрицу +* @see CountVectorizer#matrix слова и возвращает список Мапов +* @param listOfTexts Список текстов +* @return Список Мапов +*/ +@Override +public List> fitAndTransform(List listOfTexts) { +List> listOfMaps = new ArrayList<>(); +for (String text : listOfTexts) { +List list = preprocess(text); +listOfMaps.add(countWordsAndEditMatrix(list)); +} +return listOfMaps; +} + +/** +* Заполняет матрицу +* @see CountVectorizer#matrix словами из списка текстов +* @param listOfTexts Список текстов +*/ +@Override +public void fit(List listOfTexts) { +for (String text : listOfTexts) { +List list = preprocess(text); +countWordsAndEditMatrix(list); +} +} + +/** +* Метод извлекающий слова из переданного в метод текста. +* Не учитываются слова поля из +* @see CountVectorizer#defaultStopWordsList +* Используется класс +* @see PorterStemmer для стемминга +* @param text Текст, из которого извлекаются слова +* @return Список слов +*/ +@Override +public List preprocess(String text) { +PorterStemmer stemmer = new PorterStemmer(); +text = text.toLowerCase().replaceAll("[^а-я -]","").replaceAll(" +-"," ").replaceAll("- +"," "); + +String[] array = text.split(" +"); +for (int i = 0; i list = new ArrayList(Arrays.asList(array)); +list.removeAll(defaultStopWordsList); +return list; +} + +/** +* Возвращает список Мапов из слов, взятых из переданного списка текстов +* @param listOfTexts Список текстов +* @return Список Мапов +*/ +@Override +public List> transform(List listOfTexts) { +List> listOfMaps = new ArrayList<>(); +for (String text : listOfTexts) { +List list = preprocess(text); +listOfMaps.add(countWords(list)); +} +return listOfMaps; +} + +/** +* Два конструктора +*/ +public CountVectorizer(float minDf, float maxDf, String[] stopWords, boolean parralize) { +this.minDf = minDf; +this.maxDf = maxDf; +this.stopWords = stopWords; +this.parralize = parralize; +} +public CountVectorizer(float minDf, float maxDf) { +this.minDf = minDf; +this.maxDf = maxDf; +parralize = false; +} +public CountVectorizer(String[] stopWords) { +this.stopWords = stopWords; +minDf = 1; +maxDf = 1; +parralize = false; +} +public CountVectorizer() { +minDf = 1; +maxDf = 1; +parralize = false; +} + +/** +* Геттеры для полей +* @see CountVectorizer#minDf и +* @see CountVectorizer#maxDf +*/ +public float getMinDf() { +return minDf; +} +public float getMaxDf() { +return maxDf; +} + +/** +* Считает, сколько раз встретилось одно слово в переданном списке слов +* @param words Список слов, в котором счиатем слова +* @return Map, в котором ключ - это слово, значение - сколько раз встретилось данное слово +*/ + +private Map countWords(List words) { +Map map = new HashMap(); +int value = 1; +for (String word : words) { +if (map.containsKey(word)) { +value += map.get(word); +} + +map.put(word, value); +} +return map; +} + +/** +* Делаем то же самое, что и в методе +* @see CountVectorizer#countWords(List), но еще и добавляем это в матрицу +* @see CountVectorizer#matrix +* @param words Список слов, в котором счиатем слова +* @return Map, в котором ключ - это слово, значение - сколько раз встретилось данное слово +*/ +private Map countWordsAndEditMatrix(List words) { +Map map = countWords(words); +int valueFromMatrix = 0; +for (Map.Entry pair : map.entrySet()) { +String key = pair.getKey(); +if (matrix.containsKey(key)) { +valueFromMatrix = matrix.get(key); +} +matrix.put(key, valueFromMatrix + pair.getValue()); +} +return map; +} + } From d74c85ae9d47aad687ea83518a89c1834833c578 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:55:06 +0300 Subject: [PATCH 20/29] upd --- .../preprocessing/PorterStemmer.java | 99 ++++++++++++++++++- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/PorterStemmer.java b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/PorterStemmer.java index 10bfe99..f525302 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/PorterStemmer.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/PorterStemmer.java @@ -1,7 +1,100 @@ -package ru.caf82.result.machinelearning.preprocessing; +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package result.machinelearning.preprocessing; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** - * Created by ilysko on 03.08.17. + * Stolen by ilysko on 03.08.17. + * original: http://www.algorithmist.ru/2010/12/porter-stemmer-russian.html */ -public class PorterStemmer implements Transformer, WordProcessor { +public class PorterStemmer { + + private static final Pattern PERFECTIVEGROUND = Pattern.compile("((ив|ивши|ившись|ыв|ывши|ывшись)|((?<=[ая])(в|вши|вшись)))$"); + + private static final Pattern REFLEXIVE = Pattern.compile("(с[яь])$"); + + private static final Pattern ADJECTIVE = Pattern.compile("(ее|ие|ые|ое|ими|ыми|ей|ий|ый|ой|ем|им|ым|ом|его|ого|ему|ому|их|ых|ую|юю|ая|яя|ою|ею)$"); + + private static final Pattern PARTICIPLE = Pattern.compile("((ивш|ывш|ующ)|((?<=[ая])(ем|нн|вш|ющ|щ)))$"); + + private static final Pattern VERB = Pattern.compile("((ила|ыла|ена|ейте|уйте|ите|или|ыли|ей|уй|ил|ыл|им|ым|ен|ило|ыло|ено|ят|ует|уют|ит|ыт|ены|ить|ыть|ишь|ую|ю)|((?<=[ая])(ла|на|ете|йте|ли|й|л|ем|н|ло|но|ет|ют|ны|ть|ешь|нно)))$"); + + private static final Pattern NOUN = Pattern.compile("(а|ев|ов|ие|ье|е|иями|ями|ами|еи|ии|и|ией|ей|ой|ий|й|иям|ям|ием|ем|ам|ом|о|у|ах|иях|ях|ы|ь|ию|ью|ю|ия|ья|я)$"); + + private static final Pattern RVRE = Pattern.compile("^(.*?[аеиоуыэюя])(.*)$"); + + private static final Pattern DERIVATIONAL = Pattern.compile(".*[^аеиоуыэюя]+[аеиоуыэюя].*ость?$"); + + private static final Pattern DER = Pattern.compile("ость?$"); + + private static final Pattern SUPERLATIVE = Pattern.compile("(ейше|ейш)$"); + + private static final Pattern I = Pattern.compile("и$"); + private static final Pattern P = Pattern.compile("ь$"); + private static final Pattern NN = Pattern.compile("нн$"); + + public String stem(String word) { + word = word.toLowerCase(); + word = word.replace('ё', 'е'); + Matcher m = RVRE.matcher(word); + if (m.matches()) { + String pre = m.group(1); + String rv = m.group(2); + String temp = PERFECTIVEGROUND.matcher(rv).replaceFirst(""); + if (temp.equals(rv)) { + rv = REFLEXIVE.matcher(rv).replaceFirst(""); + temp = ADJECTIVE.matcher(rv).replaceFirst(""); + if (!temp.equals(rv)) { + rv = temp; + rv = PARTICIPLE.matcher(rv).replaceFirst(""); + } else { + temp = VERB.matcher(rv).replaceFirst(""); + if (temp.equals(rv)) { + rv = NOUN.matcher(rv).replaceFirst(""); + } else { + rv = temp; + } + } + + } else { + rv = temp; + } + + rv = I.matcher(rv).replaceFirst(""); + + if (DERIVATIONAL.matcher(rv).matches()) { + rv = DER.matcher(rv).replaceFirst(""); + } + + temp = P.matcher(rv).replaceFirst(""); + if (temp.equals(rv)) { + rv = SUPERLATIVE.matcher(rv).replaceFirst(""); + rv = NN.matcher(rv).replaceFirst("н"); + } else { + rv = temp; + } + word = pre + rv; + + } + + return word; + } + + /** + * Some tests + */ + public static void main(String[] args) { + PorterStemmer porterStemmer = new PorterStemmer(); + String[] listOfWords = new String[] {"букварь", "здравие", + "птица", "интересный", "космос", "космический"}; + for (String word: listOfWords) { + System.out.println("Результат применения PorterStemmer к слову " + word + " : " +porterStemmer.stem(word)); + } + } + } From c6bc6850ce078f64ce2c41bb890555974bba3006 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:55:45 +0300 Subject: [PATCH 21/29] upd --- .../preprocessing/SequenceProcessor.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.java b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.java index 825f6d6..beba12b 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/SequenceProcessor.java @@ -1,7 +1,24 @@ -package ru.caf82.result.machinelearning.preprocessing; +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package result.machinelearning.preprocessing; + +import java.util.List; +import java.util.Map; /** - * Created by ilysko on 03.08.17. + * + * @author User */ public interface SequenceProcessor { + public List> fitAndTransform(List listOfTexts); + + public void fit(List listOfTexts); + + public List preprocess(String text); + + public List> transform(List listOfTexts); + } From e2ca56f919f28a0e65855811d48bb67954010ea3 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sat, 21 Oct 2017 23:56:29 +0300 Subject: [PATCH 22/29] upd --- .../preprocessing/TfidfVectorizer.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.java b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.java index f3b6bcf..712372b 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/preprocessing/TfidfVectorizer.java @@ -4,4 +4,24 @@ * Created by ilysko on 03.08.17. */ public class TfidfVectorizer implements SequenceProcessor, Transformer { + + @Override + public List> fitAndTransform(List listOfTexts) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void fit(List listOfTexts) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public List preprocess(String text) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public List> transform(List listOfTexts) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } From 69b42e69aa584209c381f58af81c7e5d270142fc Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Sun, 5 Nov 2017 21:52:59 +0400 Subject: [PATCH 23/29] updated NB --- naivebayes/NaiveBayes.java | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/naivebayes/NaiveBayes.java b/naivebayes/NaiveBayes.java index 337db54..7b20c56 100644 --- a/naivebayes/NaiveBayes.java +++ b/naivebayes/NaiveBayes.java @@ -23,7 +23,7 @@ public NaiveBayes(float alpha, boolean parallel) { public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { //считаем у=0 и y=1 if (X.length != y.length) - throw new InconveninentShapeException(); + throw new InconveninentShapeException("Неверные входные параметры."); double yZer = 0, yOne = 0; for (int i=0; i Date: Sun, 5 Nov 2017 21:59:31 +0400 Subject: [PATCH 24/29] updated NB --- .../machinelearning/models/NaiveBayes.java | 49 +++++++++++-------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java index 13f8b0d..3e905fe 100644 --- a/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java +++ b/result/src/main/java/ru/caf82/result/machinelearning/models/NaiveBayes.java @@ -5,30 +5,26 @@ */ package ru.caf82.result.machinelearning.models; -/** - * - * @author Алена - */ import java.io.IOException; import ru.caf82.result.exceptions.InconveninentShapeException; -import java.io.Serializable; /** * * @author Алена */ -public class NaiveBayes implements MlModel, Serializable { +public class NaiveBayes implements MlModel { private float alpha; private double[][] weights; private boolean fitted; private boolean parallel; public NaiveBayes(float alpha, boolean parallel) { //Миша сказал забить - } + } + public MlModel train(double[][] X, int[] y) throws InconveninentShapeException { //считаем у=0 и y=1 if (X.length != y.length) - throw new InconveninentShapeException(); + throw new InconveninentShapeException("Неверные входные параметры."); double yZer = 0, yOne = 0; for (int i=0; i Date: Mon, 27 Nov 2017 15:57:49 +0300 Subject: [PATCH 25/29] #Homework. Iterator added --- .../caf82/result/others/MyOwnArrayList.java | 25 +++++++++++++++-- .../caf82/result/others/MyOwnLinkedList.java | 28 +++++++++++++++++-- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java index 154a5fa..ec245ac 100644 --- a/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java +++ b/result/src/main/java/ru/caf82/result/others/MyOwnArrayList.java @@ -2,11 +2,12 @@ package ru.caf82.result.others; import java.lang.reflect.Array; +import java.util.Iterator; import ru.caf82.result.exceptions.InconveninentTypesException; import ru.caf82.result.exceptions.OutOfBondsException; -public class MyOwnArrayList { +public class MyOwnArrayList implements Iterable { private T[] inner; private Class innerClass; @@ -156,7 +157,27 @@ public static void main(String[] args) { } catch (OutOfBondsException ex) { System.out.println(ex.getMessage()); } - + Iterator iter = myOwnArrayList.iterator(); + while (iter.hasNext()) + System.out.println(iter.next()); + } + + @Override + public Iterator iterator() { + return new Iterator() { + int nowPosition; + @Override + public boolean hasNext() { + + return nowPosition { +public class MyOwnLinkedList implements Iterable{ private MyLinkedList first; private MyLinkedList last; @@ -280,7 +281,26 @@ private MyOwnLinkedList toBond (T[] array) { moll.add(array[i]); return moll; } - + + @Override + public Iterator iterator() { + return new Iterator() { + MyLinkedList nowPosition = first; + + @Override + public boolean hasNext() { + + return nowPosition.next!=first; + } + + @Override + public T next() { + nowPosition = nowPosition.next; + return (T) nowPosition.prev.element; + + } + }; + } public class MyLinkedList { MyLinkedList next; MyLinkedList prev; @@ -357,8 +377,12 @@ public static void main(String[] args) { System.out.println("Вставим ее на место 1: "); myOwnLinkedList.addAll(1, col); myOwnLinkedList.printMyOwnLinkedList(); + Iterator iter = myOwnLinkedList.iterator(); + while (iter.hasNext()) + System.out.println(iter.next()); } catch (OutOfBondsException ex) { System.out.println(ex.getMessage()); } + } } \ No newline at end of file From 28b739253ae864e33c41c1577e9af594a5cb1b92 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Mon, 27 Nov 2017 16:02:39 +0300 Subject: [PATCH 26/29] #Homework10, maven project --- Calculator/pom.xml | 27 +++++++ .../homework/calculator/MyCalculator.java | 32 ++++++++ Calculator/src/test/java/MyTests/MyTest.java | 70 ++++++++++++++++++ .../homework/calculator/MyCalculator.class | Bin 0 -> 830 bytes .../surefire-reports/MyTests.MyTest.txt | 4 + .../surefire-reports/TEST-MyTests.MyTest.xml | 70 ++++++++++++++++++ .../target/test-classes/MyTests/MyTest.class | Bin 0 -> 2020 bytes 7 files changed, 203 insertions(+) create mode 100644 Calculator/pom.xml create mode 100644 Calculator/src/main/java/ru/caf82/homework/calculator/MyCalculator.java create mode 100644 Calculator/src/test/java/MyTests/MyTest.java create mode 100644 Calculator/target/classes/ru/caf82/homework/calculator/MyCalculator.class create mode 100644 Calculator/target/surefire-reports/MyTests.MyTest.txt create mode 100644 Calculator/target/surefire-reports/TEST-MyTests.MyTest.xml create mode 100644 Calculator/target/test-classes/MyTests/MyTest.class diff --git a/Calculator/pom.xml b/Calculator/pom.xml new file mode 100644 index 0000000..21d555d --- /dev/null +++ b/Calculator/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + ru.caf82.homework + Calculator + 1.0 + jar + + + junit + junit + 4.12 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + + UTF-8 + 1.8 + 1.8 + + \ No newline at end of file diff --git a/Calculator/src/main/java/ru/caf82/homework/calculator/MyCalculator.java b/Calculator/src/main/java/ru/caf82/homework/calculator/MyCalculator.java new file mode 100644 index 0000000..29cfc3c --- /dev/null +++ b/Calculator/src/main/java/ru/caf82/homework/calculator/MyCalculator.java @@ -0,0 +1,32 @@ + +package ru.caf82.homework.calculator; + +/** + * + * @author Алена + */ +public class MyCalculator { + public MyCalculator() { + + } + + public long add (long x, long y) { + return x+y; + } + + public long sub (long x, long y) { + return x-y; + } + + public long div (long x, long y) { + try { + return x/y; + }catch (ArithmeticException e) { + throw new ArithmeticException(); + } + } + + public long mult (long x, long y) { + return x*y; + } +} diff --git a/Calculator/src/test/java/MyTests/MyTest.java b/Calculator/src/test/java/MyTests/MyTest.java new file mode 100644 index 0000000..aff57e4 --- /dev/null +++ b/Calculator/src/test/java/MyTests/MyTest.java @@ -0,0 +1,70 @@ + +package MyTests; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import static org.junit.Assert.*; +import ru.caf82.homework.calculator.MyCalculator; + +/** + * + * @author Алена + */ +public class MyTest { + private MyCalculator myCalc; + + public MyTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + myCalc = new MyCalculator(); + } + + @After + public void tearDown() { + } + + @Test + public void checkAdd() { + assertTrue(myCalc.add(4, 5)==9); + assertTrue(myCalc.add(122, 100)==222); + assertTrue(myCalc.add(23, 23)==46); + } + + @Test + public void checkSub() { + assertTrue(myCalc.sub(100, 14)==86); + assertTrue(myCalc.sub(10, 3)==7); + assertTrue(myCalc.sub(200, 32)==168); + } + + @Test + public void checkMult() { + assertTrue(myCalc.mult(3, 4)==12); + assertTrue(myCalc.mult(10, 10)==100); + assertTrue(myCalc.mult(0, 4)==0); + } + + @Test + public void checkDiv() { + assertTrue(myCalc.div(20, 4)==5); + assertTrue(myCalc.div(1, 1)==1); + } + + @Test(expected = ArithmeticException.class) + public void checkZeroDiv() { + myCalc.div(13, 0); + } +} diff --git a/Calculator/target/classes/ru/caf82/homework/calculator/MyCalculator.class b/Calculator/target/classes/ru/caf82/homework/calculator/MyCalculator.class new file mode 100644 index 0000000000000000000000000000000000000000..00bf426f4ab40047f95d4084c610c845c10a93b4 GIT binary patch literal 830 zcma)3T~E|N6g|^+x3H`QR{2t4**6vwo2U;4iHV{tTei5B;#F~X^Tfi&kXdjz_V_ahmqWS{URKsiTa*q zhlFvI$I_%(xP7)&f;SYB{k}kDtBEwh?_rrIY zHiJYN9eq5F)REEYkX#RTjEoMq<g zdu&$%Gk>|h^bS;H(1OQ#+phwS89w6#(MztvR@W~fE|@r&WVDY0W*(-P1NECjM0FxM zMZjnY-j9gAW=ozE-}G0D^Fh(O3YT@uWP5EkjhSNK!z?qGdE;Mv>ONm%Y`%vjUq-zu zRfA?LIp3)Kg!AnZ?(ah1<(@-*>o_QGxxmUI&o329>qYMb9$~H+UQl`nN)N%v!#p|Y Z`h!nKfrV24&V2NJKPzMVStPrIr9bXXej@+? literal 0 HcmV?d00001 diff --git a/Calculator/target/surefire-reports/MyTests.MyTest.txt b/Calculator/target/surefire-reports/MyTests.MyTest.txt new file mode 100644 index 0000000..1855e14 --- /dev/null +++ b/Calculator/target/surefire-reports/MyTests.MyTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: MyTests.MyTest +------------------------------------------------------------------------------- +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec diff --git a/Calculator/target/surefire-reports/TEST-MyTests.MyTest.xml b/Calculator/target/surefire-reports/TEST-MyTests.MyTest.xml new file mode 100644 index 0000000..b5b52dc --- /dev/null +++ b/Calculator/target/surefire-reports/TEST-MyTests.MyTest.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Calculator/target/test-classes/MyTests/MyTest.class b/Calculator/target/test-classes/MyTests/MyTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0e8c819a0a5a2bebfe0ba8011da076559f801606 GIT binary patch literal 2020 zcmb7@U31$+6o%imx90;t|6@``MD!vKgkUUbkdhd-HRpeYee@xZWYTExX&Y z0@o|mWLoGfP}xnV;{>-D(v!t)25rf0a)yzr)8Y5J?FRSiR-;8D=c+D=Y+Ifq{Af@M z_8p($Otto`&i%kAaq%Wu-RHs9(NfFuDL($7+X zgDydo?(jX=`s6RhYfmZ7}3yVXfN=l*qDk%wWjj9qzf(9pq1sxE*kkf4zEO z9b2WA)p=a1cuuh2=7D3cJhl0eXocw6rrY&wzUqj64~4Cq5k&@_-uD=a|9M{x%%N;x z2fJB(YTz?`Zr}^-8u(H?EbKB2zqn+*H&Xqzr?&rNwDd19!dTwKh>V>*9UC<UbvsxfMaKP|gqrE-bQ(@)x&rRZ@TWD(VpvV<#9laWOf2NL?^- zNya8l$KEt?S;pQ@#`>wR67?+6&JlI_|5M+MslSPOy%CaKqIREP(nK*idrV!Bv6225 z?Tx6)CCB@TuMzP)eXrv_o%h~}+IU%?&o8pRK7SMw`w?+Dq?(pr=pO>fvI7r<~v!ghu;ro`PA6VHP5odqbVPXX_8ldnXdXuVv2k; Vg}6jRbkbMp|FMlKy=t=b-al2SLIeN+ literal 0 HcmV?d00001 From 079900d252dd0cbb8034a3ea867c7984267cb570 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Mon, 27 Nov 2017 16:12:50 +0300 Subject: [PATCH 27/29] #Homework9, working with database via JDBC Reliazed through Java Swing --- lectureDatabaseJDBC/build.xml | 73 + lectureDatabaseJDBC/manifest.mf | 3 + lectureDatabaseJDBC/nbproject/build-impl.xml | 1420 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 79 + lectureDatabaseJDBC/nbproject/project.xml | 15 + .../src/JDBC/SwingAddFrame.form | 128 ++ .../src/JDBC/SwingAddFrame.java | 184 +++ .../src/JDBC/SwingCheckPass.form | 117 ++ .../src/JDBC/SwingCheckPass.java | 174 ++ .../src/JDBC/SwingMainClass.form | 134 ++ .../src/JDBC/SwingMainClass.java | 186 +++ .../src/JDBC/SwingModelForTable.java | 81 + .../src/JDBC/WorkWithDatabaseJDBC.java | 154 ++ 16 files changed, 2762 insertions(+) create mode 100644 lectureDatabaseJDBC/build.xml create mode 100644 lectureDatabaseJDBC/manifest.mf create mode 100644 lectureDatabaseJDBC/nbproject/build-impl.xml create mode 100644 lectureDatabaseJDBC/nbproject/genfiles.properties create mode 100644 lectureDatabaseJDBC/nbproject/private/private.properties create mode 100644 lectureDatabaseJDBC/nbproject/private/private.xml create mode 100644 lectureDatabaseJDBC/nbproject/project.properties create mode 100644 lectureDatabaseJDBC/nbproject/project.xml create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingAddFrame.form create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingAddFrame.java create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingCheckPass.form create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingCheckPass.java create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingMainClass.form create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingMainClass.java create mode 100644 lectureDatabaseJDBC/src/JDBC/SwingModelForTable.java create mode 100644 lectureDatabaseJDBC/src/JDBC/WorkWithDatabaseJDBC.java diff --git a/lectureDatabaseJDBC/build.xml b/lectureDatabaseJDBC/build.xml new file mode 100644 index 0000000..b6a2ea0 --- /dev/null +++ b/lectureDatabaseJDBC/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project lectureDatabaseJDBC. + + + diff --git a/lectureDatabaseJDBC/manifest.mf b/lectureDatabaseJDBC/manifest.mf new file mode 100644 index 0000000..1574df4 --- /dev/null +++ b/lectureDatabaseJDBC/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/lectureDatabaseJDBC/nbproject/build-impl.xml b/lectureDatabaseJDBC/nbproject/build-impl.xml new file mode 100644 index 0000000..cc111e8 --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/build-impl.xml @@ -0,0 +1,1420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lectureDatabaseJDBC/nbproject/genfiles.properties b/lectureDatabaseJDBC/nbproject/genfiles.properties new file mode 100644 index 0000000..4fdda32 --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=585cc437 +build.xml.script.CRC32=2ee15279 +build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=585cc437 +nbproject/build-impl.xml.script.CRC32=dc3a77ac +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/lectureDatabaseJDBC/nbproject/private/private.properties b/lectureDatabaseJDBC/nbproject/private/private.properties new file mode 100644 index 0000000..582f630 --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\\u0410\u043b\u0435\u043d\u0430\\AppData\\Roaming\\NetBeans\\8.2\\build.properties diff --git a/lectureDatabaseJDBC/nbproject/private/private.xml b/lectureDatabaseJDBC/nbproject/private/private.xml new file mode 100644 index 0000000..db03bb0 --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/lectureDatabaseJDBC/nbproject/project.properties b/lectureDatabaseJDBC/nbproject/project.properties new file mode 100644 index 0000000..9ce7ccf --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/project.properties @@ -0,0 +1,79 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options=-Aeclipselink.canonicalmodel.use_static_factory=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# \u0424\u0430\u0439\u043b\u044b \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 build.classes.dir, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/lectureDatabaseJDBC.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +file.reference.com.mysql.jdbc_5.1.5.jar=../../../Downloads/com.mysql.jdbc_5.1.5.jar +file.reference.javax.persistence.jar=../../../Downloads/javax.persistence.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.com.mysql.jdbc_5.1.5.jar}:\ + ${file.reference.javax.persistence.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath}:\ + ${libs.hibernate4-persistencemodelgen.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/lectureDatabaseJDBC/nbproject/project.xml b/lectureDatabaseJDBC/nbproject/project.xml new file mode 100644 index 0000000..966ac09 --- /dev/null +++ b/lectureDatabaseJDBC/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + lectureDatabaseJDBC + + + + + + + + + diff --git a/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.form b/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.form new file mode 100644 index 0000000..20f27e7 --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.form @@ -0,0 +1,128 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.java b/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.java new file mode 100644 index 0000000..d76b68e --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingAddFrame.java @@ -0,0 +1,184 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JDBC; + +import java.awt.Color; + +/** + * + * @author Алена + */ +public class SwingAddFrame extends javax.swing.JFrame { + + /** + * Creates new form AddFrame + */ + public SwingAddFrame() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("checked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + loginField = new javax.swing.JTextField(); + ageField = new javax.swing.JTextField(); + passwordField = new javax.swing.JPasswordField(); + addButton = new javax.swing.JButton(); + login = new javax.swing.JLabel(); + age = new javax.swing.JLabel(); + password = new javax.swing.JLabel(); + error = new javax.swing.JLabel(); + + setLocation(new java.awt.Point(300, 300)); + setResizable(false); + + loginField.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + loginFieldActionPerformed(evt); + } + }); + + passwordField.setToolTipText(""); + + addButton.setText("Добавить"); + addButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addButtonActionPerformed(evt); + } + }); + + login.setText("Логин:"); + + age.setText("Возраст:"); + + password.setText("Пароль:"); + + error.setText("Введите данные:"); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(113, 113, 113) + .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(83, Short.MAX_VALUE)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(login, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(age) + .addComponent(password)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(loginField) + .addComponent(ageField) + .addComponent(passwordField, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)) + .addGap(49, 49, 49)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addComponent(error) + .addGap(135, 135, 135)))) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(32, 32, 32) + .addComponent(error) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(loginField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(login, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(age, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(ageField)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(password, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(passwordField)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 38, Short.MAX_VALUE) + .addComponent(addButton) + .addGap(31, 31, 31)) + ); + + pack(); + }// //GEN-END:initComponents + + private void loginFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginFieldActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_loginFieldActionPerformed + + private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed + if ((ageField.getText().equals(null))||(loginField.getText().equals(null))||(passwordField.getText().equals(null))) { + error.setText("Введите данные."); + error.setForeground(Color.red); + } + try { + Integer.valueOf(ageField.getText()); + }catch (NumberFormatException e) { + error.setText("Некорректный ввод возраста."); + error.setForeground(Color.red); + } + WorkWithDatabaseJDBC wwdj = new WorkWithDatabaseJDBC(); + wwdj.insertInto(loginField.getText(), Integer.valueOf(ageField.getText()), new String(passwordField.getPassword())); + setVisible(false); + }//GEN-LAST:event_addButtonActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(SwingAddFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(SwingAddFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(SwingAddFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(SwingAddFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new SwingAddFrame().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton addButton; + private javax.swing.JLabel age; + private javax.swing.JTextField ageField; + private javax.swing.JLabel error; + private javax.swing.JLabel login; + private javax.swing.JTextField loginField; + private javax.swing.JLabel password; + private javax.swing.JPasswordField passwordField; + // End of variables declaration//GEN-END:variables +} diff --git a/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.form b/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.form new file mode 100644 index 0000000..dde66df --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.form @@ -0,0 +1,117 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.java b/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.java new file mode 100644 index 0000000..f84aa90 --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingCheckPass.java @@ -0,0 +1,174 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JDBC; + +import java.awt.Color; + +/** + * + * @author Алена + */ +public class SwingCheckPass extends javax.swing.JFrame { + + /** + * Creates new form SwingCheckPass + */ + public SwingCheckPass() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("checked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + label = new javax.swing.JLabel(); + login = new javax.swing.JLabel(); + pass = new javax.swing.JLabel(); + loginfield = new javax.swing.JTextField(); + passfield = new javax.swing.JPasswordField(); + checklabel = new javax.swing.JLabel(); + checkBut = new javax.swing.JButton(); + + setLocation(new java.awt.Point(300, 300)); + setResizable(false); + + label.setText("Введите логин и пароль:"); + + login.setText("Логин:"); + + pass.setText("Пароль:"); + + passfield.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + passfieldActionPerformed(evt); + } + }); + + checklabel.setText("Введенные логин и пароль:"); + + checkBut.setText("Проверить"); + checkBut.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + checkButActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(51, 51, 51) + .addComponent(checklabel)) + .addGroup(layout.createSequentialGroup() + .addGap(37, 37, 37) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(pass) + .addComponent(login)) + .addGap(58, 58, 58) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(checkBut, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(label) + .addComponent(loginfield) + .addComponent(passfield, javax.swing.GroupLayout.DEFAULT_SIZE, 213, Short.MAX_VALUE))))) + .addContainerGap(51, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(22, 22, 22) + .addComponent(label) + .addGap(38, 38, 38) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(loginfield, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(login)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(pass) + .addComponent(passfield, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(checkBut, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(checklabel) + .addGap(19, 19, 19)) + ); + + pack(); + }// //GEN-END:initComponents + + private void passfieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_passfieldActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_passfieldActionPerformed + + private void checkButActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkButActionPerformed + WorkWithDatabaseJDBC wwdj = new WorkWithDatabaseJDBC(); + if ((loginfield.getText().equals(null))||(passfield.getText().equals(null))) { + label.setText("Введите данные."); + label.setForeground(Color.red); + } + if(wwdj.checkPass(loginfield.getText(), new String(passfield.getPassword()))) { + checklabel.setText("Введенные логин и пароль: корректны."); + checklabel.setForeground(Color.green); + } else { + checklabel.setText("Введенные логин и пароль: некорректны."); + checklabel.setForeground(Color.red); + } + }//GEN-LAST:event_checkButActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(SwingCheckPass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(SwingCheckPass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(SwingCheckPass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(SwingCheckPass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new SwingCheckPass().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton checkBut; + private javax.swing.JLabel checklabel; + private javax.swing.JLabel label; + private javax.swing.JLabel login; + private javax.swing.JTextField loginfield; + private javax.swing.JLabel pass; + private javax.swing.JPasswordField passfield; + // End of variables declaration//GEN-END:variables +} diff --git a/lectureDatabaseJDBC/src/JDBC/SwingMainClass.form b/lectureDatabaseJDBC/src/JDBC/SwingMainClass.form new file mode 100644 index 0000000..021111e --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingMainClass.form @@ -0,0 +1,134 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/lectureDatabaseJDBC/src/JDBC/SwingMainClass.java b/lectureDatabaseJDBC/src/JDBC/SwingMainClass.java new file mode 100644 index 0000000..1679753 --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingMainClass.java @@ -0,0 +1,186 @@ + +package JDBC; + +/** + * + * @author Алена + */ +public class SwingMainClass extends javax.swing.JFrame { + + /** + * Creates new form DatabaseJDBS + */ + public SwingMainClass() { + initComponents(); + + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("checked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + myTable = new javax.swing.JScrollPane(); + jTable1 = new javax.swing.JTable(); + addBut = new javax.swing.JButton(); + updateTable = new javax.swing.JButton(); + delBut = new javax.swing.JButton(); + testBut = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setTitle("Database JDBC"); + setLocation(new java.awt.Point(100, 100)); + + myTable.setPreferredSize(new java.awt.Dimension(580, 250)); + + WorkWithDatabaseJDBC wwdj = new WorkWithDatabaseJDBC(); + SwingModelForTable mft = new SwingModelForTable(wwdj.loginAndAge); + jTable1.setModel(mft); + jTable1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jTable1MouseClicked(evt); + } + }); + myTable.setViewportView(jTable1); + + addBut.setText("Добавить пользователя"); + addBut.setToolTipText(""); + addBut.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addButActionPerformed(evt); + } + }); + + updateTable.setText("Обновить таблицу"); + updateTable.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + updateTableActionPerformed(evt); + } + }); + + delBut.setText("Удалить пользователя"); + delBut.setEnabled(false); + delBut.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + delButActionPerformed(evt); + } + }); + + testBut.setText("Проверить пароль"); + testBut.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + testButActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(myTable, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addComponent(addBut) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(updateTable, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(delBut) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(testBut, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(50, 50, 50) + .addComponent(myTable, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(addBut, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE) + .addComponent(updateTable, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(delBut, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(testBut, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(59, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void addButActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButActionPerformed + SwingAddFrame af = new SwingAddFrame(); + af.setVisible(true); + }//GEN-LAST:event_addButActionPerformed + + private void updateTableActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_updateTableActionPerformed + WorkWithDatabaseJDBC wwdj = new WorkWithDatabaseJDBC(); + SwingModelForTable mft = new SwingModelForTable(wwdj.loginAndAge); + jTable1.setModel(mft); + }//GEN-LAST:event_updateTableActionPerformed + + private void delButActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delButActionPerformed + if ((jTable1.getSelectedRow())!=(-1)) { + WorkWithDatabaseJDBC wwdj = new WorkWithDatabaseJDBC(); + wwdj.deleteFrom(Integer.valueOf((String)(jTable1.getValueAt(jTable1.getSelectedRow(), 0)))); + } + }//GEN-LAST:event_delButActionPerformed + + private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked + delBut.setEnabled(true); + }//GEN-LAST:event_jTable1MouseClicked + + private void testButActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_testButActionPerformed + SwingCheckPass scp = new SwingCheckPass(); + scp.setVisible(true); + }//GEN-LAST:event_testButActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(SwingMainClass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(SwingMainClass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(SwingMainClass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(SwingMainClass.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new SwingMainClass().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton addBut; + private javax.swing.JButton delBut; + private javax.swing.JTable jTable1; + private javax.swing.JScrollPane myTable; + private javax.swing.JButton testBut; + private javax.swing.JButton updateTable; + // End of variables declaration//GEN-END:variables +} diff --git a/lectureDatabaseJDBC/src/JDBC/SwingModelForTable.java b/lectureDatabaseJDBC/src/JDBC/SwingModelForTable.java new file mode 100644 index 0000000..67f7ad0 --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/SwingModelForTable.java @@ -0,0 +1,81 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package JDBC; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import javax.swing.event.TableModelListener; +import javax.swing.table.TableModel; + +/** + * + * @author Алена + */ +public class SwingModelForTable implements TableModel{ + private Set listeners = new HashSet(); + private List inner; + + public SwingModelForTable(List inner) { + this.inner = inner; + } + + @Override + public int getRowCount() { + return inner.size(); + } + + @Override + public int getColumnCount() { + return 3; + } + + @Override + public String getColumnName(int columnIndex) { + switch(columnIndex) { + case 0: + return "ID"; + case 1: + return "Логин"; + case 2: + return "Возраст"; + } + return ""; + } + + @Override + public Class getColumnClass(int columnIndex) { + return String.class; + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return false; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + String[] thisRow = inner.get(rowIndex); + return thisRow[columnIndex]; + } + + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + String[] thisRow = inner.get(rowIndex); + thisRow[columnIndex] = (String) aValue; + inner.set(rowIndex, thisRow); + } + + @Override + public void addTableModelListener(TableModelListener l) { + listeners.add(l); + } + + @Override + public void removeTableModelListener(TableModelListener l) { + listeners.remove(l); + } +} \ No newline at end of file diff --git a/lectureDatabaseJDBC/src/JDBC/WorkWithDatabaseJDBC.java b/lectureDatabaseJDBC/src/JDBC/WorkWithDatabaseJDBC.java new file mode 100644 index 0000000..02c67ac --- /dev/null +++ b/lectureDatabaseJDBC/src/JDBC/WorkWithDatabaseJDBC.java @@ -0,0 +1,154 @@ + +package JDBC; + +/** + * + * @author Алена + */ + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import com.mysql.jdbc.Driver; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +public class WorkWithDatabaseJDBC { + public Connection con; + public Statement stat; + public int size; + public ArrayList loginAndAge, idAndPass; + + public WorkWithDatabaseJDBC(){ + createTableUsers(); + createListForSwing(); + } + + private void createTableUsers() { + toConnect(); + try { + stat.execute("CREATE TABLE users("+ + "id INTEGER PRIMARY KEY,"+ + "login VARCHAR(20),"+ + "age INTEGER);"); + stat.execute("CREATE TABLE pass("+ + "id INTEGER PRIMARY KEY,"+ + "pass VARCHAR(20));"); + con.commit(); + + } catch (SQLException ex) { + try { + con.rollback(); + con.close(); + //System.out.println("SQL exception when table was creating."); + } catch (SQLException ex1) { + System.out.println("Can't roll back"); + } + } + } + + +public void insertInto(String login, int age, String password) { + toConnect(); + try { + size++; + stat.executeUpdate("INSERT INTO users " + + "VALUES ("+size+",'"+login+"',"+age+");"); + stat.executeUpdate("INSERT INTO pass " + + "VALUES (" + size + ", '" + password + "');"); + con.commit(); + con.close(); + + } catch (SQLException ex) { + System.out.println("SQL exception was created when something had been adding."); + } + } + + public void deleteFrom (int id) { + toConnect(); + try { + stat.executeUpdate("DELETE FROM users " + + "WHERE id = " + id + ";"); + stat.executeUpdate("DELETE FROM pass " + + "WHERE id = " + id + ";"); + con.commit(); + con.close(); + } catch (SQLException ex) { + System.out.println("SQL exception was created when something had been deleting"); + } + } + + public boolean checkPass (String login, String pass) { + toConnect(); + int id = 0; + String passFrom=""; + try { + ResultSet result = stat.executeQuery("SELECT * FROM users WHERE login = '" + login + "';"); + while (result.next()) + id = result.getInt("id"); + if (id==0) + return false; + else { + ResultSet result2 = stat.executeQuery("SELECT * FROM pass WHERE id = '"+id+"';"); + while (result2.next()) + passFrom = result2.getString("pass"); + con.close(); + if (passFrom.equals(pass)) + return true; + else + return false; + } + } catch (SQLException ex) { + System.out.println("SQL exception was created when something was cheecking"); + } + return false; + } + + + private void toConnect() { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException ex) { + System.out.println("Can't find this class."); + } + try { + con = DriverManager.getConnection("jdbc:mysql://localhost:3306/databaseforjdbc", "root", "1111"); + stat = con.createStatement(); + con.setAutoCommit(false); + } catch (SQLException ex) { + System.out.println("SQL exception was created."); + } + } + + private void createListForSwing() { + toConnect(); + + List arrayList1 = new ArrayList<>(); + List arrayList2 = new ArrayList<>(); + try { + ResultSet result1 = stat.executeQuery("SELECT * FROM users;"); + while (result1.next()) { + String[] value1 = new String[3]; + value1[0] = String.valueOf(result1.getInt("id")); + value1[1] = result1.getString("login"); + value1[2] = String.valueOf(result1.getInt("age")); + size = result1.getInt("id"); + arrayList1.add(value1); + } + loginAndAge = (ArrayList) arrayList1; + ResultSet result2 = stat.executeQuery("SELECT * FROM pass;"); + while (result2.next()) { + String[] value2 = new String[2]; + value2[0] = String.valueOf(result2.getInt("id")); + value2[1] = result2.getString("pass"); + arrayList2.add(value2); + } + idAndPass = (ArrayList) arrayList2; + con.close(); + } catch (SQLException e) { + System.out.println("Can't create it."); + } + } +} \ No newline at end of file From 5ab7e686ae05c84f7618b81de1cb0ec6862fbe2a Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Mon, 27 Nov 2017 16:16:04 +0300 Subject: [PATCH 28/29] #Homework9 working with database via Hibernate Added table (user - duty) --- LectureUpdDatabaseHibernate/pom.xml | 45 ++++++++ .../lectureupddatabase/dao/DutiesDao.java | 36 +++++++ .../lectureupddatabase/dao/PasswordDao.java | 27 +++++ .../lectureupddatabase/dao/RunTest.java | 57 ++++++++++ .../dao/UserPasswordDutiesDao.java | 75 ++++++++++++++ .../lectureupddatabase/dao/UsersDao.java | 44 ++++++++ .../lectureupddatabase/entity/Duties.java | 73 +++++++++++++ .../lectureupddatabase/entity/Password.java | 56 ++++++++++ .../lectureupddatabase/entity/Users.java | 97 ++++++++++++++++++ .../util/HibernateUtil.java | 31 ++++++ .../src/main/resources/hibernate.cfg.xml | 17 +++ .../LectureUpdDatabaseHibernate-2.0.jar | Bin 0 -> 2522 bytes .../lectureupddatabase/dao/DutiesDao.class | Bin 0 -> 1676 bytes .../lectureupddatabase/dao/PasswordDao.class | Bin 0 -> 1554 bytes .../lectureupddatabase/dao/RunTest.class | Bin 0 -> 2049 bytes .../dao/UserPasswordDutiesDao.class | Bin 0 -> 3754 bytes .../lectureupddatabase/dao/UsersDao.class | Bin 0 -> 2217 bytes .../lectureupddatabase/entity/Duties.class | Bin 0 -> 2468 bytes .../lectureupddatabase/entity/Password.class | Bin 0 -> 1565 bytes .../lectureupddatabase/entity/Users.class | Bin 0 -> 3127 bytes .../util/HibernateUtil.class | Bin 0 -> 1196 bytes .../target/classes/hibernate.cfg.xml | 17 +++ .../target/maven-archiver/pom.properties | 5 + 23 files changed, 580 insertions(+) create mode 100644 LectureUpdDatabaseHibernate/pom.xml create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/PasswordDao.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/RunTest.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UsersDao.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Duties.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Password.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Users.java create mode 100644 LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.java create mode 100644 LectureUpdDatabaseHibernate/src/main/resources/hibernate.cfg.xml create mode 100644 LectureUpdDatabaseHibernate/target/LectureUpdDatabaseHibernate-2.0.jar create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/PasswordDao.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/RunTest.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UsersDao.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Duties.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Password.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Users.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.class create mode 100644 LectureUpdDatabaseHibernate/target/classes/hibernate.cfg.xml create mode 100644 LectureUpdDatabaseHibernate/target/maven-archiver/pom.properties diff --git a/LectureUpdDatabaseHibernate/pom.xml b/LectureUpdDatabaseHibernate/pom.xml new file mode 100644 index 0000000..6c58dbc --- /dev/null +++ b/LectureUpdDatabaseHibernate/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + com.hibernatehomework + LectureUpdDatabaseHibernate + 2.0 + jar + LectureUpdDatabaseHibernate + + + 4.3.6.Final + 5.1.31 + + + + + + org.hibernate + hibernate-core + ${hibernate.version} + + + + + mysql + mysql-connector-java + ${mysql.connector.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.2 + + 1.6 + 1.6 + + + + + + \ No newline at end of file diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.java new file mode 100644 index 0000000..a606879 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.java @@ -0,0 +1,36 @@ + +package com.hibernatehomework.lectureupddatabase.dao; +import com.hibernatehomework.lectureupddatabase.entity.Duties; +import com.hibernatehomework.lectureupddatabase.util.HibernateUtil; +import org.hibernate.Session; +/** + * + * @author + */ +public class DutiesDao { + + public void save(Duties d) { + Session session = HibernateUtil.getSession(); + session.beginTransaction(); + session.persist(d); + session.save(d); + session.getTransaction().commit(); + session.close(); + } + + public Duties findId(Integer id) { + Session session = HibernateUtil.getSession(); + Duties duty = (Duties) session.get(Duties.class, id); + session.close(); + return duty; + } + + public void delete(Integer id) { + Session session = HibernateUtil.getSession(); + session.beginTransaction(); + Duties users = (Duties) session.get(Duties.class, id); + session.delete(users); + session.getTransaction().commit(); + session.close(); + } +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/PasswordDao.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/PasswordDao.java new file mode 100644 index 0000000..8e69118 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/PasswordDao.java @@ -0,0 +1,27 @@ + +package com.hibernatehomework.lectureupddatabase.dao; + +import com.hibernatehomework.lectureupddatabase.entity.Password; +import com.hibernatehomework.lectureupddatabase.util.HibernateUtil; +import java.util.List; +import org.hibernate.Session; + +/** + * + * @author + */ +public class PasswordDao { + public Password findId(Integer id) { + Session session = HibernateUtil.getSession(); + Password pass = (Password) session.get(Password.class, id); + session.close(); + return pass; + } + + public List findALl() { + Session session = HibernateUtil.getSession(); + List listPassword = (List)session.createQuery("from Password ").list(); + session.close(); + return listPassword; + } +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/RunTest.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/RunTest.java new file mode 100644 index 0000000..63b7350 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/RunTest.java @@ -0,0 +1,57 @@ + +package com.hibernatehomework.lectureupddatabase.dao; + +import com.hibernatehomework.lectureupddatabase.entity.Duties; +import com.hibernatehomework.lectureupddatabase.entity.Password; +import com.hibernatehomework.lectureupddatabase.entity.Users; +import java.util.List; + +/** + * + * @author + */ +public class RunTest { + + + public static void main(String[] args) { + // + DutiesDao dd = new DutiesDao(); + UserPasswordDutiesDao upd = new UserPasswordDutiesDao(); + UsersDao ud = new UsersDao(); + + /*Duties d1 = new Duties("admin"); + Duties d2 = new Duties("moderator"); + Duties d3 = new Duties("user"); + + Users u1 = new Users("alena", 20); + Users u2 = new Users("veronica", 18); + Users u3 = new Users("diana", 19); + Users u4 = new Users("katya", 9); + + Password p1 = new Password("050505"); + Password p2 = new Password("202020"); + Password p3 = new Password("222222"); + Password p4 = new Password("292929"); + + upd.save(u1, p1, d1); + upd.save(u2, p2, d2); + upd.save(u3, p3, d3); + upd.save(u4, p4, 3);*/ + + + // + List list = ud.findALl(); + for (Users u: list) { + System.out.println(("Row -->") + u); + } + + // + // upd.delete(3); + + // + System.out.println(upd.checkPass("alena", "050507")); + System.out.println(upd.checkPass("alena", "050505")); + + } + +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.java new file mode 100644 index 0000000..dbe23c0 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.java @@ -0,0 +1,75 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.hibernatehomework.lectureupddatabase.dao; + +import com.hibernatehomework.lectureupddatabase.entity.Duties; +import com.hibernatehomework.lectureupddatabase.entity.Password; +import com.hibernatehomework.lectureupddatabase.entity.Users; +import com.hibernatehomework.lectureupddatabase.util.HibernateUtil; +import java.util.List; +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; + +/** + * + * @author + */ +public class UserPasswordDutiesDao { + + public void save(Users u, Password p, Duties d) { + Session session = HibernateUtil.getSession(); + session.beginTransaction(); + session.save(d); + u.setDuties(d); + d.getUsers().add(u); + session.persist(u); + p.setId(u.getId()); + u.setPassword(p); + session.save(u); + session.getTransaction().commit(); + session.close(); + } + + public void save(Users u, Password p, Integer id) { + Session session = HibernateUtil.getSession(); + DutiesDao dd = new DutiesDao(); + session.beginTransaction(); + Duties d = dd.findId(id); + u.setDuties(d); + d.getUsers().add(u); + session.persist(u); + p.setId(u.getId()); + u.setPassword(p); + session.save(u); + session.getTransaction().commit(); + session.close(); + } + + public void delete(Integer id) { + Session session = HibernateUtil.getSession(); + session.beginTransaction(); + Users users = (Users) session.get(Users.class, id); + Duties d = users.getDuties(); + d.getUsers().remove(users); + session.delete(users); + session.getTransaction().commit(); + session.close(); + } + + public boolean checkPass(String login, String pass) { + UsersDao ud = new UsersDao(); + Users user = ud.findLogin(login); + if (user.getLogin().equals(null)) + return false; + else { + if (user.getPassword().getPass().equals(pass)) + return true; + else + return false; + } + } +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UsersDao.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UsersDao.java new file mode 100644 index 0000000..1985316 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/dao/UsersDao.java @@ -0,0 +1,44 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.hibernatehomework.lectureupddatabase.dao; + +import com.hibernatehomework.lectureupddatabase.entity.Users; +import com.hibernatehomework.lectureupddatabase.util.HibernateUtil; +import java.io.Serializable; +import java.util.List; +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; + +/** + * + * @author + */ +public class UsersDao { + + public Users findId(Integer id) { + Session session = HibernateUtil.getSession(); + Users users = (Users) session.get(Users.class, id); + session.close(); + return users; + } + + public List findALl() { + Session session = HibernateUtil.getSession(); + List listUsers = (List)session.createQuery("from Users ").list(); + session.close(); + return listUsers; + } + + public Users findLogin (String login) { + Session session = HibernateUtil.getSession(); + Criteria criteria = session.createCriteria(Users.class); + criteria.add(Restrictions.eq("login", login)); + Users users = (Users) criteria.uniqueResult(); + session.close(); + return users; + } +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Duties.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Duties.java new file mode 100644 index 0000000..f79b55b --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Duties.java @@ -0,0 +1,73 @@ + +package com.hibernatehomework.lectureupddatabase.entity; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +/** + * + * @author + */ +@Entity +@Table(name = "duties", schema = "databasehib") +public class Duties { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "idD", nullable = false) + private Integer id; + + @Column(name = "rule", nullable = false) + private String rule; + + @OneToMany(fetch = FetchType.EAGER, mappedBy = "duties", cascade = CascadeType.ALL) + private Set setUsers = new HashSet(); + + public Duties() { + + } + + public Duties(String s) { + rule = s; + } + + public Integer getId() { + return id; + } + + public void setId (Integer id) { + this.id = id; + } + + public String getRule() { + return rule; + } + + public void setRule(String rule) { + this.rule = rule; + } + + public Set getUsers() { + return setUsers; + } + + public void setUsers(Set setUsers) { + this.setUsers = setUsers; + } + + @Override + public String toString() { + return ("|id: "+ id + "; rule: " + rule + "|"); + } + +} diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Password.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Password.java new file mode 100644 index 0000000..2ae27aa --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Password.java @@ -0,0 +1,56 @@ +package com.hibernatehomework.lectureupddatabase.entity; + +/** + * + * @author Alena + */ +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToOne; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.Table; + +@Entity +@Table(name = "password", schema = "databasehib") +public class Password { + + @Id + @Column(name = "idP") + private Integer id; + + @Column(name = "pass") + private String pass; + + public Password() { + + } + + public Password(String pass) { + this.pass = pass; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPass() { + return pass; + } + + public void setPass(String pass) { + this.pass = pass; + } + + @Override + public String toString() { + return ("|id: "+ id + "; password: " + pass + "|"); + } +} \ No newline at end of file diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Users.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Users.java new file mode 100644 index 0000000..63f0709 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/entity/Users.java @@ -0,0 +1,97 @@ +package com.hibernatehomework.lectureupddatabase.entity; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; +import javax.persistence.PrimaryKeyJoinColumn; +import javax.persistence.Table; + +/** + * + * @author + */ +@Entity +@Table(name = "users", schema = "databasehib") +public class Users { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "idU", nullable = false) + private Integer id; + + @Column(name = "login", nullable = false) + private String login; + + @Column(name = "age", nullable = false) + private int age; + + @OneToOne(cascade = CascadeType.ALL) + @PrimaryKeyJoinColumn + private Password password; + + @ManyToOne + @JoinColumn(name = "idDu", nullable = false) + private Duties duties; + + public Users() { + + } + + public Users(String login, int age) { + this.login = login; + this.age = age; + } + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getLogin() { + return login; + } + + public void setLogin(String login){ + this.login = login; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public Password getPassword() { + return password; + } + + public void setPassword(Password password) { + this.password = password; + } + + public Duties getDuties() { + return duties; + } + public void setDuties(Duties d) { + duties = d; + } + + + @Override + public String toString() { + return ("|id: " + id + "; login: " + login + "; age: " + age + "; duty: " + duties.getRule() + "|"); + } + + + +} \ No newline at end of file diff --git a/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.java b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.java new file mode 100644 index 0000000..d66f364 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/java/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.java @@ -0,0 +1,31 @@ + +package com.hibernatehomework.lectureupddatabase.util; + +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.cfg.AnnotationConfiguration; +import org.hibernate.cfg.Configuration; + +/** + * + * @author + */ +public class HibernateUtil { + private static final SessionFactory sessionFactory; + + static { + try { + Configuration configuration = new Configuration(); + + sessionFactory = configuration.configure("/hibernate.cfg.xml").buildSessionFactory(); + } catch (Throwable ex) { + throw new ExceptionInInitializerError(ex); + } + } + + public static Session getSession() throws HibernateException { + return sessionFactory.openSession(); + } + +} diff --git a/LectureUpdDatabaseHibernate/src/main/resources/hibernate.cfg.xml b/LectureUpdDatabaseHibernate/src/main/resources/hibernate.cfg.xml new file mode 100644 index 0000000..6b606d1 --- /dev/null +++ b/LectureUpdDatabaseHibernate/src/main/resources/hibernate.cfg.xml @@ -0,0 +1,17 @@ + + + + + com.mysql.jdbc.Driver + jdbc:mysql://localhost:3306/databasehib + root + 1111 + org.hibernate.dialect.MySQLDialect + true + + + + + \ No newline at end of file diff --git a/LectureUpdDatabaseHibernate/target/LectureUpdDatabaseHibernate-2.0.jar b/LectureUpdDatabaseHibernate/target/LectureUpdDatabaseHibernate-2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9482903ef0c1bf0d5d6b30e33997ec08157aec3c GIT binary patch literal 2522 zcmWIWW@h1H0D+%Vi@d=MD8UJ&eO*Hwbv^yu^aG&EI2e8am9=cVu_g~F-2}uU$jW>j z{XE@VgG2Ou-9G!CIql=Et9OytTUYDcne&^246YbIcv__6b?$_Yx2_Wh`;#SMQ^d3n zs8sBn(;X!29TZ$LS8J_^47bo^;~>!*;nP8%fihmk#a;&wxH!6mq4 zZ_p;ku!t9uN2H}BKNWo}Vq`$L?+w%&Oh9*mfFuy><)xM+r6%ST$0wGSnZZF$5xA_0PyiE_U>nVI&CI8$e|9o|yeWkzf z7qu;&Q)Lb_d}ri587gu5u0+^r?e|P-Tb|En{eJoB<)pSn70O#u!YX1;=I%Ldx>-+D zH*EUn*_r%r#VcB3%on!H&Z_g~n#QQO+1g@>>$Nmxr>;c@)(VAHxjRWu;>*qN_28m~c+8JN%>aLG{eEZYKM7bKdeGR*<)09Hj%q@0U zd+vXkT59C8XHr*rWt^`b2(t)US+I1^122Q?i#AGgXC_BKnp%8@;ivkoMTU9&UrwIC z_~vKqV?TR%#9$^&eqhAF6J~B=S!y0Ud15M7#Z;V}pQ{It*o^$#)bjkIY&=Fd5^ID{ zYH~?wQEF&Gic4ZiVp3vpss}9nz>Vi%cnwTvH>Zp3l>(;FGBySV4{8`+0Q3_uc}@-W z?VoKRu=ja*z?Ic+Cu~`*RdmC9Yt~Yi+^u(4g|nw|Ms8S{`)T2-|9ksV?@*Q3IX zoxHZO_C+3@WSXF8{ORlINqY`Ieyk;Cd3*Jp#pSzY@A>NH8Ogand0zA}gUh?EXr0Mp z&KX)$&rjjib2+p{_SMz2g91tGgT!6L+Rv6t^fP_F5VR!VPr;t#*-MuQ7jN+C+VyMB zu}+PTR`HEbd=5uV*&zI>byD!H#+g@s8hdZy)ai-X+Ok~h?+KG=L)Q6zSEp<#ShwM# z{XCiFH_F%yQsN@g?sS;@1Qq=&$vo%vqujV#g7s`xP)NeA=Ay4=FDf6dy`J3l{)6+m zNXL_NLZz?u!njrU4&b>lP(v|&Fp427D<41#5G%Qc!E=#Xz4tU_n%CR+Q z-=hM)vOUJu58vEvO_#g#=}2;*Qc8d9zGp|Cy?w9U`!D9liyvifZzn~|$?ezuH+e?r zcQz-n_C4Gghqt{^i(>wE*I}LX$GA(ObH&%zZPCiwJbQZ2W*)Bxzmi0zhuzK4E}pxi zXx~o0J9jUvF<%h5zU4Rczddlay1x9AS9P&h^%6VR+v!uj%=Yw5-evp#_RT#f6bpqK8+HsHaGOY%+SaP<DIxyLW!_e&X)jy-Htm=^dG5=dzl6D>?!5T)J?by8 zcOAhcnx$UU6ES{Kbd*p0+r(88?4Uev<;u%t1A8rDGzUPPdCFks7I2wPvUQo)lT YTM^kUz?&6Vk1#NB0^vtsv|I-B0GhmuO8@`> literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/DutiesDao.class new file mode 100644 index 0000000000000000000000000000000000000000..5f0e50ec56dc0aa0dc6b3ba2362bbeb49e9bb169 GIT binary patch literal 1676 zcmbVM+fvg|6kVq+jkK|75eg`X;H52;XjQxvub?9{MIXF9r|q#EOcP8}9eni<{1ScA z`r!ENM>(#fv9x0yQJC51wzJmS>+I9-KfZhgP{zF!4&zJ;XK^l#JPJW524N`(%W0Ib z63h$@=Y#P=5Xu@ZYPckjTvN94Zwkcog=YeZb*CW(#;VGe58JJpbf1_ti#yq>Q#Y+= zrmKQ=w3+a?l_zkuT6bE;wqmwz`f}T8$v2Ms(y(ORZ@aR++h~}+Su;IpG)%|XX!}Zf z8>UkspJ%=%dL@5w2x`OzEE~! zlRR7b>W=x^G%V9@8k@E+o6@Zm{#U&~Oc8W^2qwL0wEaC&H>4$fnlw3-n)Q#gJ?Ziu zQjeXsTbK7$aABFA%`1Um9T|*ixU6FpS2SGJaShjXRIsLF0ylKr#B~j~blk?6jyt$3 zuzKKI9dJ~~IyQ97W9?rc1{y=)$iB&sYCG&B_Q-+du)i$h!LN3F$`!q7Nv34H`CV^HeAS(0wG6sbq*mgBJ>augey>b6U0YOVmQi}3^!BAa;|q1Fpgtf z(JD+b1|Pp;cAR7BGh$oI9mEBmFE4eFh#?q8VqA8R6zD(`;Pem^_DSZT@#Di(ltG$` zvILzW{Ta@dNf(gMcL^eLQXz*a(kD>BG_zxzAIFJEkj?A_znTdJWk)F@6~{M>K8(mq zA9&g=F&k!1GUmuR#sBG$vDiiEG0tEXb0Ono#CQ~=ILZ7tcjxJB*NpcOce&q;0SToJ u(sbspj?7ZQ932Tb<{3|+hy`50VxPWpPhYvGZza+9dFG{Gd5!C$4H6hAnA z_D4CMO4UO7K(8utx!6KDT9y{x5A9#YxZ-glr-F_m-j!fZd^wOx`x|2wR=}!;nZU4 zYPW`aI_~3vj)zzf7~J%|X1+s~*YOC88p=ABFnt!5F3GZh1DUQ@x2bV~@~Lx#q}kz*%raCQm6Bn}VIvP1EfV~t3Us^;K2@}nAF4pnyr6hKeS z@d92?u5r(76uq&7c*uJu_b*KJy`gL9V@#a{xnpR-p{QFh*!OVi@JB4!Zx7qehTCK=XiRA zsZU@sN_+~_^eFCK+9d5Xxy{*Z?>@8y_R%M>$}|*tNs%X`a$@pvg62r8z$PQ|d<@Yh iSG$T*mDrE-xIl`F#83^0J(uXo)01F71+GL-SAPTOn4a|j literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/RunTest.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/RunTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8bb402257a78f9a682f950c3a878a26af7e59663 GIT binary patch literal 2049 zcmb7F+fo}x5IrL#tq=<);$oAF<6JFl#5xW#=3*tr#5Re*1YsO-5@#fh(So$A+FhCO zDfxmtCl7KtRHgEqr+iNy;+$EDi!cvJs_Ne9={a+{r>E!d|Ni(Bz)kEV@eXDT%q9`h zdM=5m*7HfkF{8zuK4g*W!!3NF#g_)|_F@6|3@j!wfSClo()zv@543og#1g(v;F|>U z8f{sRR}y$+VAa640`Ymd9T}*KTT^?kw`)~ZDQI}AQ7@NeAdAvhR$02%TEkgaelW+~ zYSMNDM$=F8JMx9Js?yoE3V~-k+jE+YXb4Q7A6z+s9qe0=edYNYU3%MOH*^NLK%`t2 zxP5+XO?kmB3TZlHn3)(AdoD$4X>o`+q!_v z_OVaulQ!`#-eci(RX0Z&6IkeK;hAX{$aW2)&)&p39-G*}6BFNI)5I2@c7t^?eFnZa z@dJJoxOlq$7aDf8tULi@&E30_$>dBt!%tc;c}0{Alual+7l_HKawKo^jV%AuCbm)0 zQ}&@LD=^hnsO^(tMIEzxRNUch78nRkM>WRAaBNr#lqUmMlYVYH<-7SRr_9+;t7aj|3u)nI+{Qy_jaFSg99QCWe1~ z{SPN6QX{F+CN4H{sXZENjWpdTG~H`RQl^l=5C$=fOSn#g6S#v6o?wz!b_x}~q%SZX zhLqD!D>L#5KIIn!z*VHF6L2w3G}aey)pa67i1mypljtGhCi8WJdwxb=otBp6CM}=S hav71=1d1D&G7vEkHS~AZ;KPl7`P{SR(<_48{{!sYF1P>y literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UserPasswordDutiesDao.class new file mode 100644 index 0000000000000000000000000000000000000000..295266d9c49983fcc9ccdde2d3e28021ef0648cf GIT binary patch literal 3754 zcmc&%TUQfT6#hAKzF?_qb@jP_pueRL?drEDGa*#E7IAg0lEuuKJ?HH6eS3d*v^XWTpTarB^gbLZMq5PaY05GHC&3LRUEZq zM#E(>zAO`85f87*;}s3B#nB;iI`F!@Gvb&yD&C;|nTc9P8v9m_uf>E;M**8YqIm=N;#;soQ~%UqN$B$Fc09 zLPy3f1@^{8Ay5t1l2D#9Hyi za%RDFDZlofb^J@Bqh-mNLSuH$%+5;+6!z9mo^nf8F`ueg?pt~;^VI6PbZ5{7mLBqQ`-oq{( z@8bi7;kw#GH7hzk#77E;HoUsF8|e5LcXfP%Pj!4IXoqpD9$&Sw)$uvL(D5biY4}RV z*W&IQe5>O-+*3HQVSItlpnR)L6*jGE`t0mA_DzMTX-N?1^aBq+q8@M$s{{uGb>E9&%IjnvJ5bwi+rlQoR+uTQ(aC&yIq1N6rsU zZgfny5&%-Izr$3PdR<}T^6~`|Y}>#XNjyc!E zYm0PbIZWKTGo*oVyVITrf3G$Djct6x3HNyfI-+X^Q(QOkzG^*Ie^`UXUSL}YxF*BY z(ORvnc^4!41&j2f*@Eq`)pP_Qb*>kZV|KAfRZ~U`Z0xF4%n96y+E`W_{iB~|VFLEl zv|3GL1-4edC;wA~wQ2C>N?p=NAdnGKs5dFTFv+rHF4*#grcvl-D((MFE#u&LsCy4j zv<##O*mt}&h_)vx-}9QjQn3-2dA)2DsQD(Y4)U!q`UqTu)r6w?&aeyJ{FWBI5W+zJG8&f=?;lu3lV_CKvRqeKK{FN2aSL6o z0y;n#z&38ziDqm^J9hB1laRWwkKBgIE=68xGCN0bmqs zqKtM6k?Rj*w9bqx_8FSWPO^RbFY21HYy*5|XwM zS4(92h_sur6AqHfqx4nL>yoe6p$F(-7Pn0fQi+`v(A(8AcKm>7cu6SiTt*kwDTc^W zc!?OpUR`v1u|19kJjb7TCn&)&3h*TNJ;mL|Yj6%#aSnMrq{xQIWRw^hn9*nOEPb|8 cuE&WuLVr?ep+C{3p+iGr6EUBlErhYZ0fZt0EdT%j literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UsersDao.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/dao/UsersDao.class new file mode 100644 index 0000000000000000000000000000000000000000..014966be944ae5037e0fcc8dda56e27c7436c8f0 GIT binary patch literal 2217 zcmbtVTU#4d6kR7529lvIfpV+1scn@I=xA-NHWaPt4H@Vqh59-qr{UCL24*H!{2%@g zeX{Yv&u4#>pX%<4*uL@O=SiVHNNxJ~MEmh|h6T zFSmyAh2C!$@g=^}zwQj9Qa}w$Mcl=*UcNT)je&atLrcn2(Xv2xuCghRtNSe}aMo6y zT<`2`$>4>v<y!r=TAJ~ zt3m(<(cc7h*9pT~Qb6T%>R2&X{j8rAcE(@^dK#OqAF^0ey(SI!T&wPT9uwps)1%l7 zBp;q<9U1HkRQlNtTJC6ou`6$mpJ3)IsK-;_Oaj|$9)W5P&>P>eDKq5aPWvt9;NRE#+o=SzK(b228wwI zmby~fLBbvgvokxM+UrQ>(s8NPM6WpU3!Zde4VQ6-|DyC?4s1`1aV_!7;x4%7=YNOz zjXyFN=Qb{DtiLLKk^~my5sh zG(jxIo>N?>Nj}4MHb$RM5K?qv@obj(IkH{A2fRIo5qyY?4fibf3*@$| zrJ*j247wN=SYsHPd_j|E<8%`8iv+#I%Vknrj>*djL`t4xYMN3fH$sn(NO6T2T7blI zm6mI?WbiRRS}MFf){*i&3Gqxsyx9naLfhGfTxm y=p2DZ2|P>aYp7rW^Kqaz6Ziv_ES}AiJcnwk(kR2N(m%_4g;+0L=*2kL>;D2Se@{^W literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Duties.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Duties.class new file mode 100644 index 0000000000000000000000000000000000000000..7b495cdebfae47321c919fafda3e5bb79a392988 GIT binary patch literal 2468 zcmbtVYf~IW6g{(VU=6SVA~6XhXk0eJ_=+Y#P@Z9v4MbSbB>G|4X?G{i&QS9}smhPi zDnqJFl|R5AWqEpfSZ232Rz<&bPxrm|^tq?+?fL8PKmG*pDSjBl2x@se8bk`U0SseX z4m)yqoX0nV$fH)kuAKMeP%mJ=fCKsYZ64p{@kB$)GBsSRJvWXG-8P)2UUdS|6yBnS z$=%QithP9?eCyB_D~{s^Mqs&)uVEsJ_(eYwo^Sbqa2i6dnhd(p$8cXb!ZQM49vF5g z=v43nxo)2Pt3OYwpBzR0)%A_-dbLizm;2zaxpvrgh?{YYw$PBa%yk~(gtl#vc$#W~ zMlZB!EG2T?3p~qdMubGL?=u$-!^$28maXrJfX0D6tLYd)=rMY$+qzV1xNW^<9SV;g zqUE;5&#w2AZi|NW506aK2#iC+7rLO9!HFK7vbapxt9>%raYWsHWH=|ZXMYqyqt)MU zQ<`FNvKuS+H+GqC+c-KB<|;+anWQh6Ouk|G4Z|eysXnKzDPxS2Ua8d>x@0+4uuKul zvj-Gy&6Ux^HOmp(VVil@rKD0uw_(@^hG)rjyqO7F7EitN)~c*We3|rkSqU7KVthT4 zhep_JQv_93>v(xK;dEZFSzp;Fk{D-Z36dwkZd3$gT@alz$P+<16zCck#ORrCq9h*l z?){%aD8+m`_>${Hx4!IySmTF1-v9k%c}yX2RrVTYT(3Frh~Q8djz7QWhF(L|#Idlu z8hN@A;qtd@)H=<@>++?4!j1r|S=QmoSO@yJdCSs!% zF^72#qtSyEDYj+!EjDTq)3{#5HB1#Tijsy)=Wm)yaW%ATQ+O<-7nZp&UBpv7lf(Cv zVR2f%4hz$)v=>FJfyaOGwymwQ)-ZB@@Xq0Lz64A~wx+|{olDl{S$!uY?P5w2UH%Gf zFD3!a25H zJF`+*`rIHy3NsPp6?(l-*bfA5;zN{u%%buPn!qi5gaKN4O&oQ`tkO^8JW_cDt@0YF zC$ErxiOg>i-p3p-&;!KFLk!GsSEgYBi!oM`NVb>A?Y=~oIzn|3NhqU;+$E8PHxNsxERw zo#Bo;WtCs-+4z)Q&hqlguaRe|6-ooA7?c-zilI_beP=n9-r;bH3%%KFCbB8Vx3f+> ddHWljQ`n5g`%x#1alOTLl`}hP77u(p{0DJ2DoFqU literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Password.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..0353d46fda62fb791becf31d47ad69e5bb10b283 GIT binary patch literal 1565 zcmbVLZBG+H5T5Hhy>G5b3lm%}SD1(-fnn6g`pt zsWfXTdX}PfxqP0ajU;Vq6ycUe$EM)^vtU1GJ~N{@3V0LLMV}KWDEb&l1$=t=IueTY@rw` z=xG*rRX!Kq-%U$^Bmm?&8cp;;T(+JBf+|RPw)(5l1KX*W1@o%R6mI#*?l?78VW+Iw zHZHWnX0EQtd!3Ov|k`SPNjo zT}7d~PLp&?r!3`k8l^FfCVO{Gwe`Bgn-+5*>KV5-@;YtN3u!QReKX&M-^gpEo$2(D z<}_OW-;ru`qj&s%^#peSyv=r-2~2Y_Jgs07;raIQMelv}3T^ZHdYZ+99KkD%;DZzd zGKj_y-Gt8|9(QR1A;b!j!|*{OOGyL}6Lt#qtMD3pymUd@S1ckl4V#81x`VepL$|Tg zRT2K&MI-@cU?spVDrIe20+bfMQ>2G7N>OC;K$)c>y6+?9RCRzPPf|QJx`#@IX}~K| z-zfS85QzW~9o8@KTY&Pl~<2pm-*6PRSC~Ij2-+NUbAqnKaBf o4PWKD7UEh6T7CpPDQUqMxaixGf0^X%SwQ?49+zp6$}Smy0e5~rTmS$7 literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Users.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/entity/Users.class new file mode 100644 index 0000000000000000000000000000000000000000..036307baff0fa41b7d63f063d9599ac40458c3c7 GIT binary patch literal 3127 zcmbtVX>$`t5PhrLvN$4)31C10k{A=L5CS+BmytPyh3(kJ#6XUvzZ+2F;B(JG5`7+0L&zslXZ+idv_s_opd;u?y5v&d22%gE|xg1`| z;afR;m&NyaWU-dR4|3M!u%1IB2SYAJ4nOA6#6}LL+`r7?RTh?pglT9vQh%v$>Sar} zo8_AAi>7cZ8jddowr{q?s_B{QmYA_^$Jc$+u{{l=;fY_$ZQ**R=L@?b$~A+B&c+xX z2wS+iFN{^)3Iv^Uo-g;!&O7~i(@Liu`qyUf&9Br})-;@m!LK@2(6Wh}vh|kGkTi`a zyu=PHODFLp^9K!S%W0anhGI{!%f4&cO`c5ZO&-*0Jl57d?`OwlTBhp_r&ZoC*M)17 z?uOG6G`uQXqTvUw2-=3B`}(@>iLzj({7!i>I!nZ{7@`ZdSaCSeoNee{LpONonHa~a zGDhJiXXg zkw}@wY@i`?!?aER7E?TaVU;DSIx^@(b<-B}L5rzfku{QKaT>a{s=KD#M;}xEhRHCl z?>meq9)-y$Mpf37w4-X*B#(4c_%+t}==g;&kU{aMJ!S6$=)MgJkRw1{DQct-V_Q=> zLPQ=%V`xZ_3_)h3@|YZIFT)ezHZ>lS9HzM|DGfJx&HoVOFu`}gZjQe{mSjFeYDz17 zC+|UQTW3S0)di~TpHze+DQPTc&UaM)HJo$Y=A2(NKMKjH#S6zNWf<2Z?}cb za$JhjeNV>wVquQ@{1sZI_k9lfkMW(n1Mb>>L+T1KOLZ>=mcU2+w~p}lkw!w6gujtv z+?_!ZA96m<{Rx4S7{e(#oc3rbJ>#K-tYqYTm~&)3+qJU9yRGNDR+c@oju2^_>kH4J z2~6N3KI63ssfiwsGQWMU?!T-s4$w+Lar}}tIcuEL6K|pY9s*qDnCB4?G)2&BTosfP zu49Tj3Gfw139v>_`4>GT0VXcKL1JR;4U#)hMS_5wQYd4HTn^%L2w76cB1i&6d66rb zg9I;_MkTtY%vtgL1F7E#n1JM&2|r$m<#+=(qr-a+^f%>_J3nM#EiHV~8Yw9mq&EmdGsb?ILor zuUIN04@l(U9z>KpHQdL87$WJxjLgLnd5GFBA}mdMFe3{jvbYBk^%68Z!dwiI%pj5F zSR!>ijw6y8B(h2(Pxl})A3iuuc1r3;zKIrRDc0&=$gaIbt~j)X`~-!&h2dgBtrMJz z2h=*bg@eUIYMt4_VQKn+!xoBzVZ7)GqZ$cyQA(Q^ejSQnDIAx>W+Z#W3inSqvjeT- IsfTa=1DZ^>9{>OV literal 0 HcmV?d00001 diff --git a/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.class b/LectureUpdDatabaseHibernate/target/classes/com/hibernatehomework/lectureupddatabase/util/HibernateUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..c391bf5379d44c77c769b40927e1e6940bd422be GIT binary patch literal 1196 zcmbtTOH&g;5dJ0vHd!`+JOf4`Aex|NeW6x?UMMIjq8@^=I8HW0GO*cAO?Cyn_;b99 zRzWFMdiO_J_JoiSz>|mV?Z{`2D}fQNWyB7ylhEZpqJ0&W?&Z6b>K7&7{w z)nd`W9Rqhwn7C&kXTW9{XoyBb`rbNs0$+V#n9lpEVpnBJD31riE_B708TwYFCxaIZ zJ(+BgA-d|91;b!odg66hqqHqva>+BC_Z{vQxsuv$Iio>UHW;4g9lzFTQuS+M-&cFK zE1V!yBCMCoJm4kX5Ox?y*M4~h=Pg-;!K{d&1&m=blf4?VKDc(^hg^o1hMPQ_k5e}u|K!~w%tewV-Jw#&VWy;W8IzMhYQi9*1gy;r>6 zn$;}$p>o8!Y;L1#gq*HmVF=eO3}Dc}1B*CJGR$-@{}KjTYiDga3g-@Lu7yW^lsU&nAyCq*EML41m$pb`jg&&^mM`|1{nu4$Jr7Duo^RNp zKU+ka9$$hUBg2#?m9!qxiDQz(WZCp*^zU6f20J7rf)SE^P3HhcNw-c9U<~7A#W8^- zozltaW`ulS5&4cDhA-r#F-V>kNMVxnDEX!k!}WI8PfZlS+zF!F$LQT$9PT@UafH}6 zL_Q<2c>;5r5cU5$Y_=Gsrg6&Am8YmSNQ)7mQGzl-u(V85FAaB`z{Lo33OC3~Qr + + + + com.mysql.jdbc.Driver + jdbc:mysql://localhost:3306/databasehib + root + 1111 + org.hibernate.dialect.MySQLDialect + true + + + + + \ No newline at end of file diff --git a/LectureUpdDatabaseHibernate/target/maven-archiver/pom.properties b/LectureUpdDatabaseHibernate/target/maven-archiver/pom.properties new file mode 100644 index 0000000..02178b1 --- /dev/null +++ b/LectureUpdDatabaseHibernate/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sat Nov 18 18:44:00 MSK 2017 +version=2.0 +groupId=com.hibernatehomework +artifactId=LectureUpdDatabaseHibernate From 6813ac2d4bca7313cdc4be43ad8cebe98ddd0910 Mon Sep 17 00:00:00 2001 From: belonogovaalena Date: Mon, 11 Dec 2017 08:38:11 +0300 Subject: [PATCH 29/29] JS --- lecture14JavaSwing/build.xml | 73 + .../classes/examples/LoginWindow$1.class | Bin 0 -> 508 bytes .../build/classes/examples/LoginWindow.class | Bin 0 -> 2268 bytes .../examples/ProgressBarExample$1.class | Bin 0 -> 1000 bytes .../examples/ProgressBarExample$2.class | Bin 0 -> 1352 bytes .../examples/ProgressBarExample$3.class | Bin 0 -> 536 bytes .../classes/examples/ProgressBarExample.class | Bin 0 -> 1956 bytes .../examples/ScrollPaneExample$1.class | Bin 0 -> 532 bytes .../classes/examples/ScrollPaneExample.class | Bin 0 -> 2672 bytes .../classes/examples/SliderExample$1.class | Bin 0 -> 1108 bytes .../classes/examples/SliderExample$2.class | Bin 0 -> 516 bytes .../classes/examples/SliderExample.class | Bin 0 -> 1791 bytes .../classes/examples/TreeExample$1.class | Bin 0 -> 508 bytes .../build/classes/examples/TreeExample.class | Bin 0 -> 1583 bytes .../examples/jTable/ScrollPaneExample$1.class | Bin 0 -> 553 bytes .../examples/table/ModelForTable.class | Bin 0 -> 2516 bytes .../examples/table/TableExample$1.class | Bin 0 -> 530 bytes .../classes/examples/table/TableExample.class | Bin 0 -> 1927 bytes .../build/classes/jTable/NewClass.class | Bin 0 -> 505 bytes lecture14JavaSwing/manifest.mf | 3 + lecture14JavaSwing/nbproject/build-impl.xml | 1420 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 74 + lecture14JavaSwing/nbproject/project.xml | 15 + lecture14JavaSwing/src/examples/JText.java | 156 ++ .../src/examples/LoginWindow.java | 61 + .../src/examples/ProgressBarExample.java | 71 + .../src/examples/ScrollPaneExample.java | 51 + .../src/examples/SliderExample.java | 51 + .../src/examples/TreeExample.java | 41 + .../src/examples/table/ModelForTable.java | 76 + .../src/examples/table/TableExample.java | 43 + 34 files changed, 2152 insertions(+) create mode 100644 lecture14JavaSwing/build.xml create mode 100644 lecture14JavaSwing/build/classes/examples/LoginWindow$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/LoginWindow.class create mode 100644 lecture14JavaSwing/build/classes/examples/ProgressBarExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/ProgressBarExample$2.class create mode 100644 lecture14JavaSwing/build/classes/examples/ProgressBarExample$3.class create mode 100644 lecture14JavaSwing/build/classes/examples/ProgressBarExample.class create mode 100644 lecture14JavaSwing/build/classes/examples/ScrollPaneExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/ScrollPaneExample.class create mode 100644 lecture14JavaSwing/build/classes/examples/SliderExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/SliderExample$2.class create mode 100644 lecture14JavaSwing/build/classes/examples/SliderExample.class create mode 100644 lecture14JavaSwing/build/classes/examples/TreeExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/TreeExample.class create mode 100644 lecture14JavaSwing/build/classes/examples/jTable/ScrollPaneExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/table/ModelForTable.class create mode 100644 lecture14JavaSwing/build/classes/examples/table/TableExample$1.class create mode 100644 lecture14JavaSwing/build/classes/examples/table/TableExample.class create mode 100644 lecture14JavaSwing/build/classes/jTable/NewClass.class create mode 100644 lecture14JavaSwing/manifest.mf create mode 100644 lecture14JavaSwing/nbproject/build-impl.xml create mode 100644 lecture14JavaSwing/nbproject/genfiles.properties create mode 100644 lecture14JavaSwing/nbproject/private/private.properties create mode 100644 lecture14JavaSwing/nbproject/private/private.xml create mode 100644 lecture14JavaSwing/nbproject/project.properties create mode 100644 lecture14JavaSwing/nbproject/project.xml create mode 100644 lecture14JavaSwing/src/examples/JText.java create mode 100644 lecture14JavaSwing/src/examples/LoginWindow.java create mode 100644 lecture14JavaSwing/src/examples/ProgressBarExample.java create mode 100644 lecture14JavaSwing/src/examples/ScrollPaneExample.java create mode 100644 lecture14JavaSwing/src/examples/SliderExample.java create mode 100644 lecture14JavaSwing/src/examples/TreeExample.java create mode 100644 lecture14JavaSwing/src/examples/table/ModelForTable.java create mode 100644 lecture14JavaSwing/src/examples/table/TableExample.java diff --git a/lecture14JavaSwing/build.xml b/lecture14JavaSwing/build.xml new file mode 100644 index 0000000..0253988 --- /dev/null +++ b/lecture14JavaSwing/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project lecture14JavaSwing. + + + diff --git a/lecture14JavaSwing/build/classes/examples/LoginWindow$1.class b/lecture14JavaSwing/build/classes/examples/LoginWindow$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f2d46fbf5c54c5513368317c0bf8d0f9a1e1cffd GIT binary patch literal 508 zcmZuuO;5r=5Pe$;m0A@M5%tOeJXlFgh+@1DO-!mLVj#xTQZ{8t*_wW+f6EhzCjJ0_ zlyM3~IIzj?n|U+)c4qeH_wyUTDGp6!Q8KV=LQAo1V9!8>A$K8_j4v57wR)F9ZwCXx zu;oZ4?vim|gpa)M6H{~om-}5F%G95edOVa7gLR{n2-`l7B0+A&5$}Bb;)}?30#B-* zRD`&@bUeSaj}m|9s-4~bH<{`4`IR9d@32aIHV$4^)61J(*S8)G);{* z)k0pLESr!KW{)OdAJec&XKqS1u}-!%OCa1NkNW$++$6E|a{de2(*&8`LLmJp;EYnw cmqhY&kqinH)v%2sp-$EgHpntbPA8=G2iHRtZ4YH3*^QeGE%nAl z#u>*4hBwDi$9Er4AQoK!It z#3>CCj0SO9x=c&>87bbD+Zh#SHFV>g+?HE8QCpn3m}tR8Sw=J*^;+wC9C_mXv9UiF{^OIH!!+G&PZwJ!hn+4ab!GiZb9{ zG)b)^C6#%~uUh0Ok zz+_t2F_Z3;op)!s>*VYY=naD(w*|H(xcM7p3+Y}3-=!`KFFu zEUlrrix2CE`wBSJu1mIm%e7$pG(Ek!y%Hd3G%e<@(5GM3yA5+z|vtO z%es}mE8Q($BYd^|CBfY_;F>|uu^VybUgO~xlZ8HUjMG^9mI*yzN)JnSb$kFvM-Hxz zJg(?il>E0=qh~pR!bu#;WZkPH-dd7e(s32bIzB{J$4B^B$0z91@hPt9xQ=T~aJ@;| zH6XElDsJewiO)DM>v?e)V(WLdD<|Ahaly!^-DKL%i4$4j7_Mn^8UnF#+547i>fW@p z&N;$x#Sz;vmu<^6(!MsfyJq01rbie#%^4>pN;@gq33vm_UdHTI1VU zmCZ9(S*x&5WLh|`$tS_9iy9l}kF+*1l;3X-gdgL{GgTQ0-|AhtN|B$0s?=a3LnK*q zmT%Iq$h(@0H1Hk^$G@{#V~($YPQ*!(Gnf6hDiAv>sc6(rn>o{aziNhmNC*oc)lXEof*NXAMPw$@x`MW$MsL|Jmuj@3hz{u!ZHSVT z{6C~uPNhnfsy-RGvw*H5qC>%Ga24G%A>IGCf=vZ%js|-@Y*1pi_{;u^Cj3+rZIG&X zG+4macmdnu^#%0A8GHMWUcvTIe!(vuu#un27BnMF89@}ScphymW;%u#6tuVq0!A&R5up@39L%uu1pWo`-DBuWZhrY|LMb_BUJe5BA_+ zB$PVrRe~5$bnH{Y7*sm=2SI{N&iie{UJP*8LZ5vYWK*MfOplk?<|O_gt3i&z1b)MQ z>H=i(4PK$Hfn4t3RSYqo+xQ&AT&d)68V6_%GWKgY=#L1!>bL@$SFvMe1v`t_^{gzK fH&6Sa5h!WtzAH=d26uIM(~~1C6X>IOMdb27wF5(a literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/ProgressBarExample$1.class b/lecture14JavaSwing/build/classes/examples/ProgressBarExample$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0087e888a3ac30ce81fe9ab1cb462f0d3104a9e9 GIT binary patch literal 1000 zcmaJj8sp! zq~`BR8E9@wlD&mk#OHG0ydMjtyuKh$nVA3DGu FzX7v3>Qev! literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/ProgressBarExample$2.class b/lecture14JavaSwing/build/classes/examples/ProgressBarExample$2.class new file mode 100644 index 0000000000000000000000000000000000000000..d4036e19caad0108e5d274fde8f0c1566a13f071 GIT binary patch literal 1352 zcmaJ>T~pIQ6g^8Tff}@Yh##P$7A>Fz0Y6cckD_QnwAu%s+?KUQ)1;GZQU8r^zWAbp zIOBsqz#rv!Ht9G;on|JRyLazBIrr?{{rT(r4*>Hh^`Z~wGdP6tUgU7W4EYQuFlnr* z3@+l5v8FR{Fw=|6m^Id1hPhWPT(xk`!gYae{mPAUGXf`z>Yc1NJQX=xVNeTI6fMiJ zkoXoDc+2%&y(lo2?-)5z7D%rI+e+YY(e>44vtCi*Q(5uo87Kx->6K;Znt98aHWUQx zb>COviYKE;aeBJbUvjf#bXZok8~9r)d>MpwwauJ-@wMEMj(n>fwWECPEX5%OV=owH zf+R*e1qt+(w5-0_kc}3-b3s^}_LZ(E=||J0pcz(Gk?7u%?+02M3Zy%ffO^ueIgfT! z7`oev95YG$nro^*`meClhA&Gg_*E~6T)(!V^s8Xo!VMb(xM?Gcej5w8W#cv$E!?qj z*SMFkY+=R5Dhf8%aL>Yh8|!#r;h~KpHf(I-k%cWAkMV??+hK2WvjW*zwuF4;wW?~S z{8!1M8)?OD5*XIse*_ZiXId(I5usyfsrs9#(1>dw68zP;5Zg})GS{*HLVn0~hju7$KKE$>)LJ+nr zy(YIYonJSgZJL$dQl)r8YbVP1nKXf|@`u1~fyib}XYeNI;yZvrdWUE&a&A1C$*Hdpli$$wIgUBP zv70eK9>W}mlPDa;an2YYqj95f0wY{ASf7xJqso)J5W7fahdy8=vD14vkXYR`t&f;D zvsT=J7hjP|?4Fiu54~T=DaPs9!@)h+hF1!P*C|*Wr(pBS8pb8wSq|^085DSDJ;PiZ v-|`>6WsKq^*`8u%8eO>=oTgT(zcLxmKrIDwYgpJBXDlF1$p)_&@b<$X_`1(vq$pgr4kQiD(e?EbL&{f`KK5 z(t=71dkdoF8bdBAVEbJ5?VIjUxDkyxr|x1Yr?cxL?oq#m%9Aq>wR@8c5^OCD!GpgoR}dYB6& iKM`n9YV(gsb|#WSj-ndYktfv2+Q14~Cdui9bbbH=GH`wX literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/ProgressBarExample.class b/lecture14JavaSwing/build/classes/examples/ProgressBarExample.class new file mode 100644 index 0000000000000000000000000000000000000000..5b4bc26e384004e5a6e798d90a899219ffe7d6d6 GIT binary patch literal 1956 zcmah~-BTM?6#rckx?$NC!naWDry7Vh_Csr>t&~t|Fa-pfn%1vNa!D`U?8e75J^ns1fprTs08}5+EGi@@`m!( z<%Ug~fvj7Qc20Vl_bp{Kc%TVjGOKoExne6n)fW6_Q%797H$7RV7(<;z7FbK>Xjy8? zWF&Dvw5M!IiLM16Cs2?0F8V zEo|YTz*q;JHtH5qc-?}HvIPgOK)l^E907reLva3w#RX^87CwV#!DpxdWT>KM zVH-sYJ8&&LV)#Q-x@ch6!sqxxpg*i)*uLeBEmffDJyucyO?RN2U`0CAqLIW@v&&p; zwovcGiSABhGTiO3NntDgwhHw4Drk0v5>FfiXzFfDN0ulEzdqcu{&R>eJueLC0pnz|EcTL+r2x?b(n z+=nVF>B2jJ3cIsfbsP>yHKf~en67ZpjXj2!@d^YIwClnY$!Xg2kH$4z>6nEp9THl* z$d^tx$%}wE0fRKakJAl^eRSm;h-8y>MEB91?~XQbqz+?xAF=#EPXp#2dZ&Lz?>?+N zy>PUSV`S^gNBV~v=-)$}jPXbv1H4A-7$oaZJ|20xj}d-hw1Kfbyuk6rt>@nG znZPDUaXcyNm`ujSw{iSl$BRh{c_K;iPW}`oaEat121t$}igEffP2f2FO<@vm;Uz3k zNtUPxIVy^cH|S)(iLY=OUz7D4T)}sE8;>!AC%B3qaE&}b->k3<&LP^W*vnFB)nB?D%`-#ZRyHC+kf8tuApJ(TYdJrLyxb+GvxX{}as F{R?6U=EVR2 literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/ScrollPaneExample$1.class b/lecture14JavaSwing/build/classes/examples/ScrollPaneExample$1.class new file mode 100644 index 0000000000000000000000000000000000000000..747b0dc8ff9ea4a7f1726463b509abe515eb7296 GIT binary patch literal 532 zcmZ`$T}uK%6g{J>tJ_v)Wo6M*4;s`a1U(qNh(WM@kYPkm<2vZbI2-#B{jHvaf_^|h zD!QxEK7<1^=iYN?&i$D0pN}s9r`WZS!-k1X3z-BfCbmp$Gvv>umeB=6wpQ;l7%jgq z7*<`W#Z5f!iQs|v6ftGj_qgivKqmg2G@_vl8SE>qMbJ__3WaU&wqyhLeK)Qglzra9W0L z8P3RXR)%v?oY&DP9xk9Kii=TvrNQWN9Lw!an(4Ha*0AZg?bzN44b}1eLmDF8sWD5# zwuJ3ieNz)7mOE&UBq^y+q(;r;km=g8UKK{XA8gv#o3QSi6O&0R-8C@krjp6aremEA zMaMMM+;Ytcn%I%JZQeEScct&y&Un|wb0Xz-#Ix>u8g^~m9i;G-YncL=q&W?{Hv%f2 z1TtaTj)sQ#4F&2-n)EQ>xpZ_)g=M95#^ zD@SpLvutMs9V1yGT<~)pBw3&(0TWW9-^Zjf6U?^jic-mcDPhf1;iW$>n|`J<=KrCB zA%2nGG7Kt1SCuHsLHHR(I!4`+ueqkXML5?+=CEHW>7>army(#zqL^UWH~#l#q$N)es2U*r7E544y@Fm(?CB4c&l!>b1HY6Tup--n%8evcDqwf z+A|$5ZQv?~3|y1pYYZE>F28P|*}yj#H1I9@419;12ENBlJ_P^&4z%#S<1IRZQ4LN1 z57SVqE>d-YUmCe>jq+)Dd))F!$+H|!UKY9M_lNhq+_$pB+uw5KsfqXW$bGNwX>}W~ z?P}PPw!H9S*03jDF%ZgnO~)Lk5mAp4Dfct)>{Z;W56Z4}`rWCC$&^EKN_Q`HFQi=i zq0mZ(IX!K8;r;fo)MUzc3y z!qiUN>MNjWL%+y7e$}&+wr9(y#8%t6o4R8qOwV%JdFwORKjk=Ll^Mc&*u&2s`K#hT zpH*mx@z+26{)uqD)4B+48CAoJs7|!y5m`pfa7|9JjdfV&uJhm>w7;az0 zTYVk1&3SC=sBOrjR#ZCjsJqrig?g^Gw`qCoXsgqHsl#7+>};#fqoFO5$F6z0t0E!b zG-^54l0Y3luIfo}J6f;eoABTngxJ~5yw9p!c zKx7M725u6&j{&yeJkfD_JA@;|x1t(b(1!Na;E!@gqXt82WPrO1XsVEtk2#*xJ_ia0tCCjYY-B$jV383-8 zAK;HNp4lbZO&~Vu+?ly&&OLMP?62QHegfFQW&snZ>fyc~9+)U#$;3m{Ow`dZv5XZ1 zs|K0|Y=Oei^{c+yk-k9LIdq5au^oN!RNvll^zNpBsUeZ?^<*e8lf~>M+XRir2VPWN z6PR=4v3vB{myw+&x6`G@yz-P6zZQ5~y9|_NPZebM&MVg20{N|=Cj}-QPsxviqmB&s z-Hy+lk`r`YzwL&eUY~E~wL$@_rIZY}d^d_Dm-Ck>sjgG76~%5Ww+>v@mpy^ST1JW- zN)_8_c3aOkwJ5>*3;)3hECpe|sbt)du8Nv_!658PhlKtcr2-c90!49YLu{Y*?cJda zL-s&7B*nk;lDlSHZt4!wl5N%XgNSYXAmf9eXJF036xJuUl-*dMGWu>tZE?IPmb6=7_F_VTTur++J<70? zUP)l0FXOiB4`?Z2txWB`IOO#N48G2R-2KF-S!>l3<5O`dfOeHK+{v5bu}H@I@|fah z(ynF>)!V4><0*hM`4pnDa*DCW>M3%K zZ^(a5&}EL}L<6@m!*MoYC^OD+#gn={%nRJaJad|Lhf&ulHBQKPg4`Lde8>11jDMVF tf>@xI$_Q`iFK-FASW(~(d361|j5#cD9OH?5jCm|#2{$-1nV(?f?+;U?3jhEB literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/SliderExample$2.class b/lecture14JavaSwing/build/classes/examples/SliderExample$2.class new file mode 100644 index 0000000000000000000000000000000000000000..8de0bcf3b5c7e44503010a3f765ec249e3e6cbc3 GIT binary patch literal 516 zcmZuuQA+|r5dQW&JH4(lD>HlbL4&%Gpa-KDF$k`L3?q74&qY_xz1X{p{#H*yK|i1$ z70s!11TO4;^UchDJ2U(J^YI1X42L%I*tM`{!$`4WVc$ZPVeLXH8DBEw8qGd~*$Ib& zVatKfgB3m zUC?@~P0#2=G1$E@(Z0BnbLoFsClmh4se-QZgD{e6bR*(%ICOA;nga_3hRSMvhU)4- zy~R*UW!-?Qk$X3o2tTHlGS_{g)S^#w$|V(8X*_#bxEE_Gq}}Y}6ebOl#zs>$Xj47J zie$Njj4*#R1ACu`Z93QH&SR{T?JN=qH;GY?f0xfmEWKR(gz+>(?lBWcKP*)*(A$|v aaVe5RiJ}I!Q6@CW+Q9}{Hp!WUw0;3Kv1k(j literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/SliderExample.class b/lecture14JavaSwing/build/classes/examples/SliderExample.class new file mode 100644 index 0000000000000000000000000000000000000000..27bad29534453f74e654f75bd2394c97465d9ccc GIT binary patch literal 1791 zcmZ`)SyLNF5dKC87Sm86L6t zQ-%`58pArnhJj5Jm)PZJ*fLNyP!X_J9Y=XZTl&881qSYEM+f%>`m(cCfn?EbD1q}O z?WpxmyQaK~tl1GO??Jp=6zJdeWSi78 zrItLDM+N_xcAAApD=ek$0Y5q~FxI;tn_+!h)|CB{eu<^Dooq|(2#jZUBK?9b$$B~P z$jM?9j`W&DaP*9A0kiCOyt-P^QG7kjZ!lX6Z()Waf0;R1>=DMg79OK&;R(a%4BHG( zv18#2P;Pq-MIi`?n-;#rSCquFb2xL0X?$(r8xWxy>RsOj`79_r^mL;nzjHeQA8Hs- z7Ix9Jum^3S#qRepW5Gt-f`f(y7dx+Zb=$y!g>T_eM$cv=kmA7OJa5!msvZao`zqM* zv~mI&XqU>7%&v0sO_Hz4Bi-(_y9;WyXfYb?v|O*E>-*&cS*Lo%b~dS=L6jOQTQd8U z?F`cCsWG|QO!RDZ%WX?mU-tOW8CYs){Qxakd+x!Nn=-?p=7K zb51*l?!GF?fHQn*JG#bO9mnCfhC-xw^mY34F9E^VlJF`ZW-&kyBk=3oF~kWH+sEiD zoghhL|60B;#6UjP2x0JaFrP9*4CRv{%zWx{h;t{f=-_MX^CQC{&gV~%+Mb)wA0r)N zBo|`z1exvrA$KK}jIS9owR(?1Zv_Lv zu;oZ4?i0T+!Y=Q7q!gXN~#341&toLvZofb&zqHSvQQZK~v z6xoD~Fnc-y`ZC4Xl5PmLf2rP?)S3#?#t=2%$Xlt#4rD_xlO#lI7!M64iF1VWPayA>F{T2Ny z{gU)F=k#+=f0U=s+`uukIo%Jlb7$_Indh0g_wRRq{0ZPTw2KS4mBeQ*y5#?PFK)YV z@I^1~^x{iV?_xi5!=w2(`cNNdt4DsYpIu%QE8R{M zhOxr*8E?!8*~ey2*UE9B7Tatzt*|a088|fi#u~+-(6<-W{J5n%a#UgDOt@vKNOD!Q zAF$N)OY6>-H7nVOBNjAof$M0WP)0hq72J)m7M0ARFHEG`Fy0Vc9zMV&GW1`J3fJ0= z{{xK$u9FN2^)2%iPf<#T76oF}LmmZ%q4t0loSa$lu!=R7FW#&^inC86e>bmx4r?~% zvn19%Y+zHOJoiw<3lHDnl7}s9dw7Xw9=^v9a3T8R5fvnFNKRIl?#t8TR{hUpF!mKOq(|sRt~~|sprq+ zJT)pzFzm@N=gMK#tR9$1$9~9BbkepO=RlX+wtjs)??x2DeY2Ae zWfSh!YykQAg@Url*b}E{8L!j*-le`gI6@)iIi3fU)0f zMITZ=LW**bk7NoShWOYGV+te4U=%kohC8%8zy#KaWSdxC;UY>z@|sv8VmadODMnam z;UVIWx$;oPC%8hiBA;XBC#&ytqZ!E6Lw z!LZ~>Ev}MbM}&90qbO4J0-vik4`u34gJ#^95rcD~wFn!EN0A_R&l4|v_@qSS4#q^c z<%fY%H(ZP6BvY={sbZLD2D=p`p)by5TBY=dc`)G5oEmCsUj>oWy-N}IgRX;3Y&ozn z$FTEnIfmVTIprEdAuZ-Au6yovXCVBT-aQN5CR$I1VGg;Z)=QN~ZOY-t$xrB@`yFUVZ9j9$NbK{_kd9s}efpC#Ldil@g6B0`==igyGjF7pX j38cRY)QEcYOC&!P$)G@41Is89nq;kDfh?QkOhQ`UK8bbz literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/table/ModelForTable.class b/lecture14JavaSwing/build/classes/examples/table/ModelForTable.class new file mode 100644 index 0000000000000000000000000000000000000000..9c962fbeaeaa42e2fd3c6a3d0ab7c4d7991ec1c3 GIT binary patch literal 2516 zcmb7GZBrXn7(Kfik`R`+@K#D%OOZASLX@J^f=EokrVXG?rS?VZLUz)vn_XtJ0qPh3 zkK+fNv2@fKr=R^%j_2+!$tFZQGLwCI?!D)nd!BQ5`0MZA{{*lEErBEoG2Bi-MxhtO z*btY^1U|=|IEr!HjpJS%r5LtEZ99f#ao_2~7x+?K?#ED$;Xw>vN$53=x~p5dQx`gHS(N*vDI9ES1tZGg_)GasnK-)9*ExV$dr2uth zjVL{aMFI(9A%wi+XfMSqj%T~oSD*M*QzLxYb;#m@MOO{WaMvVUNOxPdlG&9IDNuvh zk74QCjoO~>c*-OsOZL8I?rM%9lm^9!``qB}FPHRVt#)AQ^_(k4bKXWaZGSCgj<+v< zd2j|W-&INX4G4LCRo%UB9~JC|*Cy1S=qR(+vtH=KRFL|4tcW!bLg z8n#7^qajar4t2*dDms-75U^mIjhYo;_BRXLT8&POrHh%+(!fqC+4oizt%`muL86ZS zva9WXzoi`n=7gY4tu7?ALls1o5+=HoSF@t~14g}|o90Hv@N8uq(#2xtv4pr|9|g<_ z>fP1MhMuP(<6=Cdc4zN}zAthT6OE#A5=Od&Lqeh+LYWAf;^ilRATI5XY95tHgO~U4 z3|ggCD&F4Pax5X^XQ_iT;pbq}FxkUoTOJpLbQMz| z-EiyJ-qGsMd305bVob#aOvdm~#n+hSw)2k5^G5&k=3b-5Q&P6AssuP za}jQaLSfS-Tu&FzH?wPq`dd^qis}uN1bUn^^DhO<>9AP*NcjxhqNr*+9`TF@zoIsh@ZSwfcXeHpQRtVmcW+ zNybl-y(h`U3EzE(#?d3jXzUF6W^t7YXORiHln%IwjyVXu^IQ={Bqhr-+V{199C1a1 zmIFmfvQLnO?O6zcD@|}E0QdXC(-4>l26xnKWR^r0^3cZq)Qf1u~dCF8Sy02R;YQvd(} literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/table/TableExample$1.class b/lecture14JavaSwing/build/classes/examples/table/TableExample$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f0efd70da26c435c87d939a64041a0de77ff9b18 GIT binary patch literal 530 zcmaJ;TT22#7(KJDZf;wtm0cuyG14B|grEnb7cmI7f(#>i8rMNbc4uQR(ckJxDCh_D zqoQwB(kBOY&UZO;zRUjnetrWuN5w=ITL!jGXepKr>=@W($X!Y$<12a<*Yapvhx98ycodKYKVX|1$G+Ob9- zbw*yEESr!KW>3aoACt66cWx3q!YbL;lt8#n9!>lI_=3dJ$N4X4&tqhs<^t*O1CEJW cTM)_5L^3E)RzndbLY=HltdV7soK8sR4<&+ZzyJUM literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/examples/table/TableExample.class b/lecture14JavaSwing/build/classes/examples/table/TableExample.class new file mode 100644 index 0000000000000000000000000000000000000000..0c87cb8cb0770b2ce7814921d82d3347512276bf GIT binary patch literal 1927 zcmaJ?ZC4vb6n+*0yKJ^VcrR~Fm1-cgvA(u~)C$E?6F@@2P~V0yz`|xX?rxy?EBx%Q z&@Z5J^!U-^pYWe}d}cQhh#Zr%vorVJx%WQL+`0Sb-@p6@;BELOZev!*2PRrDYa)#~ zHG5>@Lp)ZqkJK=)h6Ob|QNyB+k4;!=-%|ri2A&!CB#Ar<29^!17+5v%sev^EMIGxV zZsNI)4HF~S)bW{#F%_zWEgdg(e6GP-a$V`qJ0b{VprL)%cI|LZLu+PoLqlTT+mRZ& z^0q6NYn5&3uZwMmlAgR*7S4w7ZMCio6XCv1A7gp>QdFvr4055;<|6fzST>`fZPynS z`sm9ah$Hbb7aZH}UhdhVl2WZ#PU`-e3?eBFl4W0tun}}1GkMid!z|(0L8zfS(&lQR z?d0;5s01oRUt_?=(4`eGv;BK_tb{C!m=*I!IK6?b1)? z8hymC@b}1A?=@--X3?wpWw~f8!c&(?yr+n>@G2&F68|O9!ad|He1R`@d}ZNl&~_VT z3p<#wAhBy<5BnBu95A-pAJg;L_r;0gh^$4@OK>!F6l5qI$1V$IQxHKY{j|56UaeKD zG9-x9f*n-7K%IE{sq{S==r~l-$+S_Bdtyh1`xJ+H=$4zD#ej27C>pO~rQQ3>8O}W{x5zm4+uX z*0lRF%M`9Y$po6Eicp#Z2q+=uZAybTi7w?O4@l3gJcnh|V>#8NOWcMb$i>^K#pvtr}R; zc8^#j`M5Y5kfIFMYObsN(Fr?mnveRm^5I2-hC7^n&$W^~m^y=Yj+W9HTJxMI3fWV% zO`oEDGuwU&ohu`&ouVU~(!NXKk5ic0#3_<2VJAV;2(WX1`AH--BWF;uiWC zuOAr<;7ttTJq+P>TBhT;luvSHVVWMY%qm6gH15)Ci@MhJJpV!)Jp+|q!-VMo$ZvZ>;H6nm(oJZ_*4X&7jf@)ivk1S<3zn>kPw%bBvUx z&oH`t_Xh@SjlhjV=X?YPM)8XJreGW!gtko>ha^@3nu-&w12Wim-oSmPzl|h;zePBQ zd=#`+ehn35_KC>q9nL!NE~$wRZ=HzoymYIta3wBJitS~ STkw7~&M-~ThBuyX{{8`S?$FWz literal 0 HcmV?d00001 diff --git a/lecture14JavaSwing/build/classes/jTable/NewClass.class b/lecture14JavaSwing/build/classes/jTable/NewClass.class new file mode 100644 index 0000000000000000000000000000000000000000..da95b30f399ce544fb01999a5a89ec820602ec03 GIT binary patch literal 505 zcmZ8dO-}+b5PjuqaYY3bF`lX?HR@ixVZ0bUAts_E9=qMDC8bODL;PEwNHo#AKgu|} zh#GsCnfKbhc{3lMFK+;ju;HSDhJ$7mt1b#ybI@|I&QLklRwpM6#hu*&L+LaO6vIka zTh&WPzKX7eZ-{AjLn+KaL^{LYWGQ*jF+-y}%n7fjCZ|TkafhLLEX}vF+Yi%7s&k#` zwEGin?=Pr}IS*&zhePowYH(0x*vx9r2z&2cr8dzcb@n9HIMJbHP&ZbFqp>!b1s>{Wt z|Mhn150y+9T07levY$jWT4#5FEtF~9*(rc!gHc={=lt5GSjov67OAey k9#CE)RK@bo=WP^;0o+# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lecture14JavaSwing/nbproject/genfiles.properties b/lecture14JavaSwing/nbproject/genfiles.properties new file mode 100644 index 0000000..8bacd2d --- /dev/null +++ b/lecture14JavaSwing/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d9e52c5b +build.xml.script.CRC32=2b9bbdd9 +build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=d9e52c5b +nbproject/build-impl.xml.script.CRC32=024b6ea2 +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/lecture14JavaSwing/nbproject/private/private.properties b/lecture14JavaSwing/nbproject/private/private.properties new file mode 100644 index 0000000..582f630 --- /dev/null +++ b/lecture14JavaSwing/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\\u0410\u043b\u0435\u043d\u0430\\AppData\\Roaming\\NetBeans\\8.2\\build.properties diff --git a/lecture14JavaSwing/nbproject/private/private.xml b/lecture14JavaSwing/nbproject/private/private.xml new file mode 100644 index 0000000..284eeec --- /dev/null +++ b/lecture14JavaSwing/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/lecture14JavaSwing/nbproject/project.properties b/lecture14JavaSwing/nbproject/project.properties new file mode 100644 index 0000000..25c537d --- /dev/null +++ b/lecture14JavaSwing/nbproject/project.properties @@ -0,0 +1,74 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# \u0424\u0430\u0439\u043b\u044b \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 build.classes.dir, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430 jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/lecture14JavaSwing.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/lecture14JavaSwing/nbproject/project.xml b/lecture14JavaSwing/nbproject/project.xml new file mode 100644 index 0000000..40ff491 --- /dev/null +++ b/lecture14JavaSwing/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + lecture14JavaSwing + + + + + + + + + diff --git a/lecture14JavaSwing/src/examples/JText.java b/lecture14JavaSwing/src/examples/JText.java new file mode 100644 index 0000000..7121782 --- /dev/null +++ b/lecture14JavaSwing/src/examples/JText.java @@ -0,0 +1,156 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package javaswing; + +import java.awt.Dimension; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; + +/** + * + * @author admin + */ +public class JText{ + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + JFrame frame = new JFrame("title form"); + + frame.setSize(600, 400); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setLocationRelativeTo(null); + frame.setLayout(new GridBagLayout()); + + + /////////JText + + /*JTextField textField = new JTextField(20); + JTextField textField2 = new JTextField(20); + textField.setHorizontalAlignment(JTextField.LEFT); + //textField.setText("My Test Text"); + JButton button = new JButton("klick"); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + textField2.setText(textField.getText()); + } + }); + + frame.add(textField); + frame.add(textField2); + frame.add(button); + + */ + + ///////////JPasswordField + + + /*JPasswordField PasFie = new JPasswordField("", 20); + JTextField textField = new JTextField(20); + JButton button = new JButton("klick"); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + //textField.setText(PasFie.getText()); + textField.setText(new String(PasFie.getPassword())); + } + }); + //PasFie.setEchoChar('*'); + //System.out.println(PasFie.getPassword()); + frame.add(PasFie); + frame.add(textField); + frame.add(button); + */ + + //////////JTextArea + + /*JButton button = new JButton("klick"); + JTextArea textArea = new JTextArea(5, 20); + textArea.setLineWrap(true); + textArea.setWrapStyleWord(true); //перенос слова на след строку + //textArea.append("Область для ввода текстового содержимого"); + //textArea.insert("ВСТАВКА", 30); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + try { + //textField.setText(PasFie.getText()); + FileWriter file = new FileWriter("testArea.txt"); + file.write(textArea.getText()); + file.close(); + textArea.setText("Текст записан"); + } catch (IOException ex) { + System.out.println("exception"); + } + } + }); + + frame.add(textArea); + frame.add(button); + + */ + + + //////JComboBox + + + /* + String []str = {"point 1", "point 2", "point 3"}; + JComboBox myBox = new JComboBox(str); + //myBox.setEditable(true); + //myBox.addItem("point 4"); + //myBox.insertItemAt("new point", 2); + //System.out.println(myBox.getItemAt(2)); + //myBox.removeAllItems(); + //myBox.removeItem("new point"); + //myBox.setSelectedItem("point 3"); + //System.out.println(myBox.getSelectedItem()); + frame.add(myBox); + */ + + + //////JList + + + /* String []str = {"Cat", "Dog", "Pig", "Bird", "Fish", "Rabbit", "11", "22", "33", "44", "55", "66", "77", "88", "99"}; + + JPanel mainPanel = new JPanel(); + JList myList = new JList(str); + myList.setLayoutOrientation(JList.VERTICAL); + //myList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + System.out.println(myList.getSelectedIndex()); + + JScrollPane scroll = new JScrollPane(myList); + scroll.setPreferredSize(new Dimension(200, 100)); + mainPanel.add(scroll); + frame.getContentPane().add(mainPanel); + */ + + frame.setVisible(true); + + + } + +} diff --git a/lecture14JavaSwing/src/examples/LoginWindow.java b/lecture14JavaSwing/src/examples/LoginWindow.java new file mode 100644 index 0000000..4ff8cd3 --- /dev/null +++ b/lecture14JavaSwing/src/examples/LoginWindow.java @@ -0,0 +1,61 @@ + +package examples; + +import javax.swing.*; +import javax.swing.border.EmptyBorder; + +public class LoginWindow extends JFrame { + +/* Для того, чтобы впоследствии обращаться к содержимому текстовых полей, рекомендуется сделать их членами класса окна */ +JTextField loginField; +JPasswordField passwordField; + +LoginWindow(){ +super("Вход в систему"); +setDefaultCloseOperation(EXIT_ON_CLOSE); +// Настраиваем первую горизонтальную панель (для ввода логина) +Box box1 = Box.createHorizontalBox(); +JLabel loginLabel = new JLabel("Логин:"); +loginField = new JTextField(15); +box1.add(loginLabel); +box1.add(Box.createHorizontalStrut(6)); +box1.add(loginField); +// Настраиваем вторую горизонтальную панель (для ввода пароля) +Box box2 = Box.createHorizontalBox(); +JLabel passwordLabel = new JLabel("Пароль:"); +passwordField = new JPasswordField(15); +box2.add(passwordLabel); +box2.add(Box.createHorizontalStrut(6)); +box2.add(passwordField); +// Настраиваем третью горизонтальную панель (с кнопками) +Box box3 = Box.createHorizontalBox(); +JButton ok = new JButton("OK"); +JButton cancel = new JButton("Отмена"); +box3.add(Box.createHorizontalGlue()); +box3.add(ok); +box3.add(Box.createHorizontalStrut(12)); +box3.add(cancel); +// Уточняем размеры компонентов +loginLabel.setPreferredSize(passwordLabel.getPreferredSize()); +// Размещаем три горизонтальные панели на одной вертикальной +Box mainBox = Box.createVerticalBox(); +mainBox.setBorder(new EmptyBorder(12,12,12,12)); +mainBox.add(box1); +mainBox.add(Box.createVerticalStrut(12)); +mainBox.add(box2); +mainBox.add(Box.createVerticalStrut(17)); +mainBox.add(box3); +setContentPane(mainBox); +pack(); +setResizable(false); +setVisible(true); +} + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new LoginWindow(); + } + }); + } +} \ No newline at end of file diff --git a/lecture14JavaSwing/src/examples/ProgressBarExample.java b/lecture14JavaSwing/src/examples/ProgressBarExample.java new file mode 100644 index 0000000..9e9993c --- /dev/null +++ b/lecture14JavaSwing/src/examples/ProgressBarExample.java @@ -0,0 +1,71 @@ +package examples; + +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JProgressBar; +import javax.swing.SwingUtilities; +import javax.swing.Timer; + +/** + * + * @author Alena + */ +public class ProgressBarExample { + + final static int interval = 1000; + int i; + Timer t; + JButton button; + JProgressBar progress; + + public ProgressBarExample() { + + JFrame frame = new JFrame(); + frame.getContentPane().setLayout(new GridLayout(2, 1)); + button = new JButton("Start"); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + i = 0; + t.start(); + button.setEnabled(false); + } + }); + progress = new JProgressBar(0, 20); + progress.setValue(0); + progress.setStringPainted(true); + t = new Timer(interval, new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + if (i==20) { + t.stop(); + button.setEnabled(true); + } else { + i = i+2; + progress.setValue(i); + System.out.println(progress.getPercentComplete()); + } + } + }); + frame.getContentPane().add(progress); + frame.getContentPane().add(button); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setSize(400,200); + frame.setResizable(false); + frame.setVisible(true); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new ProgressBarExample(); + } + }); + } + +} diff --git a/lecture14JavaSwing/src/examples/ScrollPaneExample.java b/lecture14JavaSwing/src/examples/ScrollPaneExample.java new file mode 100644 index 0000000..827c8f9 --- /dev/null +++ b/lecture14JavaSwing/src/examples/ScrollPaneExample.java @@ -0,0 +1,51 @@ +package examples; + +import java.awt.GridLayout; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingUtilities; + +/** + * + * @author Alena + */ +public class ScrollPaneExample { + + ScrollPaneExample() { + JFrame frame = new JFrame(); + frame.getContentPane().setLayout(new GridLayout(2, 1)); + JTextArea text = new JTextArea(); + text.setText("Ученые также предполагают, что черно-белый окрас панды связан" + + "\n" + "с неспособностью животного переваривать какие-либо продукты," + + "\n" + "кроме бамбука. Это означает, что панда не может накопить " + + "\n" + "достаточное количество жира, чтобы зимой впадать в спячку," + + "\n" + "как это делают медведи. Таким образом, панда вынуждена " + + "\n" + "оставаться активной круглый год, постоянно меняя места " + + "\n" + "обитания, которые варьируются от снежных гор " + + "\n" + "до тропических лесов. Вместе с тем ученые полагают, " + + "\n" + "что темные уши панды пугают хищников, придавая им более" + + "\n" + "свирепый вид, а черные пятна вокруг глаз помогают " + + "\n" + "пандам узнавать друг друга среди других животных."); + JScrollPane pane = new JScrollPane(text); + pane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + pane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); + //frame.getContentPane().add(text); + frame.getContentPane().add(pane); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setSize(400,200); + frame.setResizable(false); + frame.setVisible(true); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new ScrollPaneExample(); + } + }); + } +} \ No newline at end of file diff --git a/lecture14JavaSwing/src/examples/SliderExample.java b/lecture14JavaSwing/src/examples/SliderExample.java new file mode 100644 index 0000000..a4a80bd --- /dev/null +++ b/lecture14JavaSwing/src/examples/SliderExample.java @@ -0,0 +1,51 @@ +package examples; + +import java.awt.GridLayout; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JSlider; +import javax.swing.SwingUtilities; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +/** + * + * @author Alena + */ +public class SliderExample { + + public SliderExample() { + JFrame frame = new JFrame(); + JSlider slider = new JSlider(); + slider.setOrientation(0); + slider.setMaximum(100); + slider.setMinimum(0); + slider.setMajorTickSpacing(10); + slider.setPaintLabels(true); + slider.setValue(30); + JLabel label = new JLabel(); + label.setText("0"); + slider.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + label.setText(String.valueOf(slider.getValue())); + } + }); + frame.getContentPane().setLayout(new GridLayout(2, 1)); + frame.getContentPane().add(slider); + frame.getContentPane().add(label); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setSize(400,200); + frame.setVisible(true); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new SliderExample(); + } + }); + } +} \ No newline at end of file diff --git a/lecture14JavaSwing/src/examples/TreeExample.java b/lecture14JavaSwing/src/examples/TreeExample.java new file mode 100644 index 0000000..8e86d9c --- /dev/null +++ b/lecture14JavaSwing/src/examples/TreeExample.java @@ -0,0 +1,41 @@ +package examples; + +import java.awt.GridLayout; +import javax.swing.JFrame; +import javax.swing.JTree; +import javax.swing.SwingUtilities; +import javax.swing.tree.DefaultMutableTreeNode; + +/** + * + * @author Dmitry + */ +public class TreeExample { + + public TreeExample() { + JFrame frame = new JFrame(); + DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); + DefaultMutableTreeNode vegetableNode = new DefaultMutableTreeNode("Vegetables"); + DefaultMutableTreeNode fruitNode = new DefaultMutableTreeNode("Fruits"); + root.add(vegetableNode); + root.add(fruitNode); + JTree tree = new JTree(root); + + frame.getContentPane().setLayout(new GridLayout(2, 1)); + frame.getContentPane().add(tree); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setSize(400,200); + frame.setVisible(true); + + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new TreeExample(); + } + }); + } +} diff --git a/lecture14JavaSwing/src/examples/table/ModelForTable.java b/lecture14JavaSwing/src/examples/table/ModelForTable.java new file mode 100644 index 0000000..ad0f9f9 --- /dev/null +++ b/lecture14JavaSwing/src/examples/table/ModelForTable.java @@ -0,0 +1,76 @@ +package examples.table; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; +import javax.swing.event.TableModelListener; +import javax.swing.table.TableModel; + +/** + * + * @author Alena + */ +public class ModelForTable implements TableModel{ + private Set listeners = new HashSet(); + private ArrayList inner; + + public ModelForTable(ArrayList inner) { + this.inner = inner; + } + + @Override + public int getRowCount() { + return inner.size(); + } + + @Override + public int getColumnCount() { + return 3; + } + + @Override + public String getColumnName(int columnIndex) { + switch(columnIndex) { + case 0: + return "Artist"; + case 1: + return "Album"; + case 2: + return "Song"; + } + return ""; + } + + @Override + public Class getColumnClass(int columnIndex) { + return String.class; + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return false; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + String[] thisRow = inner.get(rowIndex); + return thisRow[columnIndex]; + } + + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + String[] thisRow = inner.get(rowIndex); + thisRow[columnIndex] = (String) aValue; + inner.set(rowIndex, thisRow); + } + + @Override + public void addTableModelListener(TableModelListener l) { + listeners.add(l); + } + + @Override + public void removeTableModelListener(TableModelListener l) { + listeners.remove(l); + } +} \ No newline at end of file diff --git a/lecture14JavaSwing/src/examples/table/TableExample.java b/lecture14JavaSwing/src/examples/table/TableExample.java new file mode 100644 index 0000000..eeb74e2 --- /dev/null +++ b/lecture14JavaSwing/src/examples/table/TableExample.java @@ -0,0 +1,43 @@ +package examples.table; + +import java.util.ArrayList; +import java.util.List; +import javax.swing.JFrame; +import javax.swing.JTable; +import javax.swing.SwingUtilities; + +/** + * + * @author Alena + */ +public class TableExample { + + TableExample() { + JFrame frame = new JFrame(); + JTable myTable = createTable(); + frame.getContentPane().add(myTable); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setSize(400,200); + frame.setVisible(true); + } + + private JTable createTable() { + List list = new ArrayList<>(); + list.add(new String[]{"Metallica", "Master of Puppets", "Disposable Heroes"}); + list.add(new String[]{"Megadeth", "Rust In Peace", "Dawn Patrol"}); + list.add(new String[]{"Deep Purple", "Machine Head", "Smoke on the Water"}); + ModelForTable model = new ModelForTable((ArrayList) list); + JTable myTable = new JTable(model); + return myTable; + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + new TableExample(); + } + }); + } +} \ No newline at end of file