RenderRequest req, RenderResponse res)
throws Exception {
Logger.debug(this, "Running ViewVirtualLinksAction!!!!");
User user=(User)req.getAttribute("USER");
HostAPI hostAPI = APILocator.getHostAPI();
List<Host> hosts= hostAPI.getHostsWithPermission(PermissionAPI.PERMISSION_READ, false, user, false);
VirtualLinkAPI.OrderBy orderby = VirtualLinkAPI.OrderBy.TITLE;
String temp = req.getParameter("orderby");
if ((temp!= null) && temp.equals("url"))
orderby = VirtualLinkAPI.OrderBy.URL;
com.liferay.portlet.RenderRequestImpl reqImpl = (com.liferay.portlet.RenderRequestImpl) req;
HttpServletRequest httpReq = reqImpl.getHttpServletRequest();
String hostId = (String) httpReq.getSession().getAttribute(WebKeys.CMS_SELECTED_HOST_ID);
String url = null;
if (UtilMethods.isSet(hostId)) {
Host host = hostAPI.find(hostId, user, false);
if (host != null){
url = host.getHostname() + ":/";
}
else{
url = "there is no host named this" + ":/";
}
}
try {
if (req.getWindowState().equals(WindowState.NORMAL)) {
//get their lists
List list = virtualLinkAPI.getVirtualLinks(null, url, orderby);
//list =VirtualLinkFactory.checkListForCreateVirtualLinkspermission(list, user);
req.setAttribute(WebKeys.VIRTUAL_LINK_VIEW_PORTLET, list);
req.setAttribute("host_list", hosts);
Logger.debug(this, "Going to: portlet.ext.virtuallinks.view");
return mapping.findForward("portlet.ext.virtuallinks.view");
}
else {
if (UtilMethods.isSet(req.getParameter("query"))){
if(UtilMethods.isSet(req.getParameter("host_name"))){
hostId =req.getParameter("host_name");
}
Host h = hostAPI.find(hostId, user, false);
List<VirtualLink> listVar = virtualLinkAPI.getVirtualLinks(req.getParameter("query"), url, orderby);
List<VirtualLink> listV = new ArrayList<VirtualLink>();
Iterator listvs = listVar.iterator();
if(h != null && InodeUtils.isSet(h.getInode()))
{
while (listvs .hasNext()) {
VirtualLink next = (VirtualLink) listvs .next();
if (next.getUrl().startsWith(h.getHostname()) || (next.getUrl().startsWith("/") && APILocator.getUserAPI().isCMSAdmin(user))){
listV.add(next);
}
}
}
else{
while (listvs .hasNext()) {
VirtualLink next = (VirtualLink) listvs .next();
if (next.getUrl().startsWith("/") && APILocator.getUserAPI().isCMSAdmin(user)){
listV.add(next);
}
}
}
//listV =VirtualLinkFactory.checkListForCreateVirtualLinkspermission(listV, user);
int totalVLinksToDisplay = listV.size();
req.setAttribute(WebKeys.VIRTUAL_LINK_LIST_VIEW, listV);
req.setAttribute("host_list", hosts);
return mapping.findForward("portlet.ext.virtuallinks.view_virtuallinks");
}
else{
List<VirtualLink> listTemp = new ArrayList<VirtualLink>();
List<VirtualLink> list = new ArrayList<VirtualLink>();
Host h = hostAPI.find(hostId, user, false);
if (InodeUtils.isSet(req.getParameter("inode"))) {
HTMLPage htmlPage = (HTMLPage) InodeFactory.getInode(req.getParameter("inode"),HTMLPage.class);
Identifier identifier = APILocator.getIdentifierAPI().find(htmlPage);
listTemp = VirtualLinkFactory.getIncomingVirtualLinks(identifier.getURI());
}