From e16e19e2c51a23682d92985b9cb1349a3318bbeb Mon Sep 17 00:00:00 2001 From: Brian Remmington Date: Thu, 21 Jul 2011 12:39:18 +0000 Subject: [PATCH] Publishing: - Added initial icons to each of the supported channel types along with API (foundation and REST) to access them. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29249 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/web-publishing-context.xml | 1 + .../repo/publishing/AbstractChannelType.java | 27 ++++++++++++++++++ .../publishing/PublishingEventProcessor.java | 20 +++++++++++++ .../facebook/FacebookChannelType16.png | Bin 0 -> 270 bytes .../facebook/FacebookChannelType32.png | Bin 0 -> 1164 bytes .../publishing/flickr/FlickrChannelType16.png | Bin 0 -> 327 bytes .../publishing/flickr/FlickrChannelType32.png | Bin 0 -> 327 bytes .../slideshare/SlideShareChannelType16.png | Bin 0 -> 739 bytes .../slideshare/SlideShareChannelType32.png | Bin 0 -> 2374 bytes .../twitter/TwitterChannelType16.png | Bin 0 -> 652 bytes .../twitter/TwitterChannelType32.png | Bin 0 -> 2225 bytes .../youtube/YouTubeChannelType16.png | Bin 0 -> 461 bytes .../youtube/YouTubeChannelType32.png | Bin 0 -> 2392 bytes .../cmr/publishing/channels/ChannelType.java | 5 ++++ 14 files changed, 53 insertions(+) create mode 100644 source/java/org/alfresco/repo/publishing/facebook/FacebookChannelType16.png create mode 100644 source/java/org/alfresco/repo/publishing/facebook/FacebookChannelType32.png create mode 100644 source/java/org/alfresco/repo/publishing/flickr/FlickrChannelType16.png create mode 100644 source/java/org/alfresco/repo/publishing/flickr/FlickrChannelType32.png create mode 100644 source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType16.png create mode 100644 source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType32.png create mode 100644 source/java/org/alfresco/repo/publishing/twitter/TwitterChannelType16.png create mode 100644 source/java/org/alfresco/repo/publishing/twitter/TwitterChannelType32.png create mode 100644 source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType16.png create mode 100644 source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType32.png diff --git a/config/alfresco/web-publishing-context.xml b/config/alfresco/web-publishing-context.xml index 8e341150eb..c6e80b8b31 100644 --- a/config/alfresco/web-publishing-context.xml +++ b/config/alfresco/web-publishing-context.xml @@ -87,6 +87,7 @@ + diff --git a/source/java/org/alfresco/repo/publishing/AbstractChannelType.java b/source/java/org/alfresco/repo/publishing/AbstractChannelType.java index 77fd534518..77957274d9 100644 --- a/source/java/org/alfresco/repo/publishing/AbstractChannelType.java +++ b/source/java/org/alfresco/repo/publishing/AbstractChannelType.java @@ -38,6 +38,8 @@ import org.alfresco.service.cmr.transfer.NodeFinder; import org.alfresco.service.namespace.QName; import org.alfresco.util.ParameterCheck; import org.springframework.beans.factory.InitializingBean; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; /** * @author Nick Smith @@ -175,4 +177,29 @@ public abstract class AbstractChannelType implements ChannelType, InitializingBe } return result; } + + public Resource getIcon16() + { + return getIcon("16"); + } + + public Resource getIcon32() + { + return getIcon("32"); + } + + protected Resource getIcon(String sizeSuffix) + { + String className = this.getClass().getCanonicalName(); + className = className.replaceAll("\\.", "\\/"); + StringBuilder iconPath = new StringBuilder(className); + iconPath.append(sizeSuffix).append('.').append(getIconFileExtension()); + Resource resource = new ClassPathResource(iconPath.toString()); + return resource.exists() ? resource : null; + } + + public String getIconFileExtension() + { + return "png"; + } } diff --git a/source/java/org/alfresco/repo/publishing/PublishingEventProcessor.java b/source/java/org/alfresco/repo/publishing/PublishingEventProcessor.java index d947963019..fe2b04c1ac 100644 --- a/source/java/org/alfresco/repo/publishing/PublishingEventProcessor.java +++ b/source/java/org/alfresco/repo/publishing/PublishingEventProcessor.java @@ -34,6 +34,7 @@ import java.util.Set; import org.alfresco.model.ContentModel; import org.alfresco.repo.policy.BehaviourFilter; +import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.publishing.NodeSnapshot; import org.alfresco.service.cmr.publishing.PublishingEvent; import org.alfresco.service.cmr.publishing.PublishingPackageEntry; @@ -62,6 +63,7 @@ public class PublishingEventProcessor private NodeService nodeService; private BehaviourFilter behaviourFilter; private UrlShortener urlShortener; + private DictionaryService dictionaryService; public void processEventNode(NodeRef eventNode) { @@ -223,6 +225,13 @@ public class PublishingEventProcessor Map publishProps = nodeService.getProperties(publishedNode); Set propsToRemove = new HashSet(publishProps.keySet()); propsToRemove.removeAll(snapshotProps.keySet()); + + //We want to retain the published asset id and URL in the updated node... + snapshotProps.put(PublishingModel.PROP_ASSET_ID, nodeService.getProperty(publishedNode, + PublishingModel.PROP_ASSET_ID)); + snapshotProps.put(PublishingModel.PROP_ASSET_URL, nodeService.getProperty(publishedNode, + PublishingModel.PROP_ASSET_URL)); + for (QName propertyToRemove : propsToRemove) { nodeService.removeProperty(publishedNode, propertyToRemove); @@ -238,6 +247,12 @@ public class PublishingEventProcessor Set aspectsToRemove = nodeService.getAspects(publishedNode); aspectsToRemove.removeAll(newAspects); aspectsToRemove.remove(ASPECT_PUBLISHED); + aspectsToRemove.remove(PublishingModel.ASPECT_ASSET); + for (QName publishedAssetAspect : dictionaryService.getSubAspects(PublishingModel.ASPECT_ASSET, true)) + { + aspectsToRemove.remove(publishedAssetAspect); + } + for (QName aspectToRemove : aspectsToRemove) { nodeService.removeAspect(publishedNode, aspectToRemove); @@ -327,4 +342,9 @@ public class PublishingEventProcessor { this.urlShortener = urlShortener; } + + public void setDictionaryService(DictionaryService dictionaryService) + { + this.dictionaryService = dictionaryService; + } } \ No newline at end of file diff --git a/source/java/org/alfresco/repo/publishing/facebook/FacebookChannelType16.png b/source/java/org/alfresco/repo/publishing/facebook/FacebookChannelType16.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2a4f0374ea9dc6af11e7a33e3403a30c3948a8 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZFW(14GY0rwhlm{1)eUBAsWHS2?~M+Ojo1b{n8T{3^^MA zyH8IyY7`Y*EVZhKwSVQRPlxWN&Qof-<6vqQXsoEEXqLcUaP`EcA2|-jvp4WYygizC zcw*|yf~x{%cld9Z?y3AQx`N}83Wqe`hHQ=#aZDkMhSG=Hm}?fcT;*5EX0Yt+p6u)F z$rGLbP0l+XkKnPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW2Nee|DKsmKbpQYa9!W$&R9HvF zS6fdLK@>iFEo~`iEE+UMO$yK8|h6+Ov7XU^<7-?`3=MnoZx|3&vrXs%Q*(D=zI(sYZ$z&kQ9 znr^aum+Id?QRBx~=ot|JP=0Ra4w-g|Jg0qR08G2c@>{gB_(TEN6#%+niE`5_b(L#5 zBNOclIfw!O@w`Ar$iF47_`_QYmO-{{u#U3GhdxCDAn?7|@?kt+uq;C)X31yy(Hi7K zUkX5PJ1ojiuw3hYQW~*n>Oz$+ov%`6$D(Z zu_h=#b83uk&7Gs$H!sqOVE>9pPN2S)#Fi| zlQdc?$P|FHG!y{O4+x^+c39p|ITY@+I-)n}l|6DGukF!3We{Qxw<~(Pyg_f4*5WyG z0EB8F@>5EN@_>?ra3`&U@`sOKv*iwrmh4y|N>NqAp*#RZu-f5d!r0!~6*;aOq^yGC zjaq~1ja?eAj8LUq5FkT`K)KvTV-a_f2)3+rabaz8q7o}s=!Q;0SPjL<_E{c^W-s@C zV{LBwOv>7YrFG5;E<^4E5$qlflmiOD)ytD~@9wpXsNNKOjHKlNfbX+?AlsPs6bgoN zA!@%L;XLR^@%}#Sfjpq=QFq&_x9P`LQ#xR4*OmV$MZMeoT5Ts@2Os-E>ia{7z&4`@ zzW=;Q;nPJv0a++xx;}H3Zd^GV%LV`C;%dzQ@a4PkEF^B2zHbcV0TICTkriO5Ixln9 zCjo%>=-K-}`v6zVU+V)n2O7;HSq+(aS*k+#*5qoD%}f*+K>6<$uUxVCGS@=q;_j3zQ$pH>;ZTI zE<*yreR*=h_e05UfJhSNSXX={&olzDK6xq%0J%ovTFr^$xFP9CtQ;P2T#vzOVrh~v zkB;n!ujF|QSm{#xBM;!kqS@5!XneN2g0SDwnGK1{Z-5`sfZFW%}MxKh=o&SMCH$7b(LoEE06C_xBJ}7wXN@hs0X8c&L zaPO3X|5L%D4}a1#F0y`#ZTunbF>m6+XLcTPNe-9h>M2BaEn!UYu(~kesDj~wXKo6i z?JE36OBgavl(;Q;=Ae)+JM9F6w**iSi9acKU!PCbK@Wj&x)N6tgkm}tYSYE%fNQU zXu%yXolkcib}FB^D8UrM(!I>o;Vk<^Q^sT_ksERjJY0Kx9nS9lxFg5KlaXOvn9`sfZFW&^E4fXUh9J{!db&7^$U>94^h(Q;6(Z!kFS=bz#C$1;Yi;+!R9F zRrrmTFl3x4aa-`rK_Ojs+6e~9MStt>afvGI0Jnh8D*nh2{cAvk8pW1tWhdzq=jS@wyhjLA$QH{=|6xc2xuoZbC#M~;gpBg48dqq#pW Szr6zVB!j1`pUXO@geCyqRc{~w literal 0 HcmV?d00001 diff --git a/source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType16.png b/source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType16.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdf7156874638fcfda2e97374f68608241e92e2 GIT binary patch literal 739 zcmV<90v!E`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW2NetlH=iu`T>tj)FLW#)6N#HBC!mD7C{lU2scIs z(Lx5A7KNLLirkE*Mnsnp(+2ZK&h5;cOaB>j=%5S#-T(dn`+o2HeXnGR)BkvY(ygV) zE}4xS)3o?GHA!bj2TE&eE8RWU+22r)swx}7W0)o*o_v~HT2L$j@p?V@d|o6;+7N;L zDG&&NWwE|y@nApxe}vO@$=7H$7rtQr2noCkW%oG@cM(s%Ei*i)aj4kMsoH=;se{1M zHS{-EF{0y`S_*xBl2A=AUGIJqU()Ck-Yfh&I9TS(sgZ4|tLm)eyZ}$2ClX{d6K(o4 z6Z0Ceg(Ox+$4I3ajmB5N{~XCruQa1(7PB?UzXfY^6PhNGOsTkPk8`xb%O+cAGDVqc zaIB^%`*%r~sk{6DDLl|+Rq12o*PlhMYy%~qbmTpfy8w4(6P8Qm<7|>ovkCT<`tao` z1S2sXhUcg=ej(XG>g&D0neuTl9381}JCdhZ*fNBo3U0eQ2}Wfa5T z&%ENDb*Z(ZzI^pvivrE{}3+v5gmc1HQS*9M~pUvqnoYvs)1x!}OKY4M(7yK~nrH8xjPD4tfS$9>tqYV}U{MLMe^q~j?b&Fo@yxq$GV^O&(eRE-P}>c8(G_zOuS V82N}+kn{im002ovPDHLkV1hunNyz{J literal 0 HcmV?d00001 diff --git a/source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType32.png b/source/java/org/alfresco/repo/publishing/slideshare/SlideShareChannelType32.png new file mode 100644 index 0000000000000000000000000000000000000000..9f918f414912fb20a30ae26556ebde0780dc4b23 GIT binary patch literal 2374 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 literal 0 HcmV?d00001 diff --git a/source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType16.png b/source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType16.png new file mode 100644 index 0000000000000000000000000000000000000000..a869638ac601e917ce2907ecccc20acf5fc9a765 GIT binary patch literal 461 zcmV;;0W$uHP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW2NettFv*eV_5c6@Ur9tkR5(v# z_zwhE*X8}M_u>ID|GT8E`M>DsV=$W-zyMRkz`*eT{mTFUK{P1gJg{b%?Ykzq zgZXKlC&A{y3`VyAZot=PtH6qG{Q39)8rW!O2%odG14)_H6fsoeAc3eN0ujYfNZ2*d zSb!=tvIW`*bPb3LqCtER0I{d9fUrUI*}Du3>kfdq@K`_%T4;>G1VJtX8B*54z~Jf% z6@84y073x?_bMY67wp~*u?+^!Ux4s8Z)RZVs$gJX0tGCPf9Wyz-F!OK%p00000NkvXXu0mjf D!CAKh literal 0 HcmV?d00001 diff --git a/source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType32.png b/source/java/org/alfresco/repo/publishing/youtube/YouTubeChannelType32.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff7494b368d2d03e0effdf21e4eb613bf73be84 GIT binary patch literal 2392 zcmV-e38(gnP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW2Netu4P2wDc>n+i>PbXFR9Huq zS6ggcR~21%=8k7P9@{hHnK*u=&e#qiCQX`$9pdI;Cru-P)PjWg;G+T+P(c+6$W1A< zB1(DmBQ(GVD)7<52UJA}iB_T^p-y5uk0xyr*P(76PR4c|+hcn?o`>yuUDiH##*cc6 z=&`Qu+;jFhd!Mz}Uguad*yba{2=)C9{TKgQIh)osC(NB)Fq$7k@u@lzNW4P$TH zdhC2?4VnWUxa}y=4EAY-1{V70O8wTfMLS(OtTsEGo?2L3HJD7=kq&1N4`nfDPa!%U zL^3*qa{D?|xa`m^|I^2(9#jG7P9MBYUxalii<7}O;k+5cH$EsuMvI{D?bi^qN749X zGq%<`KedCU69j>!yH~zV1A)W=cg+UW1{x6=h~nJ&3&?6Zta=)2>-?yzbepEh5XMJG zF*FuM%5cD2xfWip2Nk6n=HfBj8n~mJG&D3Q^V_#?LmUSJ0k~YQ6&uim1Nq)a=q|3F z`aOC&yK%C68Zlc9Ha>a~yZ7zJV|%v2=a|OS2e0Fuf1ku}{&EGOYykVd@(dn5upeJ& zwjtQxhi9LA9-39hv17;7vK<{ANTpIZdh{qZZ{EBjfE)s5e|eb`ds{bRX5uDZe!UA3 z`y{@!?OC+8Z-d(bgoFRVnbW7x({mp21bLE)<6KVE8or%C)23IVkykt<-HawP+US%mN6Cw>_s+| zIBhVg7eaV)7?-Y(;NG+yyV?)pk$n#%I}^m6{__aUOv6%a!)NP?)lCI+gWHTUh_{gV$Y(elAJ86RX6p2=D!Q(A9I2gEdwF^VTNz7%^&{FeU ztMDox3qYJ^k>w;IPSTP>n!nAdet5jKXl|-Tf(v$co=_>Ul-1#ZS`W$`WvFx-*!f@$ zrov&od;Tom8!)(rA63->*qE9^ZDjy-m&v4%h|eOCjv-BFW&n){H0;24zPcS}yUyX~ zM-CyB3813!5$tJiM}xlxRYl`4>bD?xx)ZM)K8&j)<#6~~u vobKxXCje$!rzlYm zcI`iad0Pdl{63Hws(IMId;dXX$ny8^UqK@4L2FwZ_VB5!utKxB;cMIl|4@qD`4_4x zJlNFMPQL7g+wU(Jz%m`kTg(^<1P8|`L^jkuPz#YD2|@%TjRe9oQy3bZVG4>VM0N1E zE%0zm;3R$sC&CyUnZ#^LM=8_h@z~*KffYJJv}`(U5N}|35Qs+QV1QOcQz=6c$hkRs zO)KY`g)VgVOS#$^l92`yF(8%XZwqaRf|X+=A?$oK&PsDW`GjPK=1e9@uDMDfH`^Sv3m*7XiBI${nuin%x^O61J5LS*m`-!ZkWT39VA^~rZBnZ2gY z?E9!68tt&u?qgZk2sY>j(_x@~oqB7=fgJ|c^5FQ|*GcsC)Y~c3QH2kqzQ2Hk%+~*Hyo+2y_1) z@X`_B(gomqhfN2+=8jIh1q_j#5`g4g7Mh!7aP&m61oc8Kmf=U78{kjqR6Vg3B1;pV zNbXe-Y>FQYqKG`B9S?kd@Epg*Yh*qTlPA7qE^vkL4+epz2TfMrB^RWvZ!!bCJ3vI} zWS$O%)!RRBqLZPcIJq+sG6Sz&ORkhHI8=cMaVN$Ya3XghQHKzXC4T~yEL=r$wXwRt z`4o4_-3da{p6+1zaKTsqz&V`6qZU4jOvm#Km}uR&0bJ+;-ukN`m$%aJX}37JCo zfwR;Tne)^kpqkZG&yr3vfSOu!**mvLcG|_rw?3voct^xPpUu z13r>TIp!nii28{P@7`yA%Xx8+$~y3oiAZn*ZKh51#JR{kxGsGe{L|HdG!!~EKRjv%EE;jH8#wu<`7I8&YzMyo zW7EkLgSkw-dE<{EI(0Es@AM zt`47^cj1ZrW?HY-vmy;Ai z1{GQIZsE`Kl68{BVPJXbcNn7;*0000< KMNUMnLSTZ$uVRA$ literal 0 HcmV?d00001 diff --git a/source/java/org/alfresco/service/cmr/publishing/channels/ChannelType.java b/source/java/org/alfresco/service/cmr/publishing/channels/ChannelType.java index 0d334465a4..d9bc79e8a3 100644 --- a/source/java/org/alfresco/service/cmr/publishing/channels/ChannelType.java +++ b/source/java/org/alfresco/service/cmr/publishing/channels/ChannelType.java @@ -27,6 +27,7 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.transfer.NodeFilter; import org.alfresco.service.cmr.transfer.NodeFinder; import org.alfresco.service.namespace.QName; +import org.springframework.core.io.Resource; /** * @author Brian @@ -59,4 +60,8 @@ public interface ChannelType String getAuthorisationUrl(Channel channel, String callbackUrl); boolean acceptAuthorisationCallback(Channel channel, Map callbackHeaders, Map callbackParams); + + String getIconFileExtension(); + Resource getIcon16(); + Resource getIcon32(); }