⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http.java

📁 Software Testing Automation Framework (STAF)的开发代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                               throws STAFException
{
    // Verify the requester has at least trust level 2

    STAFResult trustResult = STAFUtil.validateTrust(
        2, fServiceName, "QUERY", fLocalMachineName, info);

    if (trustResult.rc != STAFResult.Ok) return trustResult;

    // Parse the request

    STAFCommandParseResult pResult = infoParser.parse(info.request);

    if (pResult.rc != 0)
    {
        return new STAFResult(STAFResult.InvalidRequestString,
                              pResult.errorBuffer);
    }

    // Get resolved value for SESSION option and make sure it's an integer

    STAFResult res = STAFUtil.resolveRequestVarAndCheckInt(
        SESSION, pResult.optionValue(SESSION), sHandle, info.requestNumber);

    if (res.rc != 0) return res;
    
    int sessionId = Integer.parseInt(res.result);

    // Get the session

    WebSession session;

    try
    {
        session = sessionList.getSession(sessionId);
    }
    catch (InvalidSessionIDException e)
    {
        return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
    }

    STAFMarshallingContext mc = new STAFMarshallingContext();

    String id = "";
    int idType = -1;

    if (pResult.optionTimes(ID) > 0)
    {
        // Resolve the ID option value

        res = STAFUtil.resolveRequestVar(
            pResult.optionValue(ID), sHandle, info.requestNumber);

        if (res.rc != 0) return res;

        id = res.result;
        idType = WebSession.ID_ID_TYPE;
    }
    else if (pResult.optionTimes(NAME) > 0)
    {
        // Resolve the NAME option value

        res = STAFUtil.resolveRequestVar(
            pResult.optionValue(NAME), sHandle, info.requestNumber);

        if (res.rc != 0) return res;

        id = res.result;
        idType = WebSession.NAME_ID_TYPE;
    }
    else if (pResult.optionTimes(INDEX) > 0)
    {
        // Resolve the INDEX option value

        res = STAFUtil.resolveRequestVar(
            pResult.optionValue(INDEX), sHandle, info.requestNumber);

        if (res.rc != 0) return res;

        id = res.result;
        idType = WebSession.INDEX_ID_TYPE;
    }

    if (pResult.optionTimes(DEFAULTHEADER) > 0)
    {
        // QUERY DEFAULTHEADER
        
        res = STAFUtil.resolveRequestVar(
            pResult.optionValue(DEFAULTHEADER), sHandle, info.requestNumber);

        if (res.rc != 0) return res;

        String key = res.result;

        try
        {
            return new STAFResult(STAFResult.Ok, 
                                  session.getDefaultHeaderValue(key));
        }
        catch (InvalidElementIDException e)
        {
            return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
        }
    }
    else if (pResult.optionTimes(AUTHENTICATIONHOST) > 0)
    {
        // QUERY AUTHENTICATIONHOST

        mc.setMapClassDefinition(fAuthHostMapClass);
        Map authHostMap = fAuthHostMapClass.createInstance();

        res = STAFUtil.resolveRequestVar(
            pResult.optionValue(AUTHENTICATIONHOST), sHandle,
            info.requestNumber);

        if (res.rc != 0) return res;

        String key = res.result;

        try
        {
            String[] values = session.getAuthenticationSetValues(key);
            String user = values[0];
            String password = values[1];
            String domain = values[2];
            
            if (user != null && !user.equals(""))
                authHostMap.put("user", user);

            if (password != null && !password.equals(""))
                authHostMap.put("password", "*******");

            if (domain != null && !domain.equals(""))
                authHostMap.put("domain", domain);

            mc.setRootObject(authHostMap);
        }
        catch (InvalidElementIDException e)
        {
            return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
        }
    }
    else if (pResult.optionTimes(FORM) > 0)
    {
        try
        {
            if (id.equals("") && idType == -1)
            {
                id = "1";
                idType = WebSession.INDEX_ID_TYPE;
            }
            
            if (pResult.optionTimes(CONTROLNAME) > 0)
            {
                // QUERY FORM CONTROLNAME

                mc.setMapClassDefinition(fFormControlMapClass);
                Map formMap = fFormControlMapClass.createInstance();

                res = STAFUtil.resolveRequestVar(
                    pResult.optionValue(CONTROLNAME), sHandle,
                    info.requestNumber);

                if (res.rc != 0) return res;

                String controlName = res.result;
                
                HashMap data = session.summarizeFormControl(
                    id, idType, controlName);
                
                String type     = (String)data.get(Parameter.TYPE);
                String disabled = (String)data.get(Parameter.DISABLED);
                String readOnly = (String)data.get(Parameter.READONLY);
                String value    = (String)data.get(Parameter.VALUE);

                if (type != null && !type.equals(""))
                    formMap.put("type", type);
                if (disabled != null && !disabled.equals(""))
                    formMap.put("disabled", disabled);
                if (readOnly != null && !readOnly.equals(""))
                    formMap.put("readOnly", readOnly);
                if (value != null && !value.equals(""))
                    formMap.put("value", STAFUtil.maskPrivateData(value));

                formMap.put("possibleValueList",
                            (List)data.get(Parameter.POSSIBLEVALUES));

                mc.setRootObject(formMap);
            }
            else
            {
                // QUERY FORM      (Summarize the form)

                mc.setMapClassDefinition(fFormMapClass);
                Map formMap = fFormMapClass.createInstance();

                HashMap data = session.summarizeForm(id, idType);

                String formIndex = data.get(WebElement.INDEX).toString();
                String formName  = (String)data.get(WebElement.NAME);
                String formID    = (String)data.get(WebElement.ID);
                String method    = (String)data.get(WebSession.REQUEST_METHOD);
                String action    = (String)data.get(WebSession.REQUEST_URL);

                if (formIndex != null && !formIndex.equals(""))
                    formMap.put("formIndex", formIndex);
                if (formName != null && !formName.equals(""))
                    formMap.put("formName", formName);
                if (formID != null && !formID.equals(""))
                    formMap.put("formID", formID);
                if (method != null && !method.equals(""))
                    formMap.put("method", method);
                if (action != null && !action.equals(""))
                    formMap.put("targetUrl", action);
                
                formMap.put("headerMap",
                            (HashMap)data.get(WebSession.REQUEST_HEADERS));

                mc.setRootObject(formMap);
            }
        }
        catch (InvalidElementIDException e)
        {
            return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
        }
    }
    else if (pResult.optionTimes(COOKIE) > 0)
    {
        // QUERY COOKIE

        mc.setMapClassDefinition(fCookieMapClass);
        Map cookieMap = fCookieMapClass.createInstance();

        try
        {
            HashMap data = session.summarizeCookie(id);

            String value = (String)data.get(CookieAccess.VALUE);
            String domain = (String)data.get(CookieAccess.DOMAIN);
            String path = (String)data.get(CookieAccess.PATH);
            String expirationDate = null;
             
            if (data.get(CookieAccess.EXPIRATION) != null)
                expirationDate = data.get(CookieAccess.EXPIRATION).toString();

            if (value != null && !value.equals(""))
                cookieMap.put("value", value);

            if (domain != null && !domain.equals(""))
                cookieMap.put("domain", domain);

            if (path != null && !path.equals(""))
                cookieMap.put("path", path);

            if (expirationDate != null && !expirationDate.equals(""))
                cookieMap.put("expirationDate", expirationDate);

            mc.setRootObject(cookieMap);
        }
        catch (InvalidCookieIDException e)
        {
            return new STAFResult(STAFResult.DoesNotExist, e.getMessage());

        }
    }
    else if (pResult.optionTimes(LINK) > 0)
    {
        // QUERY LINK
        
        mc.setMapClassDefinition(fLinkMapClass);
        Map linkMap = fLinkMapClass.createInstance();

        try
        {
            HashMap data = session.summarizeLink(id, idType);

            String linkName = null;
            String linkID = null;
            String href = null;

            if (data.get(WebElement.NAME) != null)
                linkName = (String)data.get(WebElement.NAME);

            if (data.get(WebElement.ID) != null)
                linkID = (String)data.get(WebElement.ID);

            if (data.get(WebLink.HREF) != null)
                href = (String)data.get(WebLink.HREF);

            linkMap.put("linkIndex", data.get(WebElement.INDEX));

            if (linkID != null && !linkID.equals(""))
                linkMap.put("linkID", linkID);
            if (linkName != null && !linkName.equals(""))
                linkMap.put("linkName", linkName);
            if (href != null && !href.equals(""))
                linkMap.put("href", href);

            mc.setRootObject(linkMap);
        }
        catch (InvalidElementIDException e)
        {
            return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
        }
    }
    else
    {
        // QUERY SESSION <Session>  (Summarize the session)

        mc.setMapClassDefinition(fSessionMapClass);
        mc.setMapClassDefinition(fSessionOwnerMapClass);
        Map sessionMap = fSessionMapClass.createInstance();
        Map ownerMap = fSessionOwnerMapClass.createInstance();
        
        HashMap data = session.getSummary();
        
        String url              = (String)data.get(WebSession.URL);
        String title            = (String)data.get(WebSession.TITLE);
        String statusCode       = (String)data.get(
            WebSession.RETURN_STATUS_CODE);
        String statusMessage    = (String)data.get(
            WebSession.RETURN_STATUS_MESSAGE);
        String cookiePolicy     = (String)data.get(WebSession.POLICY);
        String followsRedirects = (String)data.get(WebSession.REQUEST_REDIRECT);
        String ownerInstanceUUID= (String)data.get(
            WebSession.OWNER_INSTANCE_UUID);
        String ownerMachine     = (String)data.get(WebSession.OWNER_MACHINE);
        String ownerHandleName  = (String)data.get(
            WebSession.OWNER_HANDLE_NAME);
        String ownerHandle      = (String)data.get(WebSession.OWNER_HANDLE);

        if (url != null && !url.equals(""))
            sessionMap.put("url", url);
            
        if (title != null && !title.equals(""))
            sessionMap.put("title", title);
        
        if (statusCode != null && !statusCode.equals(""))
            sessionMap.put("statusCode", statusCode);

        if (statusMessage != null && !statusMessage.equals(""))
            sessionMap.put("statusMessage", statusMessage);

        if (cookiePolicy != null && !cookiePolicy.equals(""))
            sessionMap.put("cookiePolicy", cookiePolicy);

        if (followsRedirects != null && !followsRedirects.equals(""))
            sessionMap.put("followsRedirects", followsRedirects);

        ownerMap.put("instanceUUID", ownerInstanceUUID);
        ownerMap.put("machine", ownerMachine);
        ownerMap.put("handle", ownerHandle);

        if (ownerHandleName != null & !ownerHandleName.equals(""))
            ownerMap.put("handleName", ownerHandleName);

        sessionMap.put("owner", ownerMap);
            
        mc.setRootObject(sessionMap);
    }

    return new STAFResult(STAFResult.Ok, mc.marshall());
}

/*****************************************************************************/
/*                                                                           */
/* Method: handleList                                                        */
/* Description: gets a list of the requested entities.            .          */
/* Parameters: info - request info passed to acceptRequest                   */
/* Returns: STAFResult listing the requested entities                        */
/*                                                                           */
/*****************************************************************************/

private STAFResult handleList(STAFServiceInterfaceLevel30.RequestInfo info)
                              throws STAFException
{
    // Verify the requester has at least trust level 2

    STAFResult trustResult = STAFUtil.validateTrust(
        2, fServiceName, "LIST", fLocalMachineName, info);

    if (trustResult.rc != STAFResult.Ok) return trustResult;

    // Parse the result

    STAFCommandParseResult pResult = infoParser.parse(info.request);

    if (pResult.rc != 0)
    {
        return new STAFResult(STAFResult.InvalidRequestString,
                              pResult.errorBuffer);
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -