1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.services.wcm.core.impl;
18
19 import javax.jcr.Node;
20
21 import org.apache.commons.chain.Context;
22 import org.exoplatform.services.command.action.Action;
23 import org.exoplatform.services.jcr.ext.common.SessionProvider;
24 import org.exoplatform.services.log.ExoLogger;
25 import org.exoplatform.services.log.Log;
26 import org.exoplatform.services.wcm.core.WebSchemaConfigService;
27 import org.exoplatform.services.wcm.utils.WCMCoreUtils;
28
29
30
31
32
33
34
35 public class WebSchemaRemoverAction implements Action{
36
37 private static final Log LOG = ExoLogger.getLogger(WebSchemaRemoverAction.class.getName());
38 public boolean execute(Context context) throws Exception {
39 Node node = (Node)context.get("currentItem");
40 WebSchemaConfigService schemaConfigService = WCMCoreUtils.getService(WebSchemaConfigService.class);
41 SessionProvider sessionProvider = WCMCoreUtils.getSystemSessionProvider();
42 try {
43 schemaConfigService.updateSchemaOnRemove(sessionProvider, node);
44 } catch (Exception e) {
45 if (LOG.isErrorEnabled()) {
46 LOG.error("Error when update web schema before remove node: " + node.getPath() , e);
47 }
48 }
49 return false;
50 }
51
52 }