@Override public FileObject fromServer(int projectContext, URL serverURL) { String query = serverURL.getQuery(); // #219339 - strip down query and/or fragment: serverURL = WebUtils.stringToUrl(WebUtils.urlToString(serverURL, true)); if (serverURL == null) { return null; } init(); if (projectRootURL == null || webDocumentRoot == null) { return null; } WebBrowser browser = getWebBrowser(); if (browser != null) { serverURL = browser.fromBrowserURL(getWebProject(), serverURL); } String u = WebUtils.urlToString(serverURL); if (u.startsWith(projectRootURL)) { String name = u.substring(projectRootURL.length()); if (name.isEmpty()) { // name is empty - try to map server URL to one of the welcome files: return getExistingWelcomeFile(); } else { // use servlet mappings to map server URL to a project file: return convertServerURLToProjectFile(name, query); } } return null; }
@Override public FileObject fromServer(int projectContext, URL serverURL) { serverURL = WebUtils.stringToUrl(WebUtils.urlToString(serverURL, true)); if (serverURL == null) { return null; return null; String u = WebUtils.urlToString(serverURL);
@Override public FileObject fromServer(int projectContext, URL serverURL) { // #219339 - strip down query and/or fragment: serverURL = WebUtils.stringToUrl(WebUtils.urlToString(serverURL, true)); if (serverURL == null) { return null; } initProjectUrl(); if (projectRootUrl == null) { return null; } FileObject webRoot = project.getWebRootDirectory(); if (webRoot == null) { return null; } WebBrowser browser = getWebBrowser(); if (browser != null) { serverURL = browser.fromBrowserURL(project, serverURL); } String url = CommandUtils.urlToString(serverURL, true); if (url.startsWith(projectRootUrl)) { return webRoot.getFileObject(url.substring(projectRootUrl.length())); } return null; }
private void browseFile(BrowserSupport bs, FileObject fo, String fragment) { URL url; if (FileUtil.isParentOf(project.getSiteRootFolder(), fo)) { url = ServerURLMapping.toServer(project, fo); if (fragment.length() > 0) { url = WebUtils.stringToUrl(WebUtils.urlToString(url)+fragment); } bs.load(url, fo); } else { url = fo.toURL(); WebBrowser wb = project.getProjectWebBrowser(); WebBrowserFeatures features = new WebBrowserFeatures(false, false, false, false, false, false); wb.createNewBrowserPane(features).showURL(url); } } }
@Override public void showURL(URL applicationRootURL, URL urlToOpenInBrowser, FileObject context) { projectRootURL = applicationRootURL == null ? null : WebUtils.urlToString(applicationRootURL); if (projectRootURL != null && !projectRootURL.contains(".") && !projectRootURL.endsWith("/")) { projectRootURL += "/"; } if (project.getProjectDirectory().equals(context) && webProject != null) { // this is scenario of EAR project executing its Web Project; use // Web Project as context instead of EAR here: context = webProject.getProjectDirectory(); } // let browser update URL if necessary: WebBrowser browser = getWebBrowser(); if (browser != null) { urlToOpenInBrowser = browser.toBrowserURL(getWebProject(), context, urlToOpenInBrowser); browserUsageLogger.log(projectType, browser.getId(), browser.getBrowserFamily().name()); } else { WebBrowser wb = BrowserUISupport.getDefaultBrowserChoice(true); browserUsageLogger.log(projectType, wb.getId(), wb.getBrowserFamily().name()); } BrowserSupport bs = getBrowserSupport(); if (bs != null) { bs.load(urlToOpenInBrowser, context); } else { HtmlBrowser.URLDisplayer.getDefault().showURL(urlToOpenInBrowser); } }