1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.services.wcm.portal.artifacts;
18
19 import java.util.HashMap;
20
21 import org.exoplatform.services.jcr.ext.common.SessionProvider;
22
23
24
25
26
27
28
29 public class RemovePortalArtifactsServiceImpl implements RemovePortalArtifactsService {
30
31 private HashMap<String,RemovePortalPlugin> artifactPlugins = new HashMap<String,RemovePortalPlugin>();
32
33 public void addPlugin(RemovePortalPlugin artifactsPlugin) throws Exception {
34 artifactPlugins.put(artifactsPlugin.getName(),artifactsPlugin);
35 }
36
37 public void invalidateArtifactsFromPortal(SessionProvider sessionProvider, String portalName)
38 throws Exception {
39 for(RemovePortalPlugin plugin: artifactPlugins.values()) {
40 plugin.invalidateFromPortal(sessionProvider, portalName);
41 }
42 }
43
44 @Override
45 public void invalidateArtifactsFromPortal(SessionProvider sessionProvider,
46 String portalName, String portalTemplateName) throws Exception {
47 for (RemovePortalPlugin plugin : artifactPlugins.values()) {
48 if (!plugin.getName().startsWith("template")
49 || (portalTemplateName != null && plugin.getName()
50 .startsWith(portalTemplateName))) {
51 plugin.invalidateFromPortal(sessionProvider, portalName);
52 }
53 }
54 }
55 }