autotesterbase.java

来自「This is a resource based on j2me embedde」· Java 代码 · 共 573 行 · 第 1/2 页

JAVA
573
字号
             */            int reason = ije.getReason();            if ((reason != InvalidJadException.JAD_NOT_FOUND &&                reason != InvalidJadException.JAD_SERVER_NOT_FOUND) ||                    suiteId == MIDletSuite.UNUSED_SUITE_ID) {                message = "** Error installing suite (" + reason + "): " +                          messageForInvalidJadException(ije);            }        } else if (ex instanceof IOException) {            message = "** I/O Error installing suite: " + ex.getMessage();        } else {            message = "** Error installing suite: " + ex.toString();        }        if (message != null) {            displayException(Resource.getString(ResourceConstants.ERROR),                             message);            long start = System.currentTimeMillis();            long time_left = ALERT_TIMEOUT;            while (time_left > 0) {                try {                    Thread.sleep(time_left);                    time_left = 0;                } catch (InterruptedException ie) {                    long tmp = System.currentTimeMillis();                    time_left -= (tmp - start);                    start = tmp;                }            }        }    }    /**     * Display an exception to the user, with a done command.     *     * @param title exception form's title     * @param message exception message     */    void displayException(String title, String message) {        Alert a = new Alert(title, message, null, AlertType.ERROR);        // This application must log always.        Logging.report(Logging.CRITICAL, LogChannels.LC_CORE, message);        a.setTimeout(ALERT_TIMEOUT);        a.setCommandListener(this);        display.setCurrent(a);    }    /**     * Returns the class name of the first MIDlet of the newly installed     * suite.     *     * @param suiteId ID of the MIDlet Suite     * @param midletSuiteStorage MIDlet suite storage to look up properties     *     * @return an object with the class name and display name of     * the suite's MIDlet-1 property     */    static MIDletInfo getFirstMIDletOfSuite(int suiteId,            MIDletSuiteStorage midletSuiteStorage) {        MIDletSuite ms = null;        String name = null;        try {            ms = midletSuiteStorage.getMIDletSuite(suiteId, false);            name = ms.getProperty("MIDlet-1");        } catch (Exception e) {            throw new RuntimeException("midlet properties corrupted");        } finally {            if (ms != null) {                ms.close();            }        }        if (name == null) {            throw new RuntimeException("MIDlet-1 missing");        }        // found the entry now parse out the class name, and display name        return new MIDletInfo(name);    }    /**     * Returns the associated message for the given exception.     * This function is here instead of in the exception its self because     * it not need on devices, it needed only on development platforms that     * have command line interface.     *     * @param ije reason reason code for the exception     *     * @return associated message for the given reason     */    static String messageForInvalidJadException(InvalidJadException ije) {        switch (ije.getReason()) {        case InvalidJadException.MISSING_PROVIDER_CERT:        case InvalidJadException.MISSING_SUITE_NAME:        case InvalidJadException.MISSING_VENDOR:        case InvalidJadException.MISSING_VERSION:        case InvalidJadException.MISSING_JAR_URL:        case InvalidJadException.MISSING_JAR_SIZE:        case InvalidJadException.MISSING_CONFIGURATION:        case InvalidJadException.MISSING_PROFILE:            return "A required attribute is missing";        case InvalidJadException.SUITE_NAME_MISMATCH:        case InvalidJadException.VERSION_MISMATCH:        case InvalidJadException.VENDOR_MISMATCH:            return "A required suite ID attribute in the JAR manifest " +                "do not match the one in the JAD";        case InvalidJadException.ATTRIBUTE_MISMATCH:            return "The value for " + ije.getExtraData() + " in the " +                "trusted JAR manifest did not match the one in the JAD";        case InvalidJadException.CORRUPT_PROVIDER_CERT:            return "The content provider certificate cannot be decoded.";        case InvalidJadException.UNKNOWN_CA:            return "The content provider certificate issuer " +                ije.getExtraData() + " is unknown.";        case InvalidJadException.INVALID_PROVIDER_CERT:            return "The signature of the content provider certificate " +                "is invalid.";        case InvalidJadException.CORRUPT_SIGNATURE:            return "The JAR signature cannot be decoded.";        case InvalidJadException.INVALID_SIGNATURE:            return "The signature of the JAR is invalid.";        case InvalidJadException.UNSUPPORTED_CERT:            return "The content provider certificate is not a supported " +                "version.";        case InvalidJadException.EXPIRED_PROVIDER_CERT:            return "The content provider certificate is expired.";        case InvalidJadException.EXPIRED_CA_KEY:            return "The public key of " + ije.getExtraData() +                " has expired.";        case InvalidJadException.JAR_SIZE_MISMATCH:            return "The Jar downloaded was not the size in the JAD";        case InvalidJadException.OLD_VERSION:            return "The application is an older version of one that is " +                "already installed";        case InvalidJadException.NEW_VERSION:            return "The application is an newer version of one that is " +                "already installed";        case InvalidJadException.INVALID_JAD_URL:            return "The JAD URL is invalid";        case InvalidJadException.JAD_SERVER_NOT_FOUND:            return "JAD server not found";        case InvalidJadException.JAD_NOT_FOUND:            return "JAD not found";        case InvalidJadException.INVALID_JAR_URL:            return "The JAR URL in the JAD is invalid: " +                ije.getExtraData();        case InvalidJadException.JAR_SERVER_NOT_FOUND:            return "JAR server not found: " + ije.getExtraData();        case InvalidJadException.JAR_NOT_FOUND:            return "JAR not found: " + ije.getExtraData();        case InvalidJadException.CORRUPT_JAR:            return "Corrupt JAR, error while reading: " +                ije.getExtraData();        case InvalidJadException.INVALID_JAR_TYPE:            if (ije.getExtraData() != null) {                return "JAR did not have the correct media type, it had " +                    ije.getExtraData();            }            return "The server did not have a resource with an " +                "acceptable media type for the JAR URL. (code 406)";        case InvalidJadException.INVALID_JAD_TYPE:            if (ije.getExtraData() != null) {                String temp = ije.getExtraData();                if (temp.length() == 0) {                    return "JAD did not have a media type";                }                return "JAD did not have the correct media type, it had " +                    temp;            }            /*             * Should not happen, the accept field is not send             * when getting the JAD.             */            return "The server did not have a resource with an " +                "acceptable media type for the JAD URL. (code 406)";        case InvalidJadException.INVALID_KEY:            return "The attribute key [" + ije.getExtraData() +                "] is not in the proper format";        case InvalidJadException.INVALID_VALUE:            return "The value for attribute " + ije.getExtraData() +                " is not in the proper format";        case InvalidJadException.INSUFFICIENT_STORAGE:            return "There is insufficient storage to install this suite";        case InvalidJadException.UNAUTHORIZED:            return "Authentication required or failed";        case InvalidJadException.JAD_MOVED:            return "The JAD to be installed is for an existing suite, " +                "but not from the same domain as the existing one: " +                ije.getExtraData();        case InvalidJadException.CANNOT_AUTH:            return                "Cannot authenticate with the server, unsupported scheme";        case InvalidJadException.DEVICE_INCOMPATIBLE:            return "Either the configuration or profile is not supported.";        case InvalidJadException.ALREADY_INSTALLED:            return                "The JAD matches a version of a suite already installed.";        case InvalidJadException.AUTHORIZATION_FAILURE:            return "The suite is not authorized for " + ije.getExtraData();        case InvalidJadException.PUSH_DUP_FAILURE:            return "The suite is in conflict with another application " +                "listening for network data on " + ije.getExtraData();        case InvalidJadException.PUSH_FORMAT_FAILURE:            return "Push attribute in incorrectly formated: " +                ije.getExtraData();        case InvalidJadException.PUSH_PROTO_FAILURE:            return "Connection in push attribute is not supported: " +                ije.getExtraData();        case InvalidJadException.PUSH_CLASS_FAILURE:            return "The class in push attribute not in a MIDlet-<n> " +                "attribute: " + ije.getExtraData();        case InvalidJadException.TRUSTED_OVERWRITE_FAILURE:            return "Cannot update a trusted suite with an untrusted " +                "version";        case InvalidJadException.INVALID_CONTENT_HANDLER:            return "Content handler attribute(s) incorrectly formatted: " +                ije.getExtraData();        case InvalidJadException.CONTENT_HANDLER_CONFLICT:            return "Content handler would conflict with another handler: " +                ije.getExtraData();        case InvalidJadException.CA_DISABLED:            return "The application can't be authorized because " +                ije.getExtraData() + " is disabled.";        case InvalidJadException.UNSUPPORTED_CHAR_ENCODING:            return "Unsupported character encoding: " + ije.getExtraData();        case InvalidJadException.REVOKED_CERT:            return "The content provider certificate has been revoked.";        case InvalidJadException.UNKNOWN_CERT_STATUS:            return "The content provider certificate status is unknown.";        }        return ije.getMessage();    }}

⌨️ 快捷键说明

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