/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.coordinator.exceptions; import com.emc.storageos.svcs.errorhandling.annotations.DeclareServiceCode; import com.emc.storageos.svcs.errorhandling.annotations.MessageBundle; import com.emc.storageos.svcs.errorhandling.resources.ServiceCode; /** * This interface holds all the methods used to create an error condition in the * synchronous aspect of the controller that will be associated with an HTTP * status of 500 * <p/> * Remember to add the English message associated to the method in FatalCoodinatorExceptions.properties and use the annotation * {@link DeclareServiceCode} to set the service code associated to this error condition. You may need to create a new service code if there * is no an existing one suitable for your error condition. * <p/> * For more information or to see an example, check the Developers Guide section in the Error Handling Wiki page: * http://confluence.lab.voyence.com/display/OS/ ErrorHandling#ErrorHandling-DevelopersGuide */ @MessageBundle public interface FatalCoordinatorExceptions { @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException errorConnectingCoordinatorService( final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToDecodeLicense(final Throwable e); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToDecodeDataFromCoordinator( final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToConnectToEndpoint(final Throwable lastError); @DeclareServiceCode(ServiceCode.IO_ERROR) public FatalCoordinatorException unableToCreateServerIDDirectories( final String dirAbsolutePath); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException endPointUnavailable(); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToBuildZKConnector(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToDeserialize(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToSerialize(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToRemoveConfiguration( final String configuration, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToListAllConfigurationForKind( final String kind, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToFindConfigurationForKind(final String kind, final String configurationId, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToFindTheState(final String key, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToGetWorkPool(final String poolName, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToGetLock(final String lockName, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToGetPersistentLock(final String lockName, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException clientNameCannotBeNull(); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException invalidKey(); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException invalidProperties(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToConnectToServiceRegistrationEndpoint( final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToPersistTheConfiguration(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToPersistTheState(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToStartDistributedQueue(); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToStartDistributedQueue(final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException failedToStartDistributedSemaphore( final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException exceedingLimit(final String of, final Number limit); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException dataManagerPathOutOfBounds(final String path, final String basePath); @DeclareServiceCode(ServiceCode.COORDINATOR_DECODING_ERROR) public DecodingException decodingError(final String parameter); @DeclareServiceCode(ServiceCode.COORDINATOR_INVALID_REPO_INFO) public InvalidRepositoryInfoException invalidRepoInfoError(final String parameter); @DeclareServiceCode(ServiceCode.SYS_INTERNAL_INVALID_SOFTWARE_VERSION) public InvalidSoftwareVersionException invalidSoftwareVersion(final String parameter); @DeclareServiceCode(ServiceCode.COORDINATOR_NOTCONNECTABLE_ERROR) public NotConnectableException notConnectableError(final String parameter); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToRemoveTheState(final String key, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToCreateInstanceOfTargetInfo(final String className, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToDeletePath(String path, final Throwable cause); @DeclareServiceCode(ServiceCode.COORDINATOR_ERROR) public FatalCoordinatorException unableToCheckNodeExists(String path, final Throwable cause); }