diff -r 773449708c84 -r 4ad59aaee882 javaextensions/pim/javasrc.s60/com/nokia/mj/impl/pim/utils/NativeError.java --- a/javaextensions/pim/javasrc.s60/com/nokia/mj/impl/pim/utils/NativeError.java Thu Sep 02 20:20:40 2010 +0300 +++ b/javaextensions/pim/javasrc.s60/com/nokia/mj/impl/pim/utils/NativeError.java Fri Sep 17 08:28:21 2010 +0300 @@ -644,7 +644,81 @@ } } } + public static void handleCreateCalendarError(int aNativeErrorCode, String aCalName) + { + + if (aNativeErrorCode == OsErrorMessage.SUCCESS) + { + return; // OK + } + + switch (aNativeErrorCode) + { + case OsErrorMessage.KERR_ARGUMENT: + { + throw new IllegalArgumentException( + "Creation of calendar failed: calendar name is invalid" + + aCalName); + } + case OsErrorMessage.KERR_BAD_NAME: + { + throw new IllegalArgumentException( + "Creation of calendar failed: calendar name is not valid " + + aCalName); + } + case OsErrorMessage.KERR_ALREADY_EXISTS: + { + throw new RuntimeException(ErrorString.CALENDAR_ALREADY_EXISTS); + } + default: + { + throw new GenericException(ErrorString.GENERAL_ERROR_COLON + aNativeErrorCode); + } + } + } + + public static void handleDeleteCalendarError(int aNativeErrorCode, String aCalName) + { + + + if (aNativeErrorCode == OsErrorMessage.SUCCESS) + { + return; // OK + } + + switch (aNativeErrorCode) + { + case OsErrorMessage.KERR_ACCESS_DENIED: + { + throw new IllegalArgumentException( + "Deletion of calendar failed: phone default calendar cannot be deleted"); + } + case OsErrorMessage.KERR_ARGUMENT: + { + // we should never end up here since the calendar name is + // verified to be not empty before making the native call + throw new IllegalArgumentException( + "Deletion of calendar failed: calendar name is null"); + } + case OsErrorMessage.KERR_NOT_FOUND: + { + throw new IllegalArgumentException( + "Deletion of calendar failed: calendar by name " + + aCalName + " cannot be found"); + } + case OsErrorMessage.KERR_BAD_NAME: + { + throw new IllegalArgumentException( + "Deletion of calendar failed: calendar name " + + aCalName + " includes a path explicitly"); + } + default: + { + throw new GenericException(ErrorString.GENERAL_ERROR_COLON + aNativeErrorCode); + } + } + } /** * Construction prohibited. */