ETHREEOH-1368 Deployment option goes away after renaming web project.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13944 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2009-04-14 15:07:51 +00:00
parent 9734c3c5c9
commit ad753d07f1

View File

@@ -32,16 +32,15 @@ import java.util.List;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMAppModel; import org.alfresco.model.WCMAppModel;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.service.cmr.search.SearchParameters;
import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.util.ISO9075; import org.alfresco.service.namespace.NamespacePrefixResolver;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -308,22 +307,33 @@ public final class DeploymentUtil
return findServers(webProject, false, availableOnly); return findServers(webProject, false, availableOnly);
} }
/**
* Returns a list of NodeRefs representing the deployment servers configured
* for the given web project.
*
* @param webProject Web project to get test servers for
* @param live
* @param availableOnly if true only returns those servers still available for deployment
* @return List of test servers
*/
private static List<NodeRef> findServers(NodeRef webProject, boolean live, boolean availableOnly) private static List<NodeRef> findServers(NodeRef webProject, boolean live, boolean availableOnly)
{ {
FacesContext context = FacesContext.getCurrentInstance(); FacesContext context = FacesContext.getCurrentInstance();
NodeService nodeService = Repository.getServiceRegistry(context).getNodeService(); NodeService nodeService = Repository.getServiceRegistry(context).getNodeService();
SearchService searchService = Repository.getServiceRegistry(context).getSearchService(); SearchService searchService = Repository.getServiceRegistry(context).getSearchService();
// build the query NamespacePrefixResolver namespacePrefixResolver = Repository.getServiceRegistry(context).getNamespaceService();
String webProjectName = (String)nodeService.getProperty(webProject, ContentModel.PROP_NAME);
String safeProjectName = ISO9075.encode(webProjectName); Path projectPath = nodeService.getPath(webProject);
StringBuilder query = new StringBuilder("PATH:\"/");
query.append(Application.getRootPath(context)); String stringPath = projectPath.toPrefixString(namespacePrefixResolver);
query.append("/");
query.append(Application.getWebsitesFolderName(context)); StringBuilder query = new StringBuilder("PATH:\"");
query.append("/cm:");
query.append(safeProjectName); query.append(stringPath);
query.append("/*\" AND @"); query.append("/*\" ");
query.append(" AND @");
query.append(NamespaceService.WCMAPP_MODEL_PREFIX); query.append(NamespaceService.WCMAPP_MODEL_PREFIX);
query.append("\\:"); query.append("\\:");
query.append(WCMAppModel.PROP_DEPLOYSERVERTYPE.getLocalName()); query.append(WCMAppModel.PROP_DEPLOYSERVERTYPE.getLocalName());