com.plm.util.RCSRMInterfaceConstants.java Source code

Java tutorial

Introduction

Here is the source code for com.plm.util.RCSRMInterfaceConstants.java

Source

package com.plm.util;

import java.text.SimpleDateFormat;
import java.util.Arrays;

import org.apache.commons.lang.ArrayUtils;

public final class RCSRMInterfaceConstants {
    public static final SimpleDateFormat PROVIDER_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    public static final SimpleDateFormat RUN_TIME_FORMAT = new SimpleDateFormat("HH:mm:ss");
    public static final SimpleDateFormat DISPLAY_RUN_TIME_FORMAT = new SimpleDateFormat("HH:mm");
    public static final String MULTIPLE_APP_DATA_SEPARATOR = "|";

    // Config Interface Status Code
    public class StatusCode {
        public static final int SUCCESS = 100;
        public static final int ERROR = 101;
        public static final int INVALID_XML = 102;
        public static final int RM_NOT_PRESENT = 103;
        public static final int VALIDATION_FAILED = 104;
        public static final int IP_ADDRESS_MISMATCH = 105;
        public static final int RM_ID_MISMATCH = 106;
        public static final int LICENSE_INVALID = 107;
    }

    // Types of RM
    public class RMType {
        public static final String ISA = "ISA";
        public static final String ETV = "ETV";
        public static final String L2V = "L2V";
        public static final String CMI = "CMI";
        public static final String CMI_ABR = "CMI-ABR";
    }

    public class RMMode {
        public static final String RTI_MODE = "RTI";
        public static final String VOD_MODE = "VOD";
        public static final String QC_MODE = "QC";
        public static final String RTI_VOD_MODE = "RTI & VOD";
    }

    public class ChannelLocation {
        public static final String LOCAL = "Local";
        public static final String CENTRAL = "Central";
    }

    public class COMMUNICATION_PROTOCOL {
        public static final String HTTP = "http";
        public static final String HTTPS = "https";
    }

    public class Separators {
        public static final String SEPARATOR_COLONS = "::";
        public static final String SEPARATOR_HASHES = "##";
        public static final String SEPARATOR_COMMA = ",";
    }

    public static interface TrialUseFieldAssetType {
        //Do not change this value. Sort order depends on this value.
        public static final Integer MOVIE_ASSET_VALUE = 1;
        public static final Integer PACKAGE_ASSET_VALUE = 2;
        public static final Integer TITLE_ASSET_VALUE = 3;
        public static final Integer POSTER_ASSET_VALUE = 4;
    }

    public class RecordHDContent {
        public static final String Y = "Y";
        public static final String N = "N";
        public static final String NO_VALUE = "";
    }

    public static class RecordingPriority {
        public static final Byte ALL = -1;
        public static final Byte LOW = 0;
        public static final Byte MEDIUM = 1;
        public static final Byte HIGH = 2;
    }

    public static class RecordingLogFlagValue {
        public static final int NO_VALUE = 0;
        public static final int YES = 1;
        public static final int NO = 2;
    }

    public static class SubComponentType {
        public static final String RTC = "RTC";
        public static final String DOWNSTREAM = "DOWNSTREAM";
    }

    public static boolean isValidRecordHDContentValue(String value) {
        if (value != null) {
            value = value.trim();
            if (RecordHDContent.Y.equalsIgnoreCase(value) || RecordHDContent.N.equalsIgnoreCase(value)
                    || RecordHDContent.NO_VALUE.equalsIgnoreCase(value)) {
                return true;
            }
        }
        return false;
    }

    public class RecordingState {
        // static Recording States
        public static final int InvalidRecording = 0;
        public static final int Pending = 200;
        public static final int Locked = 201;
        public static final int Capturing = 202;
        public static final int Capture_Complete = 203;
        public static final int Archived = 204;
        public static final int CaptureFailed = 205;
        public static final int CapturePending = 206;
        public static final int Provisioning = 207;
        public static final int Provisioned = 208;
        public static final int RtiWaitingForFtpContentPushToComplete = 209;
        public static final int RtiFtpContentPushCompleted = 210;
        public static final int Completed = 211;
        public static final int RtiFtpContentPushPartial = 212;
        public static final int PartialSuccess = 213;
        public static final int AllCapturePending = 214;
        public static final int SomeCapturePendingSomeCapturing = 215;
        public static final int AllCapturing = 216;
        public static final int SomeCapturePendingSomeCaptureComplete = 217;
        public static final int SomeCapturePendingSomeCaptureFailed = 218;
        public static final int SomeCapturingSomeCaptureComplete = 219;
        public static final int SomeCapturingSomeCaptureFailed = 220;
        public static final int AllCaptureComplete = 221;
        public static final int SomeCaptureCompleteSomeCaptureFailed = 222;
        public static final int AllCaptureFailed = 223;
        public static final int SomeCaptureExtendedSomeFailed = 224;
        public static final int AllCaptureExtendFailed = 225;
        public static final int Cancelled = 300;
        public static final int Stopped = 301;
        public static final int DistributionFailure = 400;
        public static final int SourceFailure = 401;
        public static final int SetupFailure = 402;
        public static final int SendFailed = 500;
        public static final int CaptureScheduleRequestFailed = 501;
        public static final int ProvisioningRequestFailed = 502;
        public static final int CapacityOverflow = 503;
        public static final int PoolCapacityOverflow = 504;
        public static final int CaptureExtendRequestFailed = 505;
        public static final int CaptureDeleteRequestFailed = 506;
        public static final int RtiFtpContentPushFailed = 507;
        public static final int UpdateFailed = 508;
        public static final int AdiXmlSiteFailed = 509;
        public static final int AlreadyProcessed = 510;
        public static final int RtiZeroFtpPushURLs = 511;
        public static final int RecordingRejected = 599;
        public static final int RecordingTimedOut = 600;

        /**
         * Returns a textual description of numbered state
         * @param state - Integer object representing state - expected to be one of the constants defined in this class
         * @return Textual description of the state
         */
        public String getState(Integer state) {
            String retVal = "";
            switch (state) {
            case InvalidRecording:
                retVal = "Invalid Recording";
                break;
            case Pending:
                retVal = "Pending";
                break;
            case Locked:
                retVal = "Locked";
                break;
            case Capturing:
                retVal = "Capturing";
                break;
            case Capture_Complete:
                retVal = "Capture Completed";
                break;
            case Archived:
                retVal = "Archived";
                break;
            case CaptureFailed:
                retVal = "Capture Failed";
                break;
            case CapturePending:
                retVal = "Capture Pending";
                break;
            case Provisioning:
                retVal = "Provisioning";
                break;
            case Provisioned:
                retVal = "Provisioned";
                break;
            case Completed:
                retVal = "Completed";
                break;
            case PartialSuccess:
                retVal = "Partially Succeeded";
                break;
            case RtiWaitingForFtpContentPushToComplete:
                retVal = "RTI Waiting for FTP Push To Complete";
                break;
            case RtiFtpContentPushCompleted:
                retVal = "RTI FTP Push Succeeded";
                break;
            case RtiFtpContentPushPartial:
                retVal = "RTI FTP Push Partial Success";
                break;
            case RtiFtpContentPushFailed:
                retVal = "RTI FTP Push Failed";
                break;
            case RtiZeroFtpPushURLs:
                retVal = "Zero RTI FTP Push URLs";
                break;
            case Cancelled:
                retVal = "Cancelled";
                break;
            case Stopped:
                retVal = "Stopped";
                break;
            case DistributionFailure:
                retVal = "Distribution Failed";
                break;
            case SourceFailure:
                retVal = "Source Failure";
                break;
            case SetupFailure:
                retVal = "Setup Failed";
                break;
            case SendFailed:
                retVal = "Send Failed";
                break;
            case CaptureScheduleRequestFailed:
                retVal = "Capture Schedule Request Failed";
                break;
            case CaptureExtendRequestFailed:
                retVal = "Capture Extend Or Stop Request Failed";
                break;
            case CaptureDeleteRequestFailed:
                retVal = "Capture Delete Or Cancel Request Failed";
                break;
            case ProvisioningRequestFailed:
                retVal = "Provisioning Request Failed";
                break;
            case UpdateFailed:
                retVal = "Recording Update Failed";
                break;
            case CapacityOverflow:
                retVal = "Capacity Overflow";
                break;
            case PoolCapacityOverflow:
                retVal = "Pool Capacity Overflow";
                break;
            case AdiXmlSiteFailed:
                retVal = "ADI Xml Site failed";
                break;
            case AlreadyProcessed:
                retVal = "Recording already processed by RM";
                break;
            case RecordingRejected:
                retVal = "Recording Rejected";
                break;
            case RecordingTimedOut:
                retVal = "Recording Timed Out";
                break;
            case AllCapturePending:
                retVal = "All RTC Captures Pending";
                break;
            case SomeCapturePendingSomeCapturing:
                retVal = "Some RTC Captures Pending - Some RTCs Capturing";
                break;
            case AllCapturing:
                retVal = "All RTCs Capturing";
                break;
            case SomeCapturePendingSomeCaptureComplete:
                retVal = "Some RTC Captures Pending - Some RTCs Captures Completed";
                break;
            case SomeCapturePendingSomeCaptureFailed:
                retVal = "Some RTC Captures Pending - Some RTC Captures Failed";
                break;
            case SomeCapturingSomeCaptureComplete:
                retVal = "Some RTCs Capturing - Some RTCs Captures Completed";
                break;
            case SomeCapturingSomeCaptureFailed:
                retVal = "Some RTCs Capturing - Some RTC Captures Failed";
                break;
            case AllCaptureComplete:
                retVal = "All RTC Captures Completed";
                break;
            case SomeCaptureCompleteSomeCaptureFailed:
                retVal = "Some RTC Captures Completed - Some RTC Captures Failed";
                break;
            case AllCaptureFailed:
                retVal = "All RTC Captures Failed";
                break;
            case SomeCaptureExtendedSomeFailed:
                retVal = "Some RTCs Captures Extended - Some RTCs Captures Failed";
                break;
            case AllCaptureExtendFailed:
                retVal = "All RTC Extend Failed";
                break;
            default:
                retVal = state.toString();
                break;
            }
            return retVal;
        }
    }

    public static int[] getEndingStates() {
        //This has to be a sorted array
        int[] retVal = new int[] { RecordingState.Archived, RecordingState.CaptureFailed, RecordingState.Completed,
                RecordingState.PartialSuccess, RecordingState.Cancelled, RecordingState.Stopped,
                RecordingState.DistributionFailure, RecordingState.SourceFailure, RecordingState.SetupFailure,
                RecordingState.SendFailed, RecordingState.CaptureScheduleRequestFailed,
                RecordingState.RtiFtpContentPushFailed, RecordingState.RtiZeroFtpPushURLs,
                RecordingState.ProvisioningRequestFailed, RecordingState.CapacityOverflow,
                RecordingState.PoolCapacityOverflow, RecordingState.UpdateFailed, RecordingState.AdiXmlSiteFailed,
                RecordingState.AlreadyProcessed, RecordingState.AllCaptureFailed, RecordingState.RecordingRejected,
                RecordingState.RecordingTimedOut };
        Arrays.sort(retVal);
        return retVal;
    }

    public static boolean isEndingState(int recordingState) {
        return ArrayUtils.contains(getEndingStates(), recordingState);
    }

    public static boolean isRecordingActive(int recordingState) {
        //If recording is in pending state or invalid recording state or
        //has not reached one of the end state, then the recording is active.
        return (recordingState != RecordingState.InvalidRecording) && (recordingState != RecordingState.Pending)
                && (!isEndingState(recordingState));
    }

    // Recording Interface Status code
    public class RecordingRequestStatusCode {
        //Adding a constant here should add error code in RCS.
        //Otherwise RCS Scheduler will throw error code FK error
        public static final int REQUEST_ACCEPTED = 200;
        public static final int RM_SERVICES_DOWN = 777;
        public static final int RM_IN_MAINTENANCE_MODE = 778;
        //Adding a constant here should add error code in RCS.
        //Otherwise RCS Scheduler will throw error code FK error

        public static final int INVALID_REQUEST_FORMAT = 1400;
        public static final int INVALID_ADI_FORMAT = 1403;
        public static final int INVALID_SOURCE_ID = 1404;
        public static final int INVALID_RECORD_TIME_FORMAT = 1409;
        public static final int UNDEFINED = 1410;
        public static final int RESOURCE_CONSTRAINT = 1411;
        public static final int TIME_CONSTRAINT = 1412;
        public static final int INVALID_ASSET_ID = 1413;
        public static final int INVALID_FORMATTING = 1414;
        public static final int RECORDING_LOCKED = 1415;
        public static final int INVALID_LICENSING_WINDOW = 1416;
        public static final int UNSUPPORTED_DISTRIBUTION_METHOD = 1451;
        public static final int DUPLICATE_RECORDING = 1452;
        public static final int INTERNAL_SERVER_ERROR = 1500;
        //Adding a constant here should add error code in RCS.
        //Otherwise RCS Scheduler will throw error code FK error
    }

    public class RMStatusResponseCode {
        public static final int SUCCESS = 2000;
        public static final int FAILED = 2001;
    }

    public class StillImageRepository {
        public static final String DEFAULT_IMAGE_NAME = "default_recording_image";
    }
}