Java tutorial
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"; } }