From 19c33fe5a64f262c83a288f6510340c9ae34cc3d Mon Sep 17 00:00:00 2001 From: MinnThikeTunn Date: Fri, 2 Aug 2024 02:37:12 +0630 Subject: [PATCH 1/5] First commit. --- echoStream/.classpath | 6 + echoStream/.project | 17 ++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 14 ++ echoStream/bin/GUI/Gui$1.class | Bin 0 -> 730 bytes echoStream/bin/GUI/Gui$2.class | Bin 0 -> 846 bytes echoStream/bin/GUI/Gui$3.class | Bin 0 -> 494 bytes echoStream/bin/GUI/Gui.class | Bin 0 -> 2953 bytes echoStream/bin/components/Graph.class | Bin 0 -> 7099 bytes .../IndexPriorityQueue$Element.class | Bin 0 -> 721 bytes .../IndexPriorityQueue$IndexValue.class | Bin 0 -> 1222 bytes .../bin/components/IndexPriorityQueue.class | Bin 0 -> 3986 bytes echoStream/bin/components/Post$1.class | Bin 0 -> 1162 bytes echoStream/bin/components/Post$2.class | Bin 0 -> 1166 bytes echoStream/bin/components/Post$3.class | Bin 0 -> 1168 bytes echoStream/bin/components/Post.class | Bin 0 -> 4178 bytes .../components/Tag$PopularityComparator.class | Bin 0 -> 828 bytes echoStream/bin/components/Tag.class | Bin 0 -> 1453 bytes echoStream/bin/interfaces/HasPost.class | Bin 0 -> 247 bytes echoStream/bin/interfaces/HasTag.class | Bin 0 -> 205 bytes echoStream/bin/phaseOne/Phase1.class | Bin 0 -> 2101 bytes echoStream/bin/utilities/CreateMedia.class | Bin 0 -> 1356 bytes echoStream/bin/utilities/TagComparator.class | Bin 0 -> 970 bytes echoStream/src/GUI/Gui.java | 93 ++++++++++ echoStream/src/components/Graph.java | 163 ++++++++++++++++++ .../src/components/IndexPriorityQueue.java | 109 ++++++++++++ echoStream/src/components/Post.java | 128 ++++++++++++++ echoStream/src/components/Tag.java | 54 ++++++ echoStream/src/interfaces/HasPost.java | 10 ++ echoStream/src/interfaces/HasTag.java | 8 + echoStream/src/phaseOne/Phase1.java | 78 +++++++++ echoStream/src/utilities/CreateMedia.java | 47 +++++ echoStream/src/utilities/TagComparator.java | 19 ++ 33 files changed, 748 insertions(+) create mode 100644 echoStream/.classpath create mode 100644 echoStream/.project create mode 100644 echoStream/.settings/org.eclipse.core.resources.prefs create mode 100644 echoStream/.settings/org.eclipse.jdt.core.prefs create mode 100644 echoStream/bin/GUI/Gui$1.class create mode 100644 echoStream/bin/GUI/Gui$2.class create mode 100644 echoStream/bin/GUI/Gui$3.class create mode 100644 echoStream/bin/GUI/Gui.class create mode 100644 echoStream/bin/components/Graph.class create mode 100644 echoStream/bin/components/IndexPriorityQueue$Element.class create mode 100644 echoStream/bin/components/IndexPriorityQueue$IndexValue.class create mode 100644 echoStream/bin/components/IndexPriorityQueue.class create mode 100644 echoStream/bin/components/Post$1.class create mode 100644 echoStream/bin/components/Post$2.class create mode 100644 echoStream/bin/components/Post$3.class create mode 100644 echoStream/bin/components/Post.class create mode 100644 echoStream/bin/components/Tag$PopularityComparator.class create mode 100644 echoStream/bin/components/Tag.class create mode 100644 echoStream/bin/interfaces/HasPost.class create mode 100644 echoStream/bin/interfaces/HasTag.class create mode 100644 echoStream/bin/phaseOne/Phase1.class create mode 100644 echoStream/bin/utilities/CreateMedia.class create mode 100644 echoStream/bin/utilities/TagComparator.class create mode 100644 echoStream/src/GUI/Gui.java create mode 100644 echoStream/src/components/Graph.java create mode 100644 echoStream/src/components/IndexPriorityQueue.java create mode 100644 echoStream/src/components/Post.java create mode 100644 echoStream/src/components/Tag.java create mode 100644 echoStream/src/interfaces/HasPost.java create mode 100644 echoStream/src/interfaces/HasTag.java create mode 100644 echoStream/src/phaseOne/Phase1.java create mode 100644 echoStream/src/utilities/CreateMedia.java create mode 100644 echoStream/src/utilities/TagComparator.java diff --git a/echoStream/.classpath b/echoStream/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/echoStream/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/echoStream/.project b/echoStream/.project new file mode 100644 index 0000000..ad7f20e --- /dev/null +++ b/echoStream/.project @@ -0,0 +1,17 @@ + + + echoStream + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/echoStream/.settings/org.eclipse.core.resources.prefs b/echoStream/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/echoStream/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/echoStream/.settings/org.eclipse.jdt.core.prefs b/echoStream/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..ef0604b --- /dev/null +++ b/echoStream/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/echoStream/bin/GUI/Gui$1.class b/echoStream/bin/GUI/Gui$1.class new file mode 100644 index 0000000000000000000000000000000000000000..dd9f472553b28ed4e29b5a057ee5ee56f1603bf8 GIT binary patch literal 730 zcmaJ{IxOM~O0TId0_0hfO+;i>oiyuD$JjI5O5<_kG-7wsps?NZN$Iv(yry@** zJ`7)vk7aCpR2WtrDn6M|o=R=P7qL;Pj#O@>mKj6E9I3psNo-L;w?*JHrImTkz`K9Y z-iX25PA9SkhRYm2ssYNVbJWmaD0gi_JyKe}nx2eh_EwA&$u(1` zTX2V?h4wsWKyKzPhcnhSj&%g{q{j@5%&h#cAL7|JBL1)^J{C5E{dAhe@};tasM1Y6 zvUbSnj*gQwSNd>InxmAQ@}Z{N*iJ;A%N%W*aGBO6utviUnl8OWtA>Ek1@{C>4hi}j z-@yCdapjB4S){!}Ilx0SY3D8ua240+#Bd!;1%o05%h~RK1wX^G_ZiDJJh1WP468Hz zuH`Mm@;2eo9+Lhhjd4IzeBv~gW;}%kF`|Qeq;lU?vKEy;ps<84di3|GxQ;$W){JeH FzF)y5jpP6T literal 0 HcmV?d00001 diff --git a/echoStream/bin/GUI/Gui$2.class b/echoStream/bin/GUI/Gui$2.class new file mode 100644 index 0000000000000000000000000000000000000000..0e6f2f7211fce09757bc4813b51730dba46c1ff2 GIT binary patch literal 846 zcmaJ=>rN9v6#k}NyX`XCS`fT|RIJ(yvQQ*ZOH2qs(xfN}+QffOmk|b+U9-Ez=;QbX zCSHg?d;lNHcxHCBm>4&i+nF=pcg}at{`mRrJAivwvyo#cZ9nh1+ap!)*svHXN8&`d zz6cK7r^6%ZB{m8SbH*y(Caye@LE>(Bi3)?hiW3>gh@p@is<^&PX#EVXOU88-sN@j? zZ~U<~2MpF`xGzg!IL~3D=pc_WM+p^%d_y~w`znx6M#n=LJrhG;GF1DaC;Wkkls;!h zOOrB8{06Ugh_ozBXuC3c6-LK$pJBey|7Y}DI+Jd5;NUW@+PK1CXR&i!!z@Elc%F<+ zT4yup=?B+2=208_tTNQjWSKIK66L!aQ6%1JrMeClP`7cDVbTQj_cg~Y+$M2i^_~(Y zAq-E0qlwm-XN6Q7^Yqf_7dh_289Q|t7-7u*FK@!xON94&N4&}8boRngmBkXnZcxTp%A{4ON=C**loT6rC6@VLC$?5rf8DY<&Vh#Z0=)eZh^&l>Z?; zzaYEy@)UQ{%eLmoLvvJN(R?2>cz`+{qK$RKH=SZ;e1wiAxWu?@Ua~elU!iRd9jwx7 PQQgb*-@qiM!=~>SYmTch literal 0 HcmV?d00001 diff --git a/echoStream/bin/GUI/Gui$3.class b/echoStream/bin/GUI/Gui$3.class new file mode 100644 index 0000000000000000000000000000000000000000..6c2223e5f06727f48496ecb0a56da2c2b4216e20 GIT binary patch literal 494 zcmYjN%TB^T6g>llLR&>p@%>o1Ko@qQD=}_}8j`AsAih?mOkhZvCVlu{ZY0sf5AdUm zcM1U~xpNDkcDYMM}eW_2+41gQJ07938LZzp6hqqP^f%b z)Z&4N7))m-q)wD!B6U<4^l8;V8K$~cEmX0_U_?Cbh)ASTwAzc3V6=iH^!Sxf@(MK6 zvC>USE~V!Ok&yix9uI<^g>CGR;*l#PL$&tm%;#&xA@$W2oz;|*hYjD2A|7EMB#SIZ z%gd0_jFc5AvdJ^@xuY?R_w?DKJD(QYSfJRNG++@W%4p3q@EMUQu=R!V^BBw82Ug}B jM*7twOg#PLv8Fs(tP?VW4Q!IvXggcjrN|&g#YyK6x6D@k literal 0 HcmV?d00001 diff --git a/echoStream/bin/GUI/Gui.class b/echoStream/bin/GUI/Gui.class new file mode 100644 index 0000000000000000000000000000000000000000..0ca6a655a9ba19c818fe648d61f23c0d0dbdbd79 GIT binary patch literal 2953 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 GCY*naDx&59 literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/IndexPriorityQueue$IndexValue.class b/echoStream/bin/components/IndexPriorityQueue$IndexValue.class new file mode 100644 index 0000000000000000000000000000000000000000..701c702d6b920202f0f197de3ca1ee699341b7c6 GIT binary patch literal 1222 zcma)5Yi|-!5Iq-Y7jU(J6{>wmwbcb_@ljue_CrZbNQjR>Nc`pkH}p1i7nj|}#`vE! zu{6=dAK;HN&g|0A7H#@r@11+@oSAcHW`FM3B>BE zYniU+kVCl9AY{6%Eah$sq>bt%Bi9trj4FAu6{*-A8Alii9aoT~5Js*UgTQqiQiK%?w%Kc%j^gtOjJUgMAds(JwgRL$T{{!#uzwP)c$5`D zFeYQ>n(T2;$9))7ezV_~R!3mLs7?wPWhzCHC$WXB-&#LIf%$6!YyZkHk@O@EXD%}H z;W=h7NTvTPVCG|HK4GbqiyfcpSiqt{yl#6=TfS1<|BPR$Gn2i}m8J17H#Sd69%H&FRK9S8*>41ek)}0;2(2GzHHp|FQX3gUvH=ZqxJf4p;HMS7#fd|> zMRuBYzMI25?QCfXq)-(}5KH(-k(jso6HD(?*<;+ve@AMF)l_bX2V~C>|zM(i&r C>l-fs literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/IndexPriorityQueue.class b/echoStream/bin/components/IndexPriorityQueue.class new file mode 100644 index 0000000000000000000000000000000000000000..83b3cc7e0a521ae44670b11bcbe29fa47cc74410 GIT binary patch literal 3986 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 literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/Post$2.class b/echoStream/bin/components/Post$2.class new file mode 100644 index 0000000000000000000000000000000000000000..2c0dd438b4c1acbe5c56225fe822b011499b8c6f GIT binary patch literal 1166 zcmaJ=YflqF6g|_{ZYe7*<>dnewP?3IwgNt|h*AVoQvsSPc%>o2&~JGMhn_238JHVhAhUBCVhrhh ze#A|OySwJQ+P<))hB(7mc*>8ZDUQg)T(P9>xfMH*!WBM4T<+OHwm_(r4%i|=9&snz za2@-TC^e+?T!x{F0z5H;W19lKZXJ_pe93lgxy)eXx_~ZqF{%u)Rj)33z>w0RA)!|N zI(m>yB8mYWy%=PO=9FowV!PsPO)_zC0);(b_*iChws$SZ-SLa$Yl+9`!J06*84> z&9xjaASvGnx#!h&yu=!VzAL1%+TgBm7>3&{f46pcPW<$;OD|>B;Xxn*Oi+(TX48RQ^g^fGtF&6AeU#=@e(Dr``RP-n^JmC>4h@IsA16cL1BU6ZoX8X- zxJEO>b=+vfIEaP7h5Q%vZJ*<2Z08)eX_Nkj$?eSjGZ^ZIE}EFm6q=Z8;$ahu7jgPR t8aqUa!$d8NH{8N(#{&vj#&e1o#S4lb!3s(=$EbT(u}-Tb-6@9j{Q|7p7jXap literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/Post$3.class b/echoStream/bin/components/Post$3.class new file mode 100644 index 0000000000000000000000000000000000000000..0bc024a5e11d16e9656591f4aefa83c864cd1c82 GIT binary patch literal 1168 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 literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/Tag$PopularityComparator.class b/echoStream/bin/components/Tag$PopularityComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..34b8adb4f89d916e5bccd83c57976d5526ab3703 GIT binary patch literal 828 zcma)4%TC)s6g@XD6XQUDv{0Z08XgWW3&g5HNGOt}pr}Oxv7e-)U}S9MjFI>!Hf$(j zfx7NTRornRxiuRWGxsrP&fI(M{Q3L*0^k4*135yy7hd0lfeh5ZIT!ua)9@ztMdYcw z79WU6s4y~6AXKl!t#Eu1^qn8wE7?;9N`zXHjg{v+DV|U|^a4*E5%PB9f>3CMKc$I0 z#w{2aBTRO@Kz@&}yD~Z#U0)KWJ7G`w7yPo0N6CV^^ag~r&O3^15)2I!5wq3p%#~&~ zZnRCz;Ddo0Vd8&!3m-8{sPv^u)ks=#O?<+FfqCvAmBaNzp)6FfNGRH_+h`MVYL6w$ zKC1Kkgblls-X4nCe4Eh~625BUDS~+x#!*kYo)&A2C$+072<0=c9|#reuD`t{8D=u` zIn35|#Nt`)AdpeZ7lVOh&1-4v>0q(K73Fyq`3Gss!{oipk;9hQ7B_#vd|)RBi}zBJ z+(m_bYY4yuCOKkxFvYvRe8T9wMr=J|dYji1=I%NEmt!yCSRUd=9Gdepz9hUBme|Wx wkC}IQ#Jj_2&0E>r`i+@wUXNJG67!^!r*ud4#9PH$V%M?3R!@QWuh=NR0@lK{?*IS* literal 0 HcmV?d00001 diff --git a/echoStream/bin/components/Tag.class b/echoStream/bin/components/Tag.class new file mode 100644 index 0000000000000000000000000000000000000000..dbdebd59b1c0711ca78e07463c700570fa2482e3 GIT binary patch literal 1453 zcmZuw+iuf96r9baPEt214K0^apciPI0O1ZLkn}CTWeN-}Zl%$m+q~CVTQ%Kfxf&93>aw*$aP=K+Cj6%5vAxCKo=G*;F#YAQmE8qn zJ0XDqMm*^1hh*4MzsFtIa>5=H1rkqV0#h0$dt|J=_Iz_q#}OQ5A5O;?7!FY^r_2Jj zPt{DhR!N~C5Nlc)6md*LNgy96+Z(3iI8F#?ZI#)wS!@Rpm4^Mc`D%+_pZTIATU4MY zJiOwH@knWXMyE5*g@ROD(qnMGN04B%lEDScXt+pM1oS$-)r!30={Si?0@K};B8)C! zH&JN^r`JHy5rv{(sC>PT7Y@eW8dU8d%A z+`2huDT}1&;1i0yfWBbcrW>?odKwrx*=v!ht*fu{f03^A9hXkrX&d8oW}I&_7-?1h zZZT!lVD5*`xsT@q$a2i_>mkqMoO8vm7%Y~)AYYvNg5i%r!XA!8NO06S4zN&`&mi`4 z=Wv*Yeb~=07Epf%i>j3ZjB!1R0})J_vpP!_KO_Hvix^aK#RbR*1@$l>Dkw09gWORZ zyOW3C|ChXH$K*rg7bf2!RE#;<;w1a}gz=&24H#SfWrIFODcJ#bI2KeJ2{Sf(%aTHd z^#uKODysX2F-kb2SbB$KV!ia65F0pM;`uhvMm5WefxD`ar;WlU0G=p`@RItJ1qNJzTBZ3?x6|6-Sm6dT|6DFCsiXaz78f*`lObo$IrHPfvC1K|Io1b83 zv?|gip~s4qI2%G4v_(h&SgnnIaI64r5Y_#1Mg zRa@-{5j#%ZZD@p6=0ULIBqM}9t6FuF=EPZYCIopm=u&2CtP7{do3YX*aF783n>l81 SG4goue|wIAFC5`%Vetjpo-WV; literal 0 HcmV?d00001 diff --git a/echoStream/bin/phaseOne/Phase1.class b/echoStream/bin/phaseOne/Phase1.class new file mode 100644 index 0000000000000000000000000000000000000000..d5700116defc244bd08a457eadbaa566f1393687 GIT binary patch literal 2101 zcma)7T~`}b6x}xsogoaArUlfZrq++})mX7r2^0z~Ej6@AD2P?-CAoxwFcW8PXrr(G z6xZ@qeF$sG(l=lHCH@IN_MN1XKyjLowzo-&8gKh_1I7>e{ z*HaIw`&%kllUrpakj(i7SzeccYviUfu6Nu};C${x*epGilwOrj*VKN+zb&;C7)p=i zA|zGqmNU14K-O|@sA=1scT1ks)qrtEJ6lcX3O+q~%F|(H#pkh`Sqm2gE_862KoZ>+ z28rUtDGM(U$ZkO0W{xe!P48KA;);XU@rHn{{e~xji_a5oIg+*U7R$OIE86wF)V3d_ zDh8H~5drI-40qOKDS-iu8I0osQynm#MtxedXc9@{s)G#PCL3gtS+phGU`%%86PCtc zV7mwYrH#TB5K97s?Nq5%p3|iXvc3PEIxEnd*Rrs;EGy5Mwl7_euG5cCCo!^afh_88 z>Gj<}R(2AYGBhB|2TVv;yDH2q1WIbPtctEoUd4wCew8*dQA@c4o`3#pmV# z8xJXM=xrMx5nJ95f|`ZAKwnGx5j$4#$gqRgd$0pLqRvm@V+WgHZ~H=}d1@ta{lL{V zb6YtAvnhOd*@9p7wArdS_|k0ka_dg9q{3*2#E?OWjK9!w=Kb{|a9TP>QCPau)^t3g36x@I=_G=}|EGuLn#Yym$B;7WqvELV$C zhEKs~*XSYaANUeOf~(mE9P~tMWI(Bx67#@0TJ`fihVzk=U&%k?{LvATn}@iVi_d(A zg|QZ5tij{v9ti$T2 zF*?LrPaPXS;&D_3$*jlfDAZA8Vd^MRDD&@|Hk^qv9*x#Z#4^l+k21?~<~4zN+`uZa q?qM1}W)U*W<0@zb)R>`AhDMbc^`nRbJZ-Cj*?Y!4ff{XN`08(jT?x7X literal 0 HcmV?d00001 diff --git a/echoStream/bin/utilities/CreateMedia.class b/echoStream/bin/utilities/CreateMedia.class new file mode 100644 index 0000000000000000000000000000000000000000..8afcebfd88216faf49b072400d0f5ca951cdd090 GIT binary patch literal 1356 zcmb_cT~8BH5IwhF+bvZ}k=6o!pjHb->KAG#;e}Xzs7L}KAwHN(yKFCMcQ@Ou39tSm zUnG&lR}+7f@!T!Oh2?<&~zze)KkPw&|1*)$CWeppfz9j?e zz13CHKuVx+BtOeWUpjWa~;bGhK;wr^m@(q zzr1z=UpaQO6<1wF)6zAVJIZ!sF!Gt~mpIyb6n|IR&FFdC9R|&f|C*42X@TpJnu(c1 z5i^?Ml0c~zuZ(pVxJmXS*K}$*lrgLC%?YesaxWe!u3_vPZsCrB+w6!4K=>{4xQhh= zLw37wx;7bHs<8tC%RiJIcGNpL3@JOW3R%ft=@hqdxm7 zIA(;FK-OcaTXI132`z3)FHo+-ta@_TBfdah>$iR7j&CIyp2b9wb(+N0egacb%QjUs zmCpC^vG=!^SEJ4$DOYJ3VhyBXlBL?mc$ML7Nndj?eTkVQ?6@PpW3`kXu|i~USM+RP z0h~|{Ik*ZvnOqH?8r%i<^wJ5kUnwMzM4r*%heOySj(QGykALG(v?ivI6-C2tXHxX^Bd+hNHTOUB1L(YAaj`K^8oilz{7E{ zGeCyLJz8`^Rr*v3tEGo{6joG4jVB$cibcNZP+Fpt38gyy491!_A`Do|XJlD>MzHjJ-4 zM{V#X!AL-m8e@V22Tpe$A?jaa87X(t;B)BUMS=8bFbxN8+cW)Hn20CZnZS!?@91bn zR;^{%5%S-lM6JMm290qgIE(t^h;UC)JLV~PCMsW%{%o!@+>-`OB1<_F8DJe7)N%_* zo*G9BMOfIRY~iMH`;k(ddZGFqTLLw+f5Y9@&L^TV`UKLn(R&Vg6Q>d}W^u@6+7C?Z z0v=MbXldaQ9+R)L*yE|K*2&kOw%@<9--neuCU!tX7kWr*ZJ(`Ff1y<4`T|EMW0_>4 Qf;mJ6(P+g;)md4!zsr)$@Bjb+ literal 0 HcmV?d00001 diff --git a/echoStream/src/GUI/Gui.java b/echoStream/src/GUI/Gui.java new file mode 100644 index 0000000..fac3f7a --- /dev/null +++ b/echoStream/src/GUI/Gui.java @@ -0,0 +1,93 @@ +package GUI; +import phaseOne.Phase1; + +import javax.swing.*; + +import components.Post; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; + +public class Gui extends JFrame { + static final long serialVersionUID = 6536891361170925993L; + private int currentPage = 1; + private final int postsPerPage = 20; + private ArrayList posts; + private JPanel postsPanel; + private JScrollPane scrollPane; + + public Gui() { + setTitle("Social Media App"); + setSize(600, 800); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLayout(new BorderLayout()); + Phase1 tempo = new Phase1(); + + posts = tempo.getRawTempoData(); + +// posts = new ArrayList<>(); +// +// for (int i = 1; i <= 50; i++) { +// posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i)); +// } + + postsPanel = new JPanel(); + postsPanel.setLayout(new BoxLayout(postsPanel, BoxLayout.Y_AXIS)); + scrollPane = new JScrollPane(postsPanel); + + loadPosts(); + + JPanel buttonPanel = new JPanel(); + JButton prevButton = new JButton("Previous"); + JButton nextButton = new JButton("Next"); + prevButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + if (currentPage > 1) { + currentPage--; + loadPosts(); + } + } + }); + nextButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + if (currentPage < (posts.size() / postsPerPage)) { + currentPage++; + loadPosts(); + } + } + }); + buttonPanel.add(prevButton); + buttonPanel.add(nextButton); + + add(scrollPane, BorderLayout.CENTER); + add(buttonPanel, BorderLayout.SOUTH); + } + + private void loadPosts() { + postsPanel.removeAll(); + int start = (currentPage - 1) * postsPerPage; + int end = Math.min(start + postsPerPage, posts.size()); + for (int i = start; i < end; i++) { + postsPanel.add(posts.get(i).getPostPanel()); + } + postsPanel.revalidate(); + postsPanel.repaint(); + } + + + + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + new Gui().setVisible(true); + } + }); + } + + +} \ No newline at end of file diff --git a/echoStream/src/components/Graph.java b/echoStream/src/components/Graph.java new file mode 100644 index 0000000..9eb970c --- /dev/null +++ b/echoStream/src/components/Graph.java @@ -0,0 +1,163 @@ +package components; + +import java.util.ArrayList; +import java.util.Map; +import java.util.PriorityQueue; +import java.util.TreeMap; + +import interfaces.HasPost; +import interfaces.HasTag; +import utilities.TagComparator; + +public class Graph { + + private Map> map = new TreeMap<>(new TagComparator()); + + // This function adds a new vertex to the graph + public void addVertex(T s) { + if (!map.containsKey(s)) { + map.put(s, new PriorityQueue<>((a1, a2) -> Float.compare(a1.getPriority(), a2.getPriority()))); + } else { + System.out.println("Vertex already exists: " + s.getTitle()); + } + } + + // This function adds the edge between source and destination + public void addEdge(T source, A destination) { + if (!map.containsKey(source)) { + addVertex(source); + } + map.get(source).offer(destination); // Using offer to add elements to the priority queue + } + + + //just for testing + public void getKey(T source) { + PriorityQueue collection = map.get(source); + ArrayList list = new ArrayList<>(collection); + System.out.println(list.get(1).getPriority()); + } + + + //setting TagPriority Dynamically + public void setTagPriority(T vertex, float newPriority) { + if (!map.containsKey(vertex)) { + System.out.println("Vertex not found."); + return; + } + + PriorityQueue edges = map.remove(vertex); + + Tag tempoTag = new Tag(vertex.getTitle(),newPriority); + + + // Create a new vertex with updated priority + + + + // Replace the old vertex in the map with the new one + map.put((T) tempoTag, edges); + } + + + //setting Post Priority Dynamically + public void setPriority(T source, String element, float newPriority) { + PriorityQueue collection = map.get(source); + if (collection == null) { + System.out.println("No such priority queue for the given source."); + return; + } + + // Create a temporary priority queue to hold the updated elements + PriorityQueue updatedQueue = new PriorityQueue<>((a1, a2) -> Float.compare(a1.getPriority(), a2.getPriority())); + boolean found = false; + + // Iterate through the original queue to find and update the element + for (A e : collection) { + if (e.getTitle().equals(element)) { + // Update the priority of the element (if possible; needs a method to set priority) + // For demonstration, we assume a method `updatePriority` exists on the element +// updatePriority(e, newPriority); + e.setPriority(newPriority); + +// updatedQueue.add((A) new Post(element, e.getCaption(), e.getCaption(), 3f)); + found = true; + } + updatedQueue.add(e); + } + + if (!found) { + System.out.println("Element not found in the priority queue."); + return; + } + + // Replace the old priority queue with the updated one + + map.put(source, updatedQueue); + } + + // This function gives the count of vertices + public void getVertexCount() { + System.out.println("The graph has " + map.keySet().size() + " vertices."); + } + + // This function gives the count of edges + public void getEdgesCount() { + int count = 0; + for (PriorityQueue neighbors : map.values()) { + count += neighbors.size(); + } + System.out.println("The graph has " + count + " edges."); + } + + // This function gives whether a vertex is present or not + public void hasVertex(T s) { + if (map.containsKey(s)) { + System.out.println("The graph contains " + s.getTitle() + " as a vertex."); + } else { + System.out.println("The graph does not contain " + s.getTitle() + " as a vertex."); + } + } + + // This function gives whether an edge is present or not + public void hasEdge(T s, A d) { + if (map.containsKey(s)) { + PriorityQueue queue = map.get(s); + // Check if the destination exists in the queue + if (queue.contains(d)) { + System.out.println("The graph has an edge between " + s.getTitle() + " and " + d.getTitle() + "."); + } else { + System.out.println("The graph has no edge between " + s.getTitle() + " and " + d.getTitle() + "."); + } + } else { + System.out.println("The graph has no edge between " + s.getTitle() + " and " + d.getTitle() + "."); + } + } + + // This function prints the neighbors of a vertex + public void neighbours(T s) { + if (!map.containsKey(s)) { + System.out.println("Vertex " + s.getTitle() + " not found."); + return; + } + System.out.print("The neighbors of " + s.getTitle() + " are: "); + for (A w : map.get(s)) { + System.out.print(w.getTitle() + " "); + } + System.out.println(); + } + + // Prints the adjacency list of each vertex + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + for (T v : map.keySet()) { + builder.append(v.getTitle()).append(": "); + for (A w : map.get(v)) { + builder.append(w.getTitle()).append(" <-> "); + } + builder.append("\n"); + } + return builder.toString(); + } +} diff --git a/echoStream/src/components/IndexPriorityQueue.java b/echoStream/src/components/IndexPriorityQueue.java new file mode 100644 index 0000000..a1f47b4 --- /dev/null +++ b/echoStream/src/components/IndexPriorityQueue.java @@ -0,0 +1,109 @@ +package components; +import java.util.ArrayList; +import java.util.List; +import java.util.Comparator; + +import java.util.PriorityQueue; + + +public class IndexPriorityQueue { + private PriorityQueue queue; + private T[] data; + private int size; + + private class Element { + int index; + T value; + Element(int index, T value) { + this.index = index; + this.value = value; + } + } + + @SuppressWarnings("unchecked") + public IndexPriorityQueue(int capacity) { + this.queue = new PriorityQueue<>(Comparator.comparingInt(e -> e.index)); + this.data = (T[]) new Object[capacity]; + this.size = 0; + } + + public void add(int index, T value) { + if (index >= data.length || index < 0) { + throw new IndexOutOfBoundsException("Index out of bounds"); + } + // Update element and priority queue + data[index] = value; + queue.add(new Element(index, value)); + size++; + } + + public IndexValue poll() { + Element element = queue.poll(); + if (element != null) { + T value = data[element.index]; + data[element.index] = null; + size--; + return new IndexValue<>(element.index, value); + } + return null; + } + + public IndexValue remove(int index) { + if (index >= data.length || index < 0) { + throw new IndexOutOfBoundsException("Index out of bounds"); + } + // Remove element from priority queue and data array + Element toRemove = null; + for (Element e : queue) { + if (e.index == index) { + toRemove = e; + break; + } + } + if (toRemove != null) { + queue.remove(toRemove); + T value = data[index]; + data[index] = null; + size--; + return new IndexValue<>(index, value); + } + return null; + } + + public T get(int index) { + if (index >= data.length || index < 0) { + throw new IndexOutOfBoundsException("Index out of bounds"); + } + return data[index]; + } + + public int size() { + return size; + } + + public List getElements() { + List elements = new ArrayList<>(); + for (Element e : queue) { + elements.add(e.value); + } + return elements; + } + + public static class IndexValue { + public final int index; + public final T value; + + public IndexValue(int index, T value) { + this.index = index; + this.value = value; + } + + @Override + public String toString() { + return "IndexValue{" + + "index=" + index + + ", value=" + value + + '}'; + } + } +} diff --git a/echoStream/src/components/Post.java b/echoStream/src/components/Post.java new file mode 100644 index 0000000..2596453 --- /dev/null +++ b/echoStream/src/components/Post.java @@ -0,0 +1,128 @@ +package components; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Objects; + +import javax.swing.BorderFactory; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import interfaces.HasPost; + +public class Post implements HasPost, Comparable { + private String title; + private String caption; + private String hashTag; + private int likes; + private int unlikes; + private int comments; + private float priority; + + public Post(String title, String caption, String hashTag,float priority) { + this.title = title; + this.caption = caption; + this.hashTag = hashTag; + this.priority = priority; + this.likes = 0; + this.unlikes = 0; + this.comments = 0; + } + + @Override + public void setPriority(float newPriority) { + this.priority = newPriority; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Post post = (Post) o; + return Float.compare(post.priority, priority) == 0 && + title.equals(post.title); + } + + @Override + public int hashCode() { + return Objects.hash(title, priority); + } + public String getTitle() { + return this.title; + } + + public String getCaption() { + return this.caption; + } + + public String getHashTag() { + return this.hashTag; + } + + + public float getPriority() { + return this.priority; + } + + public JPanel getPostPanel() { + JPanel postPanel = new JPanel(); + postPanel.setLayout(new BoxLayout(postPanel, BoxLayout.Y_AXIS)); + postPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); + postPanel.setPreferredSize(new Dimension(550, 100)); + + JLabel titleLabel = new JLabel(title); + JLabel captionLabel = new JLabel(caption); + JLabel hashTagLabel = new JLabel(hashTag); + JButton likeButton = new JButton("Like (" + likes + ")"); + JButton unlikeButton = new JButton("Unlike (" + unlikes + ")"); + JButton commentButton = new JButton("Comment (" + comments + ")"); + + likeButton.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + likes++; + likeButton.setText("Like (" + likes + ")"); + } + }); + + +unlikeButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + unlikes++; + unlikeButton.setText("Unlike (" + unlikes + ")"); + } + }); + + commentButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + comments++; + commentButton.setText("Comment (" + comments + ")"); + } + }); + + postPanel.add(titleLabel); + postPanel.add(captionLabel); + postPanel.add(hashTagLabel); + postPanel.add(likeButton); + postPanel.add(unlikeButton); + postPanel.add(commentButton); + + return postPanel; + } + + @Override + public int compareTo(Post o) { + // TODO Auto-generated method stub + return Float.compare(o.priority, this.priority); + } + + + + +} diff --git a/echoStream/src/components/Tag.java b/echoStream/src/components/Tag.java new file mode 100644 index 0000000..d5c9b6d --- /dev/null +++ b/echoStream/src/components/Tag.java @@ -0,0 +1,54 @@ +package components; + +import java.util.*; + +import interfaces.HasTag; + +public class Tag implements HasTag { + public String title; + private float popularity; + private int tagId; + + public Tag(String title,float popularity) { + this.title = title; + this.popularity = popularity; + + } + + public String getTitle() { + return this.title; + } + + public float getPopularity() { + return popularity; + } + + public void setPriority(float newPriority) { + this.popularity = newPriority; + System.out.println("hi"); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Tag tag = (Tag) o; + return Objects.equals(title, tag.title); + } + + @Override + public int hashCode() { + return Objects.hash(title); + } + + + // Comparator for popularity + public static class PopularityComparator implements Comparator { + @Override + public int compare(Tag t1, Tag t2) { + return Float.compare(t1.getPopularity(), t2.getPopularity()); + } + } + + +} diff --git a/echoStream/src/interfaces/HasPost.java b/echoStream/src/interfaces/HasPost.java new file mode 100644 index 0000000..fe08e71 --- /dev/null +++ b/echoStream/src/interfaces/HasPost.java @@ -0,0 +1,10 @@ +package interfaces; + +public interface HasPost { + String getTitle(); + String getCaption(); + String getHashTag(); + float getPriority(); + void setPriority(float newPriority); + +} diff --git a/echoStream/src/interfaces/HasTag.java b/echoStream/src/interfaces/HasTag.java new file mode 100644 index 0000000..a066cd7 --- /dev/null +++ b/echoStream/src/interfaces/HasTag.java @@ -0,0 +1,8 @@ +package interfaces; + +public interface HasTag { + String getTitle(); + float getPopularity(); + void setPriority(float newPriority); + +} diff --git a/echoStream/src/phaseOne/Phase1.java b/echoStream/src/phaseOne/Phase1.java new file mode 100644 index 0000000..7d27e5a --- /dev/null +++ b/echoStream/src/phaseOne/Phase1.java @@ -0,0 +1,78 @@ +package phaseOne; +import java.util.ArrayList; + +import components.Graph; +import components.Post; +import components.Tag; +import utilities.CreateMedia; + + + +// Driver Code +public class Phase1 { + + public ArrayList getRawTempoData() { + ArrayList posts = new ArrayList<>(); + + for (int i = 1; i <= 100; i++) { + posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i,1)); + } + + return posts; + } + + public static void main(String args[]) { + + // Object of graph is created. + Graph g = new Graph(); + CreateMedia createInstance = new CreateMedia(); + + + + // Edges are added. + // Since the graph is bidirectional, + // so boolean bidirectional is passed as true. + + + + + + +// createInstance.create(g, new String[] {"girl"},1.2f, "Wow, it's great","Wow, it's great","sport",1); + createInstance.create(g, "girl",1f, "We love Sushi","We love Sushi","sport",2.8f); + + createInstance.create(g, "boy",3f, "Wtf","We love Sushi","sport",2.8f); + createInstance.create(g, "boy",3f, "Sorry","We love Sushi","sport",2.8f); + + +// createInstance.create(g, new String[] {"sport","boy"},1.5f, "Really, Yeah","Really, Yeah","sport",2.5f); + + + +// g.getKey(new Tag("boy", 3f)); +// g.setPriority(new Tag("boy", 3f), "Sorry", 3f); + g.setTagPriority(new Tag("boy", 3f),0f); +// g.getKey(new Tag("boy", 3f)); + // Printing the graph + System.out.println("Graph:\n" + g.toString()); + + // Gives the no of vertices in the graph. + g.getVertexCount(); + + // Gives the no of edges in the graph. + g.getEdgesCount(); + +// Tells whether the edge is present or not. +// g.hasEdge("sport", 4); +// +// // Tells whether vertex is present or not +// g.hasVertex("sport"); +// +// // Prints the neighbors of a vertex +// g.neighbours("sport"); + } +} + + + + diff --git a/echoStream/src/utilities/CreateMedia.java b/echoStream/src/utilities/CreateMedia.java new file mode 100644 index 0000000..9076e70 --- /dev/null +++ b/echoStream/src/utilities/CreateMedia.java @@ -0,0 +1,47 @@ +package utilities; + +import components.Tag; +import components.Post; + + +import components.Graph; + + + +public class CreateMedia { + +// public ArrayList getRawTempoData() { +// ArrayList posts = new ArrayList<>(); +// +// for (int i = 1; i <= 100; i++) { +// posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i)); +// } +// +// return posts; +// } + + public void create(Graph g,String tags,float popularity,String postName,String postCaption,String hashTag,float postPriority) { + + + Tag tag = new Tag(tags, popularity); + Post post = new Post(postName, postCaption, hashTag, postPriority); + g.addEdge(tag, post); + + + // Create Post objects and add edges to the graph + + + + } + + + public static void main(String[] args) { + // TODO Auto-generated method stub + + + + } + +} + +//Tag name[accepted as array ] and Post-> accepted Post, caption, Hashtag diff --git a/echoStream/src/utilities/TagComparator.java b/echoStream/src/utilities/TagComparator.java new file mode 100644 index 0000000..84a0f8e --- /dev/null +++ b/echoStream/src/utilities/TagComparator.java @@ -0,0 +1,19 @@ +package utilities; + +import java.util.Comparator; +import interfaces.HasTag; + +public class TagComparator implements Comparator { + @Override + public int compare(T t1, T t2) { + // First compare by popularity + int popularityComparison = Float.compare(t1.getPopularity(), t2.getPopularity()); + + // If the popularity is the same, compare alphabetically by title +// if (popularityComparison == 0) { +// return t1.getTitle().compareTo(t2.getTitle()); +// } + + return popularityComparison; + } +} From 438b51751a9d92eaf0e1e899350337151e43fc6e Mon Sep 17 00:00:00 2001 From: MinnThikeTunn Date: Fri, 2 Aug 2024 02:45:49 +0630 Subject: [PATCH 2/5] first commit --- README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 From c11ede649b611e40c8a24115348437e4e30ecfc9 Mon Sep 17 00:00:00 2001 From: MinnThikeTunn Date: Mon, 5 Aug 2024 14:36:45 +0630 Subject: [PATCH 3/5] add a function to add to our tree map --- echoStream/bin/components/Graph.class | Bin 7099 -> 7099 bytes echoStream/bin/components/Post$1.class | Bin 1162 -> 1343 bytes echoStream/bin/components/Post$2.class | Bin 1166 -> 1166 bytes echoStream/bin/components/Post$3.class | Bin 1168 -> 1168 bytes echoStream/bin/components/Post.class | Bin 4178 -> 4408 bytes echoStream/bin/components/Tag.class | Bin 1453 -> 1433 bytes .../bin/components/popularityHolder.class | Bin 0 -> 1248 bytes echoStream/bin/interfaces/HasPopularity.class | Bin 0 -> 211 bytes echoStream/bin/phaseOne/Phase1.class | Bin 2101 -> 2384 bytes echoStream/bin/utilities/CreateMedia.class | Bin 1356 -> 1859 bytes echoStream/bin/utilities/TagComparator.class | Bin 970 -> 1138 bytes echoStream/src/components/Graph.java | 3 +- echoStream/src/components/Post.java | 6 +++ echoStream/src/components/Tag.java | 2 +- .../src/components/popularityHolder.java | 39 ++++++++++++++++++ echoStream/src/interfaces/HasPopularity.java | 7 ++++ echoStream/src/phaseOne/Phase1.java | 22 ++++++++-- echoStream/src/utilities/CreateMedia.java | 20 +++++++++ echoStream/src/utilities/TagComparator.java | 4 +- 19 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 echoStream/bin/components/popularityHolder.class create mode 100644 echoStream/bin/interfaces/HasPopularity.class create mode 100644 echoStream/src/components/popularityHolder.java create mode 100644 echoStream/src/interfaces/HasPopularity.java diff --git a/echoStream/bin/components/Graph.class b/echoStream/bin/components/Graph.class index 46300d3d530ca382f412d26f5e21f8818730e837..9e78e064aae72ef1fa30ae635296795b9fa0b825 100644 GIT binary patch delta 295 zcmWNMT`NRk6osExDK4awa|Sc0(@;t?B+Lj?!?-wVgnSg^g7Q&_ra>l0#zYb_UM_ql z@&fE=?jFF>x+Cuh-1POnB;_MiZV|HXBf^+zP?|%mvVL` z?rX`sk!mGLzm)x=Nlsl3=;e?Zj_gna-zIb<(&x^Tnd&en{OO3?v2)N zb$ut#d!{KV;XwsT_(GXS``r{YZkZaM^yV{zyr}gno8mp*$V)%x-PVQ^#-#k8@UUNu GjQs=NT0XD< diff --git a/echoStream/bin/components/Post$1.class b/echoStream/bin/components/Post$1.class index f93187bb04b306351d511cb2fc94a8755a938e13..e28a27c8d8936e7815f4595a3b206e87d491501e 100644 GIT binary patch delta 324 zcmZ9I%Syvw5QV@0Prx>`E(%sb!Hq)eCW7wj{Zgw|jTUs_1wsuqr6whbf(vo2+dN4@ zL|o|JNANXVD-H-!oW;zXGiMIWJY?T2>;3!X6_};bvp)5m#Tbh@mRMF~+-B2@VVqRT{Y*FPUUl5aPi|^q=iG}b8CDhg!naswV}Pn+w9nwbJV%X9 zMLwSN66eoKQ7qNl?zL-o+@NJQlE@EQm1_Ag{nC!%u%9}{y*f%ijPdL(CR*;8Pqk^c zryd!6W}&c>e`2jCv}Qff$?3=9k=4DK7bJ~K^T$Q;1z!r(gj3v(x9@Z>rcdCnXL76vAu3WLeZ zSo9+|0$EH9qCk?5ff-1KGw?D*Fz7QxGKc|rVi1)K;tUc%9#9X19fLgsBT%ISkjKQ} Y$lwH|Sr}v(oEhAJEH0oNBaj9H0QA2T#Q*>R diff --git a/echoStream/bin/components/Post$2.class b/echoStream/bin/components/Post$2.class index 2c0dd438b4c1acbe5c56225fe822b011499b8c6f..8fd6f35e0eeb41d71d44e21a15f51e85a79e80b8 100644 GIT binary patch delta 40 wcmeCr~m)} diff --git a/echoStream/bin/components/Post$3.class b/echoStream/bin/components/Post$3.class index 0bc024a5e11d16e9656591f4aefa83c864cd1c82..eb176d5e4ce3f16cb0a9c65061e97d59ae62cedb 100644 GIT binary patch delta 40 wcmbQhIe~M-5=KU|$x9iv8O=9eWaMLF%%1#!Ih`|)ftMklL7$;uasZ110Q3tA@&Et; delta 40 wcmbQhIe~M-5=KVT$x9iv8O=6dWaMLFOr89IIh`|uftMkZL7yROasZ110P?*G*Z=?k diff --git a/echoStream/bin/components/Post.class b/echoStream/bin/components/Post.class index 70a1dcd254ddb08cc734cdce0ad9a8d09a7cf255..e1be4ddec1d28256ec1e8c89938e1f8780fa76f3 100644 GIT binary patch literal 4408 zcma)8*>@Ay9sb5zMwSQ17_$gtFsrqgC@g6b1QhJV!5{;{j;WKBMA#^CO3KI`n&uq%4ILI2OrNNiGrf7qU}!tfztU^!N6@I_;j?a;8sKs&-> zw$?z0n)Mqn)NF%+rRWx?n+z;Lrj4RoPXM_fbi|F}dLF+>FCRs+k>L*J#d zdFycL?6g&wP?&e8?Tne5Gz(d=b~pXbsVvc3>IFzRkDzoEE$3(rRDV?7u_JGtt8WIa z$4h38{L8(#sjx`J9uZjFYv4ZYqJL&BXE5*rO;2>0t4ZU{&fLI&=}`xpjxV|=-0(NA-{poS&mj+r?#X3n`# zgha3j7fQ!b!EU4tjNveq&zrfDb>t-DnJ{>amlo3aqd2DHA>t^FFFDzqn;b<04Xa$&o9CS5 zu$^~I#$6#b8k-bCP8yg6@7>N=QmhPP4};npGxO#wnMAgnMoz~W4V@B6B{XLj44efE zLSQJpfA|o6u28HU(*<)V=y+U1q|xF6GknC%ICkNJfgX2!D@8J#OV*4CsDJRP5E_Ga3gwsK)SiAzGkXPOe# zjV;0XS*E2IxPwC_$FcJ|K1Y4h6|&+hj-gUk6wVO7z|xs!VeXHH@iZ=p&zB8+1z+X9 zIX7qJ86Rt+quz{ZkdO-D>rB*`VEm?Fyj=H%N1y8r_2@JT5S-sO@C;agLyoNu!*~jp zLijGX9+po8;e(^$hO0WRw>aAo#!I*= zLh)w?Ucsv@T2!qe?or0;s^_~3pvsr(CIJzZ&@B-?jki+;LPJ=-)H04({TgZHE?)}6 zeXw0B!+o{gWmr7cDx4U9jS|$h5TV}mD%ldcMm+4*b-QqtS+FKp(|c}rOpFz@I9OvWN*}UnL3fw;;f%EoVDORxNo-5^{65dz+)^4w{LVjwm zfP6I1@RZN5Rm6G%3Y*6IL_C$_sPUOfIMviPgICfLo za;)HYC08#}a)9H`cm=ECi3Rk=2N%#6-@1Tx@s<7stdIK^uu*(Ai_buO5wWQXNICeb zlzJz>acRM7_|Z%2)=+OBTb;FtU>(2x*vLCXu>m_cOA2jDC+@;FuEbj0Ns}{it2Q|k z_wvb^xPhPN+bKcWy_YnCDj45L8|#)R-T}&wN=+*iRZUZnxVXhd9D&yhyx*%ME^ zfPnvc;wC!dW!#hC|9J#_*AwqR8ykF`Snz)Xsb{f_vtI7>ma+dC!Q;D50X_&YRwKyo zAf2@ptGLrgLlQLLK91t@{YqKQq&;{5BQ&LtCl3;kHXI;T2mE@c_8)A}d8AU@0$x;THRL?vYSr*CCS8F^j)E>AM7`3) ze6NQ&P-8yclDV&$d3Q_Z542=n*UY@HCG!*>X<_#Imz&Ifpe6I8_@H9eZZSYYfY!N) z6O85$rxS~KY%1ZeV7d$|@fxx>V3$$i_JygXZCko#D)>klA78|iQv#+6K0W5n`#3-B z&ew6i%fE=HrWWz^RQKmA_#&w{mhq+Tua)tQGQL&8v%3N{g6}AT%}oTs8o~Dz!9Wv% z9-)jYQ}IZkf*+LeqX;>!aT%=OMX}Tu@e-GM1wZ97F<8dS#}ixSH{w@AKn+1P=yIsL z;Fv5Ghlo*{#bS(Ue3*zHMG6lwMvq~Ft#gUr%Z#H6j^ie#@pqiTKiJ3p6Au2x(|=o-EHG{##JebS=A-mCDSLt8USbn*18>l0 zmvNrEZ!p7z)e;i4v!!L5n=M=JVR^T;Wt*EV^YZ+@rJ8|eH7h)7{?J;@K(m?}55wY? cO!YtFPjdV-{=#uJ_pfjiziVn>3nqX61)GH1;s5{u literal 4178 zcma)8>30*?75|O3j4TGn7_%5-FfmXq5S1-$EO3LJ8cbwxuw$yEX*-q&Bak)DXvCJ5 zr0J4$-zkJHp-s|_rb!x0G;Y##qvzynPyd5{>Zg9|m!6#d-g_fyB=n)y@x1%qyZ8R? zyW4y3z5mub0QTdKjt&j?Zn;#+z}1E4el{2GaYlTU}*@sc~^`*na2LK>*R|IX$^YLTypbvk<=Np zbY{j}pg&dcNp!_<&A5`Gd@yEp3_88cUee~dh<&G815}DV=;yxeA#dH)0@F5-d z)9^;j#tXLT8u&0C5Mh%67SWB3kH;sXNaK)>gH0);f^6VEq!=i>IRiYi==UXNn}*fX zu9-VGX)bxLh=_C$A(4R~zyW;Jz&MT&{JdExTPIF4o_gL!g#&A;D<&)imA$JtX~cv{#0)jW z8jm?;7OjH7RaRe2l`gOhQpe2>a7c=H1yX;1h#m7a` zKA~Zw7kcx8n;Nr=uF1S}(i8Dnq2!YWJ_S=lCv!=OYUuX~sI^J6Xf9AlWPc8pj(H7T z(vwPQ!FCLshA7n0%;B+z8FS^u`Zhz5$2lEmHS{%G?95xvxS4Zp=aPW}7Ac!^EYr0_ zeT>>-Tf=UjNn+(0SX+AD_B~Nt!wuo7A83fj?&^s$ z>1yHiJVd_>xE~q#FYt3B4B4+k86JAT&hfT`Kd4 z-LIKPuJWcZyerk?GQ4}$n?}WTs?v%1*Q`M;3l-|tt+B0UXhfuH^G*>e)3IjQ(|hj@ zOq?CG?G?l>uHknEmQi6cm^nTmO567|$h}goB@aaNYOsjA%M;w+AP+Q1-dWLUyX@qw z@w|9-bc()vpQstq)A@y>>6RU?pO8oQzira&L9Oqaw2w=~PrYdl-j$0Z!f6vlCYZcH ztrE8Jr~z~!1f9PQ@r2-Ot3x~>WT6es|IUpbtT8BGpfj%~U+V zl`Z^j#SjJ&qtP*P?WfTM;V;2aP{MdkQo{TWNr?jlBqdA@azBY(o}nY;5nSQK5RGbB zp=5VZ|4xatUUAit!q`n+>_Otq;OTmiJObxXBKZnJ!CT2Y=t@-Z!6g4*MksJA`7X4{ zU2pR6{J)L;FJLXHKCbjtFnnFe1a4750KyTQ5au_*m?W{01`iN2Nw^0%io*{ou)0Zy zFoKWJlmYHMNVyIiCf6zi^)BtdxL40-bNrB5Qa==gUYgprf=h@ zu%ts;5~c{SPof%TuX3kg-PwFuwu6Asmdr`ihlw+aup6@H|x@Ib5Z zNL%5Pm~LbC)>m819&0N+gGZIH_8t=?0%%<;n9Wx4u}pFW*=#ac#p4xxBKZd9ZsSY^ zMJ_wpH61&<=c{llxUhn!vcgSOd}h+4`$-@7=mFBh!4*7{UBR>2p3hhDMRISe;JKc! zRPeP5zFEb0hC_9R?<$6&7KU)0;i_WT(ZZnjQOC7xqAyg%3l;pZj}kXI4Oj6~G1XV_ z5~q3NIs3#`ur2ZvTWo%keMxE5}V-zs6Dg-BbggKJxE>K~k7{ diff --git a/echoStream/bin/components/Tag.class b/echoStream/bin/components/Tag.class index dbdebd59b1c0711ca78e07463c700570fa2482e3..fccdec53289d3cc79d285cba9eaf63ccdeb3ee24 100644 GIT binary patch delta 732 zcmZuuO-~b16g}^~mZ9x*`lW!BLZJgPGe}WE#V`Co`A7&00)b^UsE}%6s3xxJ&UG_! z;SX?!M2#RZ(YTewKj4osp7+{d7i9A8eRJpDbM86wA@ME|Kl=Oa2Y^W|G~&-2Z-RWv zMgnO8HR`R!Adt0Tp;O;ZHGaSCFJj2Tpg?-N^0HE{R-QdBue{o+Z9cV8f*ZaTMQ21n zKG}+66ut#7+!H-2z*zW8tahBYaRC=YSC$5*aM{8ofs6rqQQNAPmmh3zKCJE77{`_H zk*s!3;g*ftxD)=73t}#G)qGuY5$?m4C1Qv(cd(Lx&6wod2J4DB<$s0a2m8qQ?mlv# z%)n{JEFz3HW0C+4pESByDK^K@jUK)cz|aVD(?pv14C=ito-(uk81=s(^N|+`jjopg zat2Ya#D*54KpuUp=q1~Sb9*eb4|kt9TtL4bUT5a delta 738 zcmZut%}*0S9DOs>?b7YG#a6o23Zg}2cfsN(;s=NyNHHcRjV5^8M1nPl5jQ4W^7t(9%kk@Gw=7_`@NUhw^{4wpD$kloW{+z^~5s5 zV7YN$Ks4Ix-yQ2c~LCb=NF%!N(DTcNl*Ke=2R>NkvwiFOOj^ojexRX9*)5n>pB5UbM zOqnP3< zuXq-`&*=C3O_aQmO$>a98=UBsayBZghZ7L?VLxw#$K)ceG`%EU6$iScb)Ndq@IImR zo`rL8>rlHb+(MrJQu^4wt6~i+lnTIDzSe_&Gs3DA)7fz({rcAJo{wNuTRA4At?! zLEO>Y4C;FZ0jnLgyad80`sWHebE-_Y#X?7S;W?oCr;4*g|$P`knn0aak kYEfy4<~C+Ee{ZgCPcntBio|t|Dq;>dSm>eVxfYQ53s=olBLDyZ diff --git a/echoStream/bin/components/popularityHolder.class b/echoStream/bin/components/popularityHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..d3291064e02a38e2f8ebf17fd489ade107ab7d10 GIT binary patch literal 1248 zcmaJ>T~8B16g|@x3T2^u7L^YHQCq51#SgTV2TU3gtC-Z(s87SPl*R3Cv)z*LSNsts zY63!6NC}J{$U|9jq}wcQ?;KcWAdqayw!lP9pL7G;DQ(Hl{xjJw3k=rnrYnQ4 zZwaiQ&!~hU4Ob6*+ijL(k*ed#pu9ntfr{zat{rT!TfWc`NImg(tu%%O#?H0Pz(Cf( zC^7>56NoTa#_JP|e8$*EZWEZ`s>;ChNgYvO9N?&M zjZbyjw{n81UP(sd4IzbbU1o$y$YGkv0vB+RtLnVTOx1hj6UK_ixby?_$5{BlNW6JY zqvXQO2!%CR##Q2QTyZ_Z+oN8kcsj((zeiU6TmFI@$GG)MQA}!8BRXw{N@fW-uNy3c wrDqMMqXvZIcjzA5-`DjbNADhBJ?dFxP?;cl285n1#l#Cd#3P+p=9)m|H$c`1@c;k- literal 0 HcmV?d00001 diff --git a/echoStream/bin/interfaces/HasPopularity.class b/echoStream/bin/interfaces/HasPopularity.class new file mode 100644 index 0000000000000000000000000000000000000000..337b4efc1d73452482cea1907088c616dc6cb084 GIT binary patch literal 211 zcmZwBu?oU46ouh)tG3!MA}BtBUF_oKUK|7q1@~BDNC}Cgso<+Q_y9hXm`p0T9zO2< zpRfA^zy?`@h_IB}aeHPB?}{DkDs$--v(nuX3<=YgU0I=+7RBMz^2QM|!Chsg35GCV z?LVY;R%)@$ORu_bwfLjT{76V^)7yrZQgOoU=l?p~jR}N-&jli%GeV4zm0;`_!X)fS E-*huKGXMYp literal 0 HcmV?d00001 diff --git a/echoStream/bin/phaseOne/Phase1.class b/echoStream/bin/phaseOne/Phase1.class index d5700116defc244bd08a457eadbaa566f1393687..2a6931fc13c482fd5e28aa0fc93c0ee287dd8392 100644 GIT binary patch delta 735 zcmZ8fO-~a+7=EU^{cstuP7|7-m_`qhR8q94Nr`b|khT=GvQ?}f*ez@e*ml?Lg5X#E z)+<^6fJcvLED4Pq^rjbog*Ol0jqz>k0X@vj`#kSF?>o=TdOfpDCb3K453TB;B0OuLJnrYj_WhqSQk(4f<`Cg)wM!0U7 zwiCc5246~FSV-x9%rXR*^;JDq(QDdHCQGZuznN@4?pVj#1^Ppz3bOkpYvz-)Wan6eMt1K^Qhi1ax zf(SsM7a>g2s-fTg;mav3Nwh?7^V!Y#2O6pvZ{pn1s7P~>5obku7oPqPU+CbA-Tf*T zZLEsFc!rDIF6{e=%XvwpwY)4;E$f^jLtvf8{Y^TuM3)b8+(+{PvN4DtM(En&G><~X31o2+1)PF~F>GKQ zZ|J*ilm8t|;}d4lL&`|kJ{ow0W1uoEJjN5yi{U+<;u$ooD14XJr3s^tE1(x#B?ylPdQoZof zAF%!jFEMeO*hKHW@*jBXk1)omBwmn{bLPD7yk}<4%n$o>*8KkG%U9qkZx78{ayY{s z4ZR)sp-PpD#iGe1_bl!+8?}?FealvE=*CNMe^j^P`-eSjKJNl-dxwOluXoGOuQ%$e0l_(x*DW~D8 zB{x*=!7YE!Q+-!p@hURXzcnjL86O5u$zKLJfz7PgDyO55M(rKHgicCtRF6`<%fwud zNwHIvvAkWj>}grI?Yl8Ef*;rw`{8lo@qZ%UW1-#`b*T-+EPvuzkDlK$eqb3}?cOIA>hF)lOCG}ooGH`rwYpDEfhr2*0Bj*2D}raz@7 cN`gt3*Bme*a diff --git a/echoStream/bin/utilities/CreateMedia.class b/echoStream/bin/utilities/CreateMedia.class index 8afcebfd88216faf49b072400d0f5ca951cdd090..15024989521ff7215d71eaf4ccd839cc8f78eea3 100644 GIT binary patch delta 417 zcmXv|O)mpc6g_X=bY@IDt*Azuv`9bbm!PzzMeQ01i-x6zQIim~ld7#Qh>eBF`vq3k z-B?(3BN7q+!_prR+)i1%d(J)Y^SVJMI@2E6EI(Nm1kZf5FhfQ1HMDAA`TI1{v59y$uFqyKUBw zw@iD-+&{6zHBX5bo?^22Ews-&Y(IuMm3Elo^uScZHmIVZ4$W$HOcs^>2*ig{usQdCG^ dP}nHlE@MUbT$7QC(`I00SfzF#^BPSFm0y^=J$L{B delta 112 zcmX@icZQ4W)W2Q(7#J8#7%Vn&)iF=r&Y~_N9PN{pSeB@tlbDyTA6!zDnU`)o`3{RV zBlBbq)_z_o25tsv1{ok!VNjmDgteZPlfj6=crqKif~+=Bj)8%Pfe}bD0u40<(`G=D HiNPEI%J>%c diff --git a/echoStream/bin/utilities/TagComparator.class b/echoStream/bin/utilities/TagComparator.class index 0bc73d315d6b5b1e42a790a8aa5ffc56c4848f07..d5782ef9dc22a5dff578039d8091b2e372242f8a 100644 GIT binary patch delta 405 zcmZWl%SyvQ6g@XBwvBCCO>H+V_^35WA89o{KoDFC6@=yo#u7`kwj~6&{fO)Y@dvtb zQ`CjH?q9fb?OMc}2rhJnx%bSu_nf)RJn@l~=U>k+04y9l$ageZL=o$0Y@k9&_8s4L z{eeTsYkKEW+z4|ZhJCZ^d+xA*D5DB3fh|JrZ!HZS1|iiOU5|z5*dxM<_TNE2AxM6k zpmyA$?|2u%j4UP7^+oUMRE%wLK5&9}YLXQcrMJlx65>2;wf2Mpp&rFYl#a@`P?=kc zIF2)HPRmp7j3do)Ia0~U@y=rj6{yHCZ~VAHL6&dqiyG>n2sIc<++RQwCSr_mhE)b( zo5CjH3I(lSL5l@#W*0!8{C~M)et4U!Ddrli47C}f_KISi&kQ@keXNw-Wmdu-4;JSA EZ@h0uRR910 delta 223 zcmXAjO%4G;6ojjv3DOy3h_FC{@jq>6EfKeI2^%-)g_RrF*kR!Sa|>5+08y`}7xk)N zf0gQQy{OsZ_j&`^Vsp1w<9l-OM{#E5FY-B^A&B_e&Y$QSxS$UVcEcOD6~t6aMm0qX z4Z3xiK!PT3%wmiQOmG>UkQ7WYV?O0}#Hm!mydLG}B_AWBm2}VL!sk)nEwxudZ#6I` Obm|X;&8j&%VY)vJA{H3{ diff --git a/echoStream/src/components/Graph.java b/echoStream/src/components/Graph.java index 9eb970c..ff3d89e 100644 --- a/echoStream/src/components/Graph.java +++ b/echoStream/src/components/Graph.java @@ -40,7 +40,8 @@ public void getKey(T source) { //setting TagPriority Dynamically - public void setTagPriority(T vertex, float newPriority) { + @SuppressWarnings("unchecked") + public void setTagPriority(T vertex, float newPriority) { if (!map.containsKey(vertex)) { System.out.println("Vertex not found."); return; diff --git a/echoStream/src/components/Post.java b/echoStream/src/components/Post.java index 2596453..ed6e94f 100644 --- a/echoStream/src/components/Post.java +++ b/echoStream/src/components/Post.java @@ -21,6 +21,7 @@ public class Post implements HasPost, Comparable { private int unlikes; private int comments; private float priority; + private popularityHolder popularList; public Post(String title, String caption, String hashTag,float priority) { this.title = title; @@ -30,6 +31,7 @@ public Post(String title, String caption, String hashTag,float priority) { this.likes = 0; this.unlikes = 0; this.comments = 0; + this.popularList = new popularityHolder(); } @Override @@ -67,6 +69,8 @@ public float getPriority() { return this.priority; } + + //UI part public JPanel getPostPanel() { JPanel postPanel = new JPanel(); postPanel.setLayout(new BoxLayout(postPanel, BoxLayout.Y_AXIS)); @@ -86,6 +90,7 @@ public JPanel getPostPanel() { public void actionPerformed(ActionEvent e) { likes++; likeButton.setText("Like (" + likes + ")"); + popularList.setPopularity("hi", 2f); } }); @@ -95,6 +100,7 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { unlikes++; unlikeButton.setText("Unlike (" + unlikes + ")"); + } }); diff --git a/echoStream/src/components/Tag.java b/echoStream/src/components/Tag.java index d5c9b6d..0bbb1df 100644 --- a/echoStream/src/components/Tag.java +++ b/echoStream/src/components/Tag.java @@ -7,7 +7,7 @@ public class Tag implements HasTag { public String title; private float popularity; - private int tagId; +// private int tagId; public Tag(String title,float popularity) { this.title = title; diff --git a/echoStream/src/components/popularityHolder.java b/echoStream/src/components/popularityHolder.java new file mode 100644 index 0000000..e721d66 --- /dev/null +++ b/echoStream/src/components/popularityHolder.java @@ -0,0 +1,39 @@ +package components; + +import java.util.HashMap; + +//import interfaces.HasPopularity; + +public class popularityHolder { + private static HashMap map = new HashMap<>(); + + + public popularityHolder() { +// float popularity = 1f; +// if (map.containsKey(tag)) { +// map.put(tag, popularity); +// } + + + } + + + public float getPopularity(String tag) { + return map.get(tag); + } + + + public void setPopularity(String tag,float popularity) { + if (!map.containsKey(tag)) { + map.put(tag, popularity); + } + } + + + public static void main(String args[]) { + } + + + + +} diff --git a/echoStream/src/interfaces/HasPopularity.java b/echoStream/src/interfaces/HasPopularity.java new file mode 100644 index 0000000..ffcfc8f --- /dev/null +++ b/echoStream/src/interfaces/HasPopularity.java @@ -0,0 +1,7 @@ +package interfaces; + +public interface HasPopularity { + float getPriority(String tag); + void setPriority(String tag,float popularity); + +} diff --git a/echoStream/src/phaseOne/Phase1.java b/echoStream/src/phaseOne/Phase1.java index 7d27e5a..109951f 100644 --- a/echoStream/src/phaseOne/Phase1.java +++ b/echoStream/src/phaseOne/Phase1.java @@ -4,6 +4,7 @@ import components.Graph; import components.Post; import components.Tag; +//import components.popularityHolder; import utilities.CreateMedia; @@ -26,6 +27,10 @@ public static void main(String args[]) { // Object of graph is created. Graph g = new Graph(); CreateMedia createInstance = new CreateMedia(); +// popularityHolder popularList = new popularityHolder(); + + + @@ -38,11 +43,20 @@ public static void main(String args[]) { -// createInstance.create(g, new String[] {"girl"},1.2f, "Wow, it's great","Wow, it's great","sport",1); - createInstance.create(g, "girl",1f, "We love Sushi","We love Sushi","sport",2.8f); + //function( graph, tag, tagPriority, postName, postTitle, tags , postPriority + //tag and tagPriority are composite key,(e.g, if girl tag is 1f it always 1f) + createInstance.create(g, "girl",1f, "We love Sushi","We love Sushi","girl",2.8f); + + + createInstance.create(g, "boy",1f, "Wtf","We love Sushi","boy",2.8f); + createInstance.create(g, "boy",1f, "Sorry","We love Sushi","boy",2.8f); + createInstance.create(g,"boy" ,1f, "Ha Ha","We love Sushi","boy",1.8f); + createInstance.create(g,"girl" ,1f, "Ha Ha","We love Sushi","girl",1.8f); + createInstance.create(g,"sport" ,1f, "HaddHa","We love Sushi","girl",1.8f); + - createInstance.create(g, "boy",3f, "Wtf","We love Sushi","sport",2.8f); - createInstance.create(g, "boy",3f, "Sorry","We love Sushi","sport",2.8f); + //jsut like create method , createGroup can be invoked to create with a group of tags + createInstance.createGroup(g,new String[] {"boy","girl","sport"} ,1f, "Ha Ha bel","We love Sushi","sport",1.8f); // createInstance.create(g, new String[] {"sport","boy"},1.5f, "Really, Yeah","Really, Yeah","sport",2.5f); diff --git a/echoStream/src/utilities/CreateMedia.java b/echoStream/src/utilities/CreateMedia.java index 9076e70..1b3cd8a 100644 --- a/echoStream/src/utilities/CreateMedia.java +++ b/echoStream/src/utilities/CreateMedia.java @@ -20,6 +20,8 @@ public class CreateMedia { // return posts; // } + + //create method for adding into the map. public void create(Graph g,String tags,float popularity,String postName,String postCaption,String hashTag,float postPriority) { @@ -34,6 +36,24 @@ public void create(Graph g,String tags,float popularity,String postNam } + + + //just like create method, support for creating with a number of tags + public void createGroup(Graph g,String[] tags,float popularity,String postName,String postCaption,String hashTag,float postPriority) { + + for(int i = 0; i < tags.length; i++) { + create(g,tags[i],popularity,postName,postCaption,hashTag,postPriority); + + } + + + + // Create Post objects and add edges to the graph + + + +} + public static void main(String[] args) { // TODO Auto-generated method stub diff --git a/echoStream/src/utilities/TagComparator.java b/echoStream/src/utilities/TagComparator.java index 84a0f8e..128360e 100644 --- a/echoStream/src/utilities/TagComparator.java +++ b/echoStream/src/utilities/TagComparator.java @@ -13,7 +13,9 @@ public int compare(T t1, T t2) { // if (popularityComparison == 0) { // return t1.getTitle().compareTo(t2.getTitle()); // } - + if (popularityComparison == 0) { + return t1.getTitle().compareTo(t2.getTitle()); + } return popularityComparison; } } From 3df953c9aa00e5ae2ba182a9b6768bc4ff4e5b3a Mon Sep 17 00:00:00 2001 From: MinnThikeTunn Date: Mon, 5 Aug 2024 16:37:08 +0630 Subject: [PATCH 4/5] add singleton class for sharing data --- echoStream/bin/components/GlobalHolder.class | Bin 0 -> 1647 bytes echoStream/bin/components/Graph.class | Bin 7099 -> 7335 bytes echoStream/bin/components/Post$1.class | Bin 1343 -> 1162 bytes echoStream/bin/components/Post$2.class | Bin 1166 -> 1166 bytes echoStream/bin/components/Post$3.class | Bin 1168 -> 1168 bytes echoStream/bin/components/Post.class | Bin 4408 -> 4178 bytes echoStream/bin/components/Tag.class | Bin 1433 -> 1400 bytes .../bin/components/popularityHolder.class | Bin 1248 -> 0 bytes echoStream/bin/interfaces/HasTag.class | Bin 205 -> 207 bytes echoStream/bin/phaseOne/Phase1.class | Bin 2384 -> 2796 bytes echoStream/bin/utilities/CreateMedia.class | Bin 1859 -> 2047 bytes echoStream/src/components/GlobalHolder.java | 40 ++++++++++++++ echoStream/src/components/Graph.java | 22 +++++--- echoStream/src/components/Post.java | 3 -- echoStream/src/components/Tag.java | 6 +-- .../src/components/popularityHolder.java | 39 -------------- echoStream/src/interfaces/HasTag.java | 2 +- echoStream/src/phaseOne/Phase1.java | 51 +++++++++++++++--- echoStream/src/utilities/CreateMedia.java | 33 +++++------- 19 files changed, 115 insertions(+), 81 deletions(-) create mode 100644 echoStream/bin/components/GlobalHolder.class delete mode 100644 echoStream/bin/components/popularityHolder.class create mode 100644 echoStream/src/components/GlobalHolder.java delete mode 100644 echoStream/src/components/popularityHolder.java diff --git a/echoStream/bin/components/GlobalHolder.class b/echoStream/bin/components/GlobalHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..7045558d02a3749399e306afcb1cd1c31b17fa37 GIT binary patch literal 1647 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 delta 2830 zcmbVO3wTp!8GgUyBqx`XCe5X7TG}R~ZJ_B5RwvZ5F|cSSWpyBRD9TwI+Rm6@k`^|c zo$e9Q!32JkwQO2(T6LS+ZKi~}3(l#-sW9*2W!|06`~9}=`%f;FU7lx;O`ntVf4Bep z-|zjtKQpW6U+OsX^r;5`bkfRMN7U*qOUE)>^x^*0XfidLxsFgNrpYh1Td%b5*I>uH z2^He7*;lb)`Bs8;JeJDD_7I$j*ly_~POAIpsJP6w%6d%0t(X)y*qTDeal4A!2;OV; zalL&kGa7I2&BRiACYjRk0enzAY-@bO3EZLL!vv3E6xS2O?VB^H(ZsNZkD!V7ioIn_ zkEfkTU`E3sj5`p)$2ELHD$V-PkQ2vomxjCXNrF0}r#Hp+WLUFo`8FFqEjHLUifMZX z<-|FAz&fwtv$$V8Wv^fPAWo}zh~QdGZgVW7;d6MHprl8yj~PLF9ax1&G`s>|5NjM^ z`jU8~BW(S$hR5&~vCq-e_%$3;ahBj;jI%x&kH-cxqsfHK^|TFN7v~%ut=}d1wv5C= z!zq2&NN6yb$mpYqbjXJDoJB}ahxAY$*ESn|AljTQ{wFm2SRT_>G`8WVBH>)>`#Hf9 z(i21M{7V9{!;|6;=gUI)9b>T7C=RRszy%5=l9|xXejs7GSoPibi3!@s+Q?ag) z1AX|LhQH%d4!Da^&p2=b|J3j={F@_<>+!MJl{>{jyaUl{^IZVwE?yIJWV)QSGGTCvT&lgh+t_pRk#xZpzr{9Ky=)-lts^&EB8uyhH$sAEmNaF*Zg zYCstpQHdrrBO)FtAG4o_0t+|IIBi+)gCJ`=^TAM!8eVZ&ya!i-jJKO{04DaR!$ItUnQhB(3*O7o zm#{v>l1rpRHEN}&;kub!^A3Aiy@jP_Pz4JQ;V{RN`IvA-tn)SLB8!c)^N3u13hx8v z(As4&Ut$d^S-ii?HiM3!Er%(>Lr8R~K{bbILQ57OnnYPpZOq}LCMaxf394CqY(N^{ zNtjxAEMT32b`Ms1KP4XZg)d(RH`X)EFXx|Ccn=4>tiQODkA*PwB~_<1;)y*f>f+kQPQbM6twE|Xp5eeP@m(;84~8i znm~2s$vJdOTI6twki!FnEI#l3qDTaSmYrCJVR0Z3nRpb;YdG2OET2W;?<>p&w=>f1 ztAtH6@H4ZFN<{ieQ%I#|84v%NilSQwrEl11qu$nOe-oyyT znM-eGLdO}cBzkvXmq9{FCEmI~LK9wzZ{VApm?ZGG7+jM94?a(^mxA~&Q|!{-+z{DttVKX;YJzbb{R(p7q=hR ziQ38@`k@%CTs`rlNpu#^`jZQMf5t&u40g)szbGAl2GTQz zPobXI`A!WM<^7|E~+Q)nnA``Zgn_xln6vqghHUSRO&qQPGa(YBem$0OYJ z%(Q50ZlciieFgVCwkPoqj^h1K$+^hD$Js24r=JbQ0fyor*YXx7+97WA!%Vp&+|Gv~ za1@g~apdsJ^KPm%{H7SR2|4|kr#u2BPQ^(FK5}u;Ni#X<@>UW(Nx=ZjZ40>A;2<}2 zzE2};_9`9#Mw8KN*;KZ|e%Ui~L>m`7luSme4Ym#zdTniAl#iY#t&hxn@BwMfvJzlj zmKlVDmeQD1qCus|L?2nCi_{vOdOqqSo|HWU5;!qm9qgNejb~5;Zo^A(JGSy~p%MO0 zVH(%7{3gDFB}C1}RM=mD$c7uqPI6{6U@JL!dYahNOAz6jngJ)HQdl#m6a$rRC=2W? z8&l;=x-i(A$3C~-4KX_@{KKnPCO@Q@BbSV3g2>kw-JwJ{6QlC diff --git a/echoStream/bin/components/Post$1.class b/echoStream/bin/components/Post$1.class index e28a27c8d8936e7815f4595a3b206e87d491501e..4584c6990d2f56ff700ab26c98f135da7f58c833 100644 GIT binary patch delta 141 zcmdnb)y2tm>ff$?3=9k=4DK7bJ~K^T$Q;1z!r(gj3v(x9=;S&UdCnXL76vAu3WLeZ zSo9+|0$EH9qCk?5ff-0fGVn4)G3YZyGl&6sVi1)K;tUc%9#9X19fLgsBT%ISkjKQ} Y$lwH|Sr}v(oEhAJEH0oNBaj9H0QWZ&%>V!Z delta 324 zcmZ9I%Syvw5QV@0Prx>`E(%sb!Hq)eCW7wj{Zgw|jTUs_1wsuqr6whbf(vo2+dN4@ zL|o|JNANXVD-H-!oW;zXGiMIWJY?T2>;3!X6_};bvp)5m#Tbh@mRMF~+-B2@VVqRT{Y*FPUUl5aPi|^q=iG}b8CDhg!naswV}Pn+w9nwbJV%X9 zMLwSN66eoKQ7qNl?zL-o+@NJQlE@EQm1_Ag{nC!%u%9}{y*f%ijPdL(CR*;8Pqk^c zryd!6W}&c>e`2jCv}Qb%7 delta 40 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 diff --git a/echoStream/bin/components/Tag.class b/echoStream/bin/components/Tag.class index fccdec53289d3cc79d285cba9eaf63ccdeb3ee24..9a2ff6380524677aca6ab807bcd3047673f68139 100644 GIT binary patch delta 314 zcmbQq{ez3^)W2Q(7#J8#7(6C&Rf&jd_+%xPCFj-gUhPD}XGD4fP_@J+f7`&u!DOYh`oKt5<4e ztI)W*^#|ROw_C5Ah)w1uk_^fzX`WMKi2SoMx-Z^Yrej>g1Tup0M1Kxb3MLuC?f5gV z;+Q*!)zXpYYDi&PRz#B**}7oTan}JjBzmt?Zz7}{4+!gn;!+wKi2scd zMGwhjfC4{Qn+2ePi)ZO8I7W<7rC^GNudg?4JR*GqS-Lacz_#^!gp-6PWW|Rs8=t`} rnPbpkQ7p$C#mSJAP%C2|3nC`R*rKrH;b@*Dj#aEtZ`~*mHW2s)b^}Et diff --git a/echoStream/bin/components/popularityHolder.class b/echoStream/bin/components/popularityHolder.class deleted file mode 100644 index d3291064e02a38e2f8ebf17fd489ade107ab7d10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 zcmaJ>T~8B16g|@x3T2^u7L^YHQCq51#SgTV2TU3gtC-Z(s87SPl*R3Cv)z*LSNsts zY63!6NC}J{$U|9jq}wcQ?;KcWAdqayw!lP9pL7G;DQ(Hl{xjJw3k=rnrYnQ4 zZwaiQ&!~hU4Ob6*+ijL(k*ed#pu9ntfr{zat{rT!TfWc`NImg(tu%%O#?H0Pz(Cf( zC^7>56NoTa#_JP|e8$*EZWEZ`s>;ChNgYvO9N?&M zjZbyjw{n81UP(sd4IzbbU1o$y$YGkv0vB+RtLnVTOx1hj6UK_ixby?_$5{BlNW6JY zqvXQO2!%CR##Q2QTyZ_Z+oN8kcsj((zeiU6TmFI@$GG)MQA}!8BRXw{N@fW-uNy3c wrDqMMqXvZIcjzA5-`DjbNADhBJ?dFxP?;cl285n1#l#Cd#3P+p=9)m|H$c`1@c;k- diff --git a/echoStream/bin/interfaces/HasTag.class b/echoStream/bin/interfaces/HasTag.class index ab05b3e9bc11b2cb1550f98efbdf09ae77bcbaf5..a6c0fa96c3e881f482e83b5f66d32d58f6650c8e 100644 GIT binary patch delta 20 bcmX@hc%E@WAs26PYDqwTL1|9n#L5r=P>=`G delta 18 ZcmX@lc$RTOAqRJHYDqv*X8y$L5CB0_2KfL0 diff --git a/echoStream/bin/phaseOne/Phase1.class b/echoStream/bin/phaseOne/Phase1.class index 2a6931fc13c482fd5e28aa0fc93c0ee287dd8392..abb2697bf9a7c2c3d6c49c01a7a89932db49e7d5 100644 GIT binary patch delta 1269 zcmZ`(OK%%h6#lL~_BfMCX+}gzNT3$wkv54eMNl;fC6v(G33ig!!Np(-*Y>qDVKU>+ zj7wb}=3QPbv{T*>A$BaoVuG-sVue)k5(^L;mR<215NA9=gaxw3_k8y|=bm%Eb7y|m z{v1%Q{`J*20Pesio5~-NaiwAFrd!}fQ}kd4cgdJ#*uBnA^OV8OdMe*?T(P0z5bpMJ zv1I!mhF$qJZi{NN8#I$ta4+tYG0!kqu{Ii(DNNT%r46ghjf`bfg{|TUjxzMtg}Y!n zE;lQJVPtGy_J90mgCjF47O=>mQPg3>2y+&ugF+pKev0lE*>rUymE#SH8AMh^5;=y+ zv5@R`uv}gj6?fLV$VTJKI3{DoyAm7fJB}L}0OH?a|#%GWSpS>cNS*z#+rgc zKt04T5G2%HT{x+ETX0w8L{;Ysis(t;5eBKQ+eQM9dP~v4>x(F>sG!OauXLRmPI|5A zt=?or+kOVp3Dg*(Wvi9I8W|_tS_10~vAkv5v}cf+;mHh_=C0L_FxI3Fy3Wb6FoL3z1v%ly%=&mM)jD zYrH~wWw^7-y>Fw#H=HBo(}AutN)Ws^nB8l^>|XcI#ikAwa9+g)#Hk`0enHr-I5TfG zO*e3UOU1>2>Lcn%wJw}(hQU*D5OHrfo@CrR5dVxx-tY1KY?mj=m-~m2zzF&qc11agezM0&>Vw#g zX$&EY+p&xTSfNkAF_Ppsy$*TUbTcoZjLN43H&Me?==c!^enAVr(zOc|-5;uk%Xphm q0zcs$(w1%^zQenCkMtkH6}*oRDEXb_5lkTDJ|vFeBif7LS(EnLK`qE;%;7O5h|VnKm{4rQ>NsnaQfFMR9H zm~l_syFrtZ&`6BzSosTFx-xO$-gu_fNX%sJJ>NOsx#yhk-tYb|l4twZ#wLIcyj=5q zt()WWvZ^sOwoD8y$cu6)Cu`YI(lk^p8*WYU2s8L*^?X6s6wNG#1`N3{??ETrJkB%t zOQxDrO;ss|dJIK2m4uQ}We*~73%J0*WmO|5pvPL}0(&Cp7cqbsgKM@*W|*?Jxx=jA zV$MU>4^A5FZ%qjpWN^&r%L0bT7&GStTw-u0b;BUvFqttq7?ZiKZ*vq%5-t{W!xV6p z4vxv0Oibo6X6a6UOPax5B?o7eoZZ!gi0in)P+x0cz|czthH2}a^T@w0+NcX2Qw$9| z1|OBPTr>)JFo_uvPR!b(S+89FfGvk2Vh&kKDJmvWhYeM?BCh6fH&oo@u|O*BkaxLg zDtQq(2SMik^pYm-SmHyxnQ5q$@^4H<|h*a7k#gl1H ziYC)eX(TC1*N8Dr z4hP*aNTdc@_tR`m@ZlIKeuCBxL~#R4`oJIj*yhbnH(zD(mfi{uAXN;kqQiC;7 lu!4t#1XS<{k4Z8gKHv$SqK*y%MDo;P&&XnUPQE(4_zm5m)93&I diff --git a/echoStream/bin/utilities/CreateMedia.class b/echoStream/bin/utilities/CreateMedia.class index 15024989521ff7215d71eaf4ccd839cc8f78eea3..ac66d3568aa3fc5710bc78cfc5abc21a9213ba27 100644 GIT binary patch delta 812 zcmZ{iO-~b16o%hB)ArWs2v}O0icOe)F+)p>Eugl3e-zLv5t1e(Ml-?yF|{RaW!p&n z1LVfIabsfQQr#3HhQzpIr5pc)|G|i-(~q!mF=yU6bMAZ2b8^2A91ki-f4>|8n8xC+ z@}523{TLHJ4Aia0@}^m{)=KR|3~`+RLb~mjH%ba7 zk>*G-44s^(W^Qe&n8JCnBvr&uDI>9hVDfABM7)vXy%q3+QDWHXtY*qF+{=r!W_u$L%0|ZtkgN~px;Mzkl=ibM;q`HrA3wk2RgYFiR zpXr1Qh2jXD6uqQ}aTY$r;HSw);i2rKjx$u8rZ4J&46!cWN;3nA)(H{x7s2cc6(M@knp5-4f zGLcC7d8UikLi6@3&ip)i`0n_38_HordF?5})HgzaVY(+;BS73MIHI6r~WwrgW7kPV0Q2QKEN72d@?;o@VVtUW`An4w7hK*jed HN_g-OofVGd delta 689 zcmYk3Pfrs;7{;I3|GN~5g#v3prNfp#U92KfEowd0m~b;OAu;G`6fkvLYc=uIgMNWJ z@#4+I#G~;7i6m(BfZ^sRFrNGh9*p?T)Gi)o=Gk}NdEWQ;?m_y?fVcnW!!CeDT<&;p z*v-znfK|m0ZKCtt7altzJ{qOY=geX3730~FnU(v|lc-pW;`QRSR&z66U#^O8Y-42b zPW?fn9^Z{ykBV2CQDY;86POfvJx+U#dgE~|YHqfkGLYX3eNpV|g545pMn3Vks8;4@6(HxHB9L`gthe*;`B9*Bn8`^JJY?x{<;{pXGSAmus bDw9oXs%c9FDyq@$U>Gh^Q!??A%BuVYQ{!V^ diff --git a/echoStream/src/components/GlobalHolder.java b/echoStream/src/components/GlobalHolder.java new file mode 100644 index 0000000..7c317cb --- /dev/null +++ b/echoStream/src/components/GlobalHolder.java @@ -0,0 +1,40 @@ +package components; + +import java.util.HashMap; +import java.util.Map; + +public class GlobalHolder { + private static GlobalHolder instance; + private Map sharedValues; + + private GlobalHolder() { + sharedValues = new HashMap<>(); + } // Private constructor + + public static GlobalHolder getInstance() { + if (instance == null) { + instance = new GlobalHolder(); + } + return instance; + } + + public Float getSharedValue(String key) { + return sharedValues.get(key); + } + + public void setSharedValue(String key, Float value) { + sharedValues.put(key, value); + } + + public void removeSharedValue(String key) { + sharedValues.remove(key); + } + + public boolean containsKey(String key) { + return sharedValues.containsKey(key); + } + + public Map getAllSharedValues() { + return new HashMap<>(sharedValues); + } +} diff --git a/echoStream/src/components/Graph.java b/echoStream/src/components/Graph.java index ff3d89e..fc5d3bd 100644 --- a/echoStream/src/components/Graph.java +++ b/echoStream/src/components/Graph.java @@ -11,7 +11,8 @@ public class Graph { - private Map> map = new TreeMap<>(new TagComparator()); + @SuppressWarnings({ "unchecked", "rawtypes" }) + private Map> map = new TreeMap<>(new TagComparator()); // This function adds a new vertex to the graph public void addVertex(T s) { @@ -30,6 +31,9 @@ public void addEdge(T source, A destination) { map.get(source).offer(destination); // Using offer to add elements to the priority queue } + + + //just for testing public void getKey(T source) { @@ -39,9 +43,10 @@ public void getKey(T source) { } - //setting TagPriority Dynamically + //setting TagPopularity Dynamically @SuppressWarnings("unchecked") - public void setTagPriority(T vertex, float newPriority) { + public void setTagPopularity(T vertex, float newPopularity) { + if (!map.containsKey(vertex)) { System.out.println("Vertex not found."); return; @@ -49,7 +54,11 @@ public void setTagPriority(T vertex, float newPriority) { PriorityQueue edges = map.remove(vertex); - Tag tempoTag = new Tag(vertex.getTitle(),newPriority); + Tag tempoTag = new Tag(vertex.getTitle()); + tempoTag.setPopularity(newPopularity); + GlobalHolder.getInstance().setSharedValue(tempoTag.getTitle(),newPopularity); + + // Create a new vertex with updated priority @@ -76,12 +85,9 @@ public void setPriority(T source, String element, float newPriority) { // Iterate through the original queue to find and update the element for (A e : collection) { if (e.getTitle().equals(element)) { - // Update the priority of the element (if possible; needs a method to set priority) - // For demonstration, we assume a method `updatePriority` exists on the element -// updatePriority(e, newPriority); + e.setPriority(newPriority); -// updatedQueue.add((A) new Post(element, e.getCaption(), e.getCaption(), 3f)); found = true; } updatedQueue.add(e); diff --git a/echoStream/src/components/Post.java b/echoStream/src/components/Post.java index ed6e94f..88cc983 100644 --- a/echoStream/src/components/Post.java +++ b/echoStream/src/components/Post.java @@ -21,7 +21,6 @@ public class Post implements HasPost, Comparable { private int unlikes; private int comments; private float priority; - private popularityHolder popularList; public Post(String title, String caption, String hashTag,float priority) { this.title = title; @@ -31,7 +30,6 @@ public Post(String title, String caption, String hashTag,float priority) { this.likes = 0; this.unlikes = 0; this.comments = 0; - this.popularList = new popularityHolder(); } @Override @@ -90,7 +88,6 @@ public JPanel getPostPanel() { public void actionPerformed(ActionEvent e) { likes++; likeButton.setText("Like (" + likes + ")"); - popularList.setPopularity("hi", 2f); } }); diff --git a/echoStream/src/components/Tag.java b/echoStream/src/components/Tag.java index 0bbb1df..66e65c6 100644 --- a/echoStream/src/components/Tag.java +++ b/echoStream/src/components/Tag.java @@ -9,9 +9,9 @@ public class Tag implements HasTag { private float popularity; // private int tagId; - public Tag(String title,float popularity) { + public Tag(String title) { this.title = title; - this.popularity = popularity; + this.popularity = 1f; } @@ -23,7 +23,7 @@ public float getPopularity() { return popularity; } - public void setPriority(float newPriority) { + public void setPopularity(float newPriority) { this.popularity = newPriority; System.out.println("hi"); } diff --git a/echoStream/src/components/popularityHolder.java b/echoStream/src/components/popularityHolder.java deleted file mode 100644 index e721d66..0000000 --- a/echoStream/src/components/popularityHolder.java +++ /dev/null @@ -1,39 +0,0 @@ -package components; - -import java.util.HashMap; - -//import interfaces.HasPopularity; - -public class popularityHolder { - private static HashMap map = new HashMap<>(); - - - public popularityHolder() { -// float popularity = 1f; -// if (map.containsKey(tag)) { -// map.put(tag, popularity); -// } - - - } - - - public float getPopularity(String tag) { - return map.get(tag); - } - - - public void setPopularity(String tag,float popularity) { - if (!map.containsKey(tag)) { - map.put(tag, popularity); - } - } - - - public static void main(String args[]) { - } - - - - -} diff --git a/echoStream/src/interfaces/HasTag.java b/echoStream/src/interfaces/HasTag.java index a066cd7..3341c4e 100644 --- a/echoStream/src/interfaces/HasTag.java +++ b/echoStream/src/interfaces/HasTag.java @@ -3,6 +3,6 @@ public interface HasTag { String getTitle(); float getPopularity(); - void setPriority(float newPriority); + void setPopularity(float newPopularity); } diff --git a/echoStream/src/phaseOne/Phase1.java b/echoStream/src/phaseOne/Phase1.java index 109951f..4a76a05 100644 --- a/echoStream/src/phaseOne/Phase1.java +++ b/echoStream/src/phaseOne/Phase1.java @@ -1,6 +1,7 @@ package phaseOne; import java.util.ArrayList; +import components.GlobalHolder; import components.Graph; import components.Post; import components.Tag; @@ -12,6 +13,14 @@ // Driver Code public class Phase1 { + +// public void display() { +// System.out.println(this.sharedValues); +// +// }; + + + public ArrayList getRawTempoData() { ArrayList posts = new ArrayList<>(); @@ -21,8 +30,27 @@ public ArrayList getRawTempoData() { return posts; } + + public void printValue() { + System.out.println("Shared Value: " + GlobalHolder.getInstance().getAllSharedValues()); + } + public static void main(String args[]) { + + + + Phase1 a = new Phase1(); + + + + + + +// a.setSharedValue("hi",1); + + + // Object of graph is created. Graph g = new Graph(); @@ -45,18 +73,20 @@ public static void main(String args[]) { //function( graph, tag, tagPriority, postName, postTitle, tags , postPriority //tag and tagPriority are composite key,(e.g, if girl tag is 1f it always 1f) - createInstance.create(g, "girl",1f, "We love Sushi","We love Sushi","girl",2.8f); + createInstance.create(g, "girl", "We love Sushi","We love Sushi","girl",2.8f); + + + createInstance.create(g, "boy", "Wtf","We love Sushi","boy",2.8f); + createInstance.create(g, "boy", "Sorry","We love Sushi","boy",2.8f); + createInstance.create(g,"boy" , "Ha Ha","We love Sushi","boy",1.8f); + createInstance.create(g,"girl" , "Ha Ha","We love Sushi","girl",1.8f); + createInstance.create(g,"sport" , "HaddHa","We love Sushi","girl",1.8f); - createInstance.create(g, "boy",1f, "Wtf","We love Sushi","boy",2.8f); - createInstance.create(g, "boy",1f, "Sorry","We love Sushi","boy",2.8f); - createInstance.create(g,"boy" ,1f, "Ha Ha","We love Sushi","boy",1.8f); - createInstance.create(g,"girl" ,1f, "Ha Ha","We love Sushi","girl",1.8f); - createInstance.create(g,"sport" ,1f, "HaddHa","We love Sushi","girl",1.8f); //jsut like create method , createGroup can be invoked to create with a group of tags - createInstance.createGroup(g,new String[] {"boy","girl","sport"} ,1f, "Ha Ha bel","We love Sushi","sport",1.8f); + createInstance.createGroup(g,new String[] {"boy","girl","sport"}, "Ha Ha bel","We love Sushi","sport",1.8f); // createInstance.create(g, new String[] {"sport","boy"},1.5f, "Really, Yeah","Really, Yeah","sport",2.5f); @@ -65,7 +95,8 @@ public static void main(String args[]) { // g.getKey(new Tag("boy", 3f)); // g.setPriority(new Tag("boy", 3f), "Sorry", 3f); - g.setTagPriority(new Tag("boy", 3f),0f); + g.setTagPopularity(new Tag("boy"),0f); + g.setPriority(new Tag("girl"), "Ha Ha bel", 0.8f); // g.getKey(new Tag("boy", 3f)); // Printing the graph System.out.println("Graph:\n" + g.toString()); @@ -75,6 +106,9 @@ public static void main(String args[]) { // Gives the no of edges in the graph. g.getEdgesCount(); + + + // Tells whether the edge is present or not. // g.hasEdge("sport", 4); @@ -84,6 +118,7 @@ public static void main(String args[]) { // // // Prints the neighbors of a vertex // g.neighbours("sport"); + a.printValue(); } } diff --git a/echoStream/src/utilities/CreateMedia.java b/echoStream/src/utilities/CreateMedia.java index 1b3cd8a..660624a 100644 --- a/echoStream/src/utilities/CreateMedia.java +++ b/echoStream/src/utilities/CreateMedia.java @@ -2,35 +2,25 @@ import components.Tag; import components.Post; - - +import components.GlobalHolder; import components.Graph; public class CreateMedia { -// public ArrayList getRawTempoData() { -// ArrayList posts = new ArrayList<>(); -// -// for (int i = 1; i <= 100; i++) { -// posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i)); -// } -// -// return posts; -// } - + //create method for adding into the map. - public void create(Graph g,String tags,float popularity,String postName,String postCaption,String hashTag,float postPriority) { + public void create(Graph g,String tags,String postName,String postCaption,String hashTag,float postPriority) { - Tag tag = new Tag(tags, popularity); + Tag tag = new Tag(tags ); Post post = new Post(postName, postCaption, hashTag, postPriority); + GlobalHolder.getInstance().setSharedValue(tags,1f); g.addEdge(tag, post); - // Create Post objects and add edges to the graph @@ -39,16 +29,15 @@ public void create(Graph g,String tags,float popularity,String postNam //just like create method, support for creating with a number of tags - public void createGroup(Graph g,String[] tags,float popularity,String postName,String postCaption,String hashTag,float postPriority) { + public void createGroup(Graph g,String[] tags,String postName,String postCaption,String hashTag,float postPriority) { for(int i = 0; i < tags.length; i++) { - create(g,tags[i],popularity,postName,postCaption,hashTag,postPriority); + create(g,tags[i],postName,postCaption,hashTag,postPriority); } - // Create Post objects and add edges to the graph @@ -58,10 +47,16 @@ public void createGroup(Graph g,String[] tags,float popularity,String public static void main(String[] args) { // TODO Auto-generated method stub - } + + + + + + + } //Tag name[accepted as array ] and Post-> accepted Post, caption, Hashtag From 0e3988f4486010b1414a6ec80ec3f4a21499e13f Mon Sep 17 00:00:00 2001 From: MinnThikeTunn Date: Mon, 5 Aug 2024 16:50:30 +0630 Subject: [PATCH 5/5] add tags arrayList in Post class --- echoStream/bin/components/Post$1.class | Bin 1162 -> 1162 bytes echoStream/bin/components/Post$2.class | Bin 1166 -> 1166 bytes echoStream/bin/components/Post$3.class | Bin 1168 -> 1168 bytes echoStream/bin/components/Post.class | Bin 4178 -> 4478 bytes echoStream/bin/phaseOne/Phase1.class | Bin 2796 -> 2862 bytes echoStream/bin/utilities/CreateMedia.class | Bin 2047 -> 2384 bytes echoStream/src/components/Post.java | 5 +++- echoStream/src/phaseOne/Phase1.java | 27 ++++++++++++--------- echoStream/src/utilities/CreateMedia.java | 13 ++++++---- 9 files changed, 27 insertions(+), 18 deletions(-) diff --git a/echoStream/bin/components/Post$1.class b/echoStream/bin/components/Post$1.class index 4584c6990d2f56ff700ab26c98f135da7f58c833..2bef005b64467c672a4f079823239e2ea02b72b4 100644 GIT binary patch delta 27 icmeC;?Bd*TlbJDM@-60c&KL$>hFAuDhPcUIEDiv5&Ie!s delta 27 icmeC;?Bd*TlbJDe@-60c&PWDchA0MohUm#&EDiv5LUmzgnX@;&Bs&Qu0ohBO9!hK$L6EDiv8{0Eu< delta 27 icmeCUmzgns@;&Bs&Ljq2hGYhPhSbS^EDiv8atDq8 diff --git a/echoStream/bin/components/Post$3.class b/echoStream/bin/components/Post$3.class index 4b4d810db084363c68479d7b5648333fb95e9193..0e18fe564bfee5bfe6dea93cb314743fb7ca4439 100644 GIT binary patch delta 27 jcmbQhIe~M-eP+h&$q$&*IrA8J8S)wQ844x`us8q!dr=3+ delta 27 jcmbQhIe~M-eP+gt$q$&*IkOpf8FCo(8FD8Fus8q!ddCO5 diff --git a/echoStream/bin/components/Post.class b/echoStream/bin/components/Post.class index cb953dd971d17bcbb45350945aa69a53bf794029..879abe8268a31ef92df44de0647e8b74b7a73e03 100644 GIT binary patch literal 4478 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 UQ&ep6JlojYgfZfFkK>(x0iPsH;Q#;t delta 1288 zcmY*YTW=dx5dMz6_O92PD6DXjQVT3nsZpKOP?wMu_&KAe( zuGgU{7jr2E%DtyRFWerG5JEzPhYi9iJRzhCfy4uS;t?byB;W^dnY9zq$XcKI=9@ET z&Np*D?fg9=-}vXtuK;YtdrR_PtX)O~aRmYNF%0$cn}H4dw?IUep<=Uw1n%Ks|Hns% zuwBG3L&qt7K~I$QaxtMTRvlwr!45pY;J0cHLnPg#O)D{Jn`K9HY(t+PmavndU7OQw zqY%sLrJ6Amld&5QiWudJ5cQ8?5049*rQJv=*oz6S3;l9hK@1s&{$8Hc$jBzOP^ zMNIPVgl=|-{~{#oQ&iB5HD9sHM%k$*#%;YaCnJlHh=-_}nq!ts$26*mQ7XhSGDgAF zW#kZ&aGXIXns!OTNrtv5BUZ8&jF?ud&Y8l_WHRZ6O)Ho|fgw24+|F>KH+}1I{F6YK z{~WlJ1XJnjs?U-T)7GMdIWnf4SqY~Y0-9ypqMmS1DyZWremuBU%HmlC=kOfA65M{r^9*8B-60x`EP7;g;eywo zm-rvSEyG#7qTp2oDRI$ovWD##XGX1B+3|v3SMY{MwGlN|C>qrjhJh;>q8)_~|GggnjN$~y^xsLN3#_BP z>(PcNCTP`g7sBL?wemqB1{9IOz1RXq`}QJ9FTjWU$ghy6#SM^kKY3*M{zjV!m5q>R z5W9l3h(t`#p^Vn(=h)UjS56&S#`-U?%f+~heJ<{Hv44qpU$ZnyLv{}pw1K}Liqth6 zZslR8DVspt%?21<^+>vbEUiZ~4diG&w!gnm&8sKqmscNlp%XOJB0=MSXs(5iG~s+J zIInszudcwdS|M0p#lh>abAHv(a)O%IasjohsSX8{z4(Q`2F~VGV;PT!T|Ci3c|sKO zw2Nm}Z+@O`-sj>47caK%P2gqvUW>c9=xN|@YOn{lksT+22kYp-HgqG6jW~b-OkxZN zNs>eK$~4$C)E6<04+t$`7B^txdzA1a7V#6!r`OL-EzxiZZxWL51Ky&}(u2XbcpH~V b?rwaIE4WIBuXeV@T_Y~U@D6SB;obiLS)e6L diff --git a/echoStream/bin/utilities/CreateMedia.class b/echoStream/bin/utilities/CreateMedia.class index ac66d3568aa3fc5710bc78cfc5abc21a9213ba27..3ccecc608317397e850dad4f66c6ceaf10e5402e 100644 GIT binary patch delta 1004 zcma)(O=}ZT6o%hBlgT9M^n;{HI#9YOw9S~5lv>l8sjaoz4~<3}jYg|5mKah?)MP5? zCL6(Zn2jJV3WDIKh>#WwQeBA)@gG?Kg$uEsdy`g$EL>dXopaB}`<%Pq`PJ|H{OjF& z0AsjS^Sxx1+UD|LYSnsZ#n-XALp)y~-w|<`?*fP)g zBtJF(e>6keN;z-Y`DRnAwyAgg3t0Ow?w;e2&p245)zns0ROU=8N_7EeRV*?DTI^24 zIiwimLf$5x$id3QcG9<3^DDNg;sQgLsQqhcJ}_L=(1A`L7Of(4uhu7IL4}Xrc4P-kf*eednIvJ9Lke&cUB=`v9i!XxsTj z&m>v?_K#V)W|@6G%NvzyRBzPEgxB&CHRTbNjKZjVM?-SS^1f~v?@1QTx5?i1S~;qh z=V~t-n}k(1NzsaK`#>(YrfG}s=l`pDgANFH6F7w=A+@sjJbD#PyojomiRF52qgt7f z4ZA3R+E2)lff#8Xz(x;89p8gn3U|<75PL|M#(dMa()JGgLVOqJ!o)5zEsSP;;m2DD zzwnJ199{=t@#?Zp;SBmQ3=d;Ci(aliZ95}@KHl*R5DChzO40KNcA?Wf1 zIN=F!!V`3OVmOaE%wt{rgQ4sc#sb?27{6hY%TIV854fmUvizy%BNf%qQEgqA)bZMn OL0IG{s&PqoJ^Ty8(ObU& diff --git a/echoStream/src/components/Post.java b/echoStream/src/components/Post.java index 88cc983..fa6af88 100644 --- a/echoStream/src/components/Post.java +++ b/echoStream/src/components/Post.java @@ -4,6 +4,7 @@ import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.ArrayList; import java.util.Objects; import javax.swing.BorderFactory; @@ -21,8 +22,9 @@ public class Post implements HasPost, Comparable { private int unlikes; private int comments; private float priority; + private ArrayList tagsGroup; - public Post(String title, String caption, String hashTag,float priority) { + public Post(String title, String caption, String hashTag,float priority,ArrayList tagsGroup) { this.title = title; this.caption = caption; this.hashTag = hashTag; @@ -30,6 +32,7 @@ public Post(String title, String caption, String hashTag,float priority) { this.likes = 0; this.unlikes = 0; this.comments = 0; + this.tagsGroup = tagsGroup; } @Override diff --git a/echoStream/src/phaseOne/Phase1.java b/echoStream/src/phaseOne/Phase1.java index 4a76a05..0600057 100644 --- a/echoStream/src/phaseOne/Phase1.java +++ b/echoStream/src/phaseOne/Phase1.java @@ -1,5 +1,6 @@ package phaseOne; import java.util.ArrayList; +import java.util.Arrays; import components.GlobalHolder; import components.Graph; @@ -25,7 +26,7 @@ public ArrayList getRawTempoData() { ArrayList posts = new ArrayList<>(); for (int i = 1; i <= 100; i++) { - posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i,1)); + posts.add(new Post("Post " + i, "Caption for post " + i, "HashTag" + i,1,new ArrayList(Arrays.asList("boy", "gay", "sport")) )); } return posts; @@ -71,22 +72,24 @@ public static void main(String args[]) { - //function( graph, tag, tagPriority, postName, postTitle, tags , postPriority - //tag and tagPriority are composite key,(e.g, if girl tag is 1f it always 1f) - createInstance.create(g, "girl", "We love Sushi","We love Sushi","girl",2.8f); - - - createInstance.create(g, "boy", "Wtf","We love Sushi","boy",2.8f); - createInstance.create(g, "boy", "Sorry","We love Sushi","boy",2.8f); - createInstance.create(g,"boy" , "Ha Ha","We love Sushi","boy",1.8f); - createInstance.create(g,"girl" , "Ha Ha","We love Sushi","girl",1.8f); - createInstance.create(g,"sport" , "HaddHa","We love Sushi","girl",1.8f); +// //function( graph, tag, tagPriority, postName, postTitle, tags , postPriority +// //tag and tagPriority are composite key,(e.g, if girl tag is 1f it always 1f) +// createInstance.create(g, "girl", "We love Sushi","We love Sushi","girl",2.8f); +// +// +// createInstance.create(g, "boy", "Wtf","We love Sushi","boy",2.8f); +// createInstance.create(g, "boy", "Sorry","We love Sushi","boy",2.8f); +// createInstance.create(g,"boy" , "Ha Ha","We love Sushi","boy",1.8f); +// createInstance.create(g,"girl" , "Ha Ha","We love Sushi","girl",1.8f); +// createInstance.create(g,"sport" , "HaddHa","We love Sushi","girl",1.8f); //jsut like create method , createGroup can be invoked to create with a group of tags - createInstance.createGroup(g,new String[] {"boy","girl","sport"}, "Ha Ha bel","We love Sushi","sport",1.8f); + createInstance.createGroup(g,new ArrayList(Arrays.asList("boy", "girl", "sport")), "Ha Ha bel","We love Sushi","sport",1.8f); + createInstance.createGroup(g,new ArrayList(Arrays.asList("boy", "gay", "sport")), "Sa tar par","We love Sushi","sport",1.8f); + createInstance.createGroup(g,new ArrayList(Arrays.asList("Funny", "DC", "Mavel")), "Mike tel","We love Sushi","sport",1.8f); // createInstance.create(g, new String[] {"sport","boy"},1.5f, "Really, Yeah","Really, Yeah","sport",2.5f); diff --git a/echoStream/src/utilities/CreateMedia.java b/echoStream/src/utilities/CreateMedia.java index 660624a..af2eb10 100644 --- a/echoStream/src/utilities/CreateMedia.java +++ b/echoStream/src/utilities/CreateMedia.java @@ -2,6 +2,9 @@ import components.Tag; import components.Post; + +import java.util.ArrayList; + import components.GlobalHolder; import components.Graph; @@ -12,11 +15,11 @@ public class CreateMedia { //create method for adding into the map. - public void create(Graph g,String tags,String postName,String postCaption,String hashTag,float postPriority) { + public void create(Graph g,String tags,String postName,String postCaption,String hashTag,float postPriority,ArrayList tagsGroup) { Tag tag = new Tag(tags ); - Post post = new Post(postName, postCaption, hashTag, postPriority); + Post post = new Post(postName, postCaption, hashTag, postPriority, tagsGroup); GlobalHolder.getInstance().setSharedValue(tags,1f); g.addEdge(tag, post); @@ -29,10 +32,10 @@ public void create(Graph g,String tags,String postName,String postCapt //just like create method, support for creating with a number of tags - public void createGroup(Graph g,String[] tags,String postName,String postCaption,String hashTag,float postPriority) { + public void createGroup(Graph g,ArrayList tags,String postName,String postCaption,String hashTag,float postPriority) { - for(int i = 0; i < tags.length; i++) { - create(g,tags[i],postName,postCaption,hashTag,postPriority); + for(int i = 0; i < tags.size(); i++) { + create(g,tags.get(i),postName,postCaption,hashTag,postPriority,tags); }