Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2020
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1.     private static Provider getDefaultProvider() {
  2.         // approach 1
  3.         try {
  4.             String providerClass = System.getProperty("org.joda.time.DateTimeZone.Provider");
  5.             if (providerClass != null) {
  6.                 try {
  7.                     // do not initialize the class until the type has been checked
  8.                     Class<?> cls = Class.forName(providerClass, false, DateTimeZone.class.getClassLoader());
  9.                     if (!Provider.class.isAssignableFrom(cls)) {
  10.                         throw new IllegalArgumentException("System property referred to class that does not implement " + Provider.class);
  11.                     }
  12.                     Provider provider = cls.asSubclass(Provider.class).getConstructor().newInstance();
  13.                     return validateProvider(provider);
  14.                 } catch (Exception ex) {
  15.                     throw new RuntimeException(ex);
  16.                 }
  17.             }
  18.         } catch (SecurityException ex) {
  19.             // ignored
  20.         }
  21.         // approach 2
  22.         try {
  23.             String dataFolder = System.getProperty("org.joda.time.DateTimeZone.Folder");
  24.             if (dataFolder != null) {
  25.                 try {
  26.                     Provider provider = new ZoneInfoProvider(new File(dataFolder));
  27.                     return validateProvider(provider);
  28.                 } catch (Exception ex) {
  29.                     throw new RuntimeException(ex);
  30.                 }
  31.             }
  32.         } catch (SecurityException ex) {
  33.             // ignored
  34.         }
  35.         // approach 3
  36.         try {
  37.             Provider provider = new ZoneInfoProvider(DEFAULT_TZ_DATA_PATH);
  38.             return validateProvider(provider);
  39.         } catch (Exception ex) {
  40.             ex.printStackTrace();
  41.         }
  42.         // approach 4
  43.         return new UTCProvider();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement