Refine search
public void registerUri(WebScript script, String uri) Description desc = script.getDescription(); wildcard = true; if (desc.getFormatStyle() != Description.FormatStyle.argument) String uriIdx = desc.getMethod() + ":" + uri; if (index.containsKey(uriIdx)) if (!existingService.getDescription().getId().equals(desc.getId())) String msg = "Web Script document " + desc.getDescPath() + " is attempting to define the url '" + uriIdx + "' already defined by " + existingService.getDescription().getDescPath(); throw new WebScriptException(msg);
protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) { Map<String, String> templateVars = req.getServiceMatch().getTemplateVars(); WebScript webscript = req.getServiceMatch().getWebScript(); ResourceBundle webscriptRB = webscript.getResources(); .... }
public void executeScript(WebScriptRequest scriptReq, WebScriptResponse scriptRes, Authenticator auth) throws IOException { // Handle authentication of scripts on a case-by-case basis. // Currently we assume that if a webscript servlet has any authenticator // applied then it must be for some kind of remote user auth as supplied. WebScript script = scriptReq.getServiceMatch().getWebScript(); script.setURLModelFactory(getUrlModelFactory()); Description desc = script.getDescription(); RequiredAuthentication required = desc.getRequiredAuthentication(); if (auth == null || RequiredAuthentication.none == required || auth.authenticate(required, false)) { script.execute(scriptReq, scriptRes); } }
if (scriptUrl == null || scriptUrl.length() == 0) throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Script URL not specified"); if ((match != null) && (match.getWebScript().getDescription().getRequiredAuthentication().equals(RequiredAuthentication.none))) if (match == null || match.getKind() == Match.Kind.URI) throw new WebScriptException(HttpServletResponse.SC_NOT_FOUND, msg); throw new WebScriptException(HttpServletResponse.SC_METHOD_NOT_ALLOWED, msg); if (debug) logger.debug("Agent: " + scriptReq.getAgent()); final WebScript script = match.getWebScript(); final Description description = script.getDescription(); String reqFormat = scriptReq.getFormat(); String format = (reqFormat == null || reqFormat.length() == 0) ? "[undefined]" : reqFormat; Description desc = scriptReq.getServiceMatch().getWebScript().getDescription(); logger.debug("Invoking Web Script " + description.getId() + " (format " + format + ", style: " + desc.getFormatStyle() + ", default: " + desc.getDefaultFormat() + ")");
if (match != null && match.getKind() != Match.Kind.URI) Description desc = match.getWebScript().getDescription(); FormatStyle style = desc.getFormatStyle(); throw new WebScriptException("Format specified both in extension and format argument"); NegotiatedFormat[] negotiatedFormats = desc.getNegotiatedFormats(); if (accept != null && negotiatedFormats != null) if (format == null) throw new WebScriptException(HttpServletResponse.SC_NOT_ACCEPTABLE, "Cannot negotiate appropriate response format for Accept: " + accept); format = desc.getDefaultFormat();
throw new WebScriptException("Failed to search for package descriptions in store " + apiStore, e); throw new WebScriptException("Failed to read package description document " + apiStore.getBasePath() + packageDescPath, e); throw new WebScriptException("Failed to search for schema descriptions in store " + apiStore, e); Description existingDesc = existingService.getDescription(); String msg = "Web Script description document " + serviceDesc.getStorePath() + "/" + serviceDesc.getDescPath(); msg += " overridden by " + existingDesc.getStorePath() + "/" + existingDesc.getDescPath(); logger.debug(msg); serviceImpl.init(container, serviceDesc); logger.debug("Registered Web Script URL '" + serviceImpl.getDescription().getMethod() + ":" + uriTemplate + "'");
params.put("webscript", req.getServiceMatch().getWebScript().getDescription()); params.put("format", new FormatModel(container.getFormatRegistry(), req.getFormat())); params.put("args", createArgs(req)); params.put("argsM", createArgsM(req)); params.put("headers", createHeaders(req)); params.put("headersM", createHeadersM(req)); params.put("guest", req.isGuest()); params.put("url", createURLModel(req)); params.put("msg", getScriptMessage()); if (!(WebScriptRequestImpl.MULTIPART_FORM_DATA.equals(contentType) && getDescription().getMultipartProcessing() == false))
params.putAll(req.getRuntime().getTemplateParameters()); params.putAll(container.getTemplateParameters()); params.put("webscript", req.getServiceMatch().getWebScript().getDescription()); params.put("format", new FormatModel(container.getFormatRegistry(), req.getFormat())); params.put("args", createArgs(req)); params.put("argsM", createArgsM(req));
/** * Associate Web Script with Path * * @param script */ public void addScript(WebScript script) { scripts.put(script.getDescription().getId(), script); }
Map<String, String> templateVars = req.getServiceMatch().getTemplateVars(); String packagePath = "/" + templateVars.get("package"); if (path == null) throw new WebScriptException(Status.STATUS_NOT_FOUND, "Web Script Package '" + packagePath + "' not found"); if (packageDoc == null) throw new WebScriptException(Status.STATUS_NOT_FOUND, "Web Script documentation for package '" + packagePath + "' not found"); for (WebScript webscript : webscripts) TypeDescription[] requests = webscript.getDescription().getRequestTypes(); if (requests != null) TypeDescription[] responses = webscript.getDescription().getResponseTypes(); if (responses != null)
StatusTemplate statusTemplate = null; Map<String, Object> statusModel = null; String format = request.getFormat(); statusCode = we.getStatus(); statusTemplate = we.getStatusTemplate(); statusModel = we.getStatusModel(); statusModel.putAll(container.getTemplateParameters()); statusModel.put("url", createURLModel(request)); if (match != null && match.getWebScript() != null) statusModel.put("webscript", match.getWebScript().getDescription()); String mimetype = container.getFormatRegistry().getMimeType(request.getAgent(), statusTemplate.getFormat()); if (mimetype == null) logger.debug("Force success status header in response: " + request.forceSuccessStatus()); logger.debug("Sending status " + statusCode + " (Template: " + statusTemplate.getPath() + ")"); logger.debug("Rendering response: content type=" + mimetype);
@Override protected void executeScript(WebScriptRequest scriptReq, WebScriptResponse scriptRes, Authenticator auth) throws IOException { // Set Portlet title based on Web Script WebScript script = scriptReq.getServiceMatch().getWebScript(); Description desc = script.getDescription(); res.setTitle(desc.getShortName()); // Note: Do not render script if portlet window is minimized if (!WindowState.MINIMIZED.equals(req.getWindowState())) { super.executeScript(scriptReq, scriptRes, auth); } }
if (scWebscript != null) String storePath = scWebscript.getDescription().getStorePath(); String descPath = scWebscript.getDescription().getDescPath(); model.put("subComponent_resolvedWSStorePath", storePath); model.put("subComponent_resolvedWSDescPath", descPath); if (webscript != null) String storePath = webscript.getDescription().getStorePath(); String descPath = webscript.getDescription().getDescPath(); model.put("resolvedWSStorePath", storePath); model.put("resolvedWSDescPath", descPath);
if (match != null) if (match.getKind() == Match.Kind.URI) WebScript webScript = match.getWebScript(); if (webScript != null) String path = webScript.getDescription().getId() + ".head"; templateProcessor.process(validTemplatePath, model, writer); context.updateExtendingModuleDependencies(webScript.getDescription().getId(), model);
String scriptId = req.getExtensionPath(); if (scriptId == null || scriptId.length() == 0) throw new WebScriptException("Web Script Id not provided"); if (script == null) throw new WebScriptException("Web Script Id '" + scriptId + "' not found"); Map<String, String> implPaths = new HashMap<String, String>(); List<ScriptStore> modelStores = new ArrayList<ScriptStore>(); model.put("script", script.getDescription()); model.put("script_class", script.getClass().toString()); model.put("stores", modelStores); throw new WebScriptException("Failed to search for documents for script " + script.getDescription().getId() + " in store " + store, e);
Set<String> familys = webscript.getDescription().getFamilys(); if (familys != null && familys.contains(family)) values.add(new ScriptWebScript(webscript.getDescription())); values.add(new ScriptWebScript(webscript.getDescription()));
public FormatStyle getFormatStyle() { Match match = getServiceMatch(); if (match == null) { return FormatStyle.any; } FormatStyle style = match.getWebScript().getDescription().getFormatStyle(); if (style != FormatStyle.any) { return style; } else { String argFormat = getParameter(ARG_FORMAT); if (argFormat != null && argFormat.length() > 0) { return FormatStyle.argument; } else { return FormatStyle.extension; } } }
if (serviceMatch != null && serviceMatch.getWebScript().getDescription().getMultipartProcessing())
if (script.getDescription().getPackage() == null || !script.getDescription().getPackage().toString().startsWith(packageFilter)) Set<String> familys = script.getDescription().getFamilys(); String[] uris = script.getDescription().getURIs(); for (String uri : uris)
public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException String scriptId = req.getExtensionPath(); if (scriptId == null || scriptId.length() == 0) throw new WebScriptException("Web Script Id not provided"); if (script == null) throw new WebScriptException("Web Script Id '" + scriptId + "' not found"); Description desc = script.getDescription(); InputStream serviceDescIS = null; try serviceDescIS = desc.getDescDocument(); OutputStream out = res.getOutputStream(); res.setContentType(Format.XML.mimetype() + ";charset=UTF-8"); throw new WebScriptException("Failed to read Web Script description document for '" + scriptId + "'", e);