1
19
20 package com.liferay.portal.deploy.auto;
21
22 import com.liferay.portal.kernel.deploy.auto.AutoDeployException;
23 import com.liferay.portal.kernel.log.Log;
24 import com.liferay.portal.kernel.log.LogFactoryUtil;
25 import com.liferay.portal.util.Portal;
26
27 import java.io.File;
28
29
37 public class PortletAutoDeployListener extends BaseAutoDeployListener {
38
39 public PortletAutoDeployListener() {
40 _deployer = new PortletAutoDeployer();
41 }
42
43 public void deploy(File file) throws AutoDeployException {
44 if (_log.isDebugEnabled()) {
45 _log.debug("Invoking deploy for " + file.getPath());
46 }
47
48 AutoDeployer deployer = null;
49
50 if (isMatchingFile(file, "index.php")) {
51 deployer = getPhpDeployer();
52 }
53 else if (isMatchingFile(
54 file, "WEB-INF/" + Portal.PORTLET_XML_FILE_NAME_STANDARD)) {
55
56 deployer = _deployer;
57 }
58 else if (!isHookPlugin(file) &&
59 !isMatchingFile(
60 file, "WEB-INF/liferay-layout-templates.xml") &&
61 !isThemePlugin(file) && !isWebPlugin(file)) {
62
63 if (_log.isInfoEnabled()) {
64 _log.info("Deploying package as a web application");
65 }
66
67 deployer = getWaiDeployer();
68 }
69 else {
70 return;
71 }
72
73 if (_log.isInfoEnabled()) {
74 _log.info("Copying portlets for " + file.getPath());
75 }
76
77 if (_log.isDebugEnabled()) {
78 _log.debug("Using deployer " + deployer.getClass().getName());
79 }
80
81 deployer.autoDeploy(file.getName());
82
83 if (_log.isInfoEnabled()) {
84 _log.info(
85 "Portlets for " + file.getPath() + " copied successfully. " +
86 "Deployment will start in a few seconds.");
87 }
88 }
89
90 protected AutoDeployer getPhpDeployer() throws AutoDeployException {
91 if (_phpDeployer == null) {
92 _phpDeployer = new PHPPortletAutoDeployer();
93 }
94
95 return _phpDeployer;
96 }
97
98 protected AutoDeployer getWaiDeployer() throws AutoDeployException {
99 if (_waiDeployer == null) {
100 _waiDeployer = new WAIAutoDeployer();
101 }
102
103 return _waiDeployer;
104 }
105
106 private static Log _log =
107 LogFactoryUtil.getLog(PortletAutoDeployListener.class);
108
109 private AutoDeployer _deployer;
110 private PHPPortletAutoDeployer _phpDeployer;
111 private WAIAutoDeployer _waiDeployer;
112
113 }