Calendar IO

Possible use cases

  • Promoting Appian calendars between environments
  • Give non-Designers the ability to create/modify calendars and import them into Appian

Functionality

  • Read Calendar
    • Read an already existing Appian calendar or create a new one if none exist with the given name. Returns a Calendar CDT
  • Import Appian calendar
    • Will only update Appian calendar if id and name matches
    • Similar behavior to writeToDataStoreEntity

The function: Save Calendar is deprecated as it used an old pattern bind which needs the load function which is also deprecated

Anonymous
Parents
  • Hi,

    I am not able to retrieve data using the readCalendar() function in case the timezone in the calendar is set to the IST time zone value.

    2023-08-10 12:17:55,841 [ajp-nio-0.0.0.0-8009-exec-75022] ERROR com.appiancorp.ps.calendar.functions.ReadCalendarFunction - Error build the response
    java.time.zone.ZoneRulesException: Unknown time-zone ID: IST
    	at java.time.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:272)
    	at java.time.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:227)
    	at java.time.ZoneRegion.ofId(ZoneRegion.java:120)
    	at java.time.ZoneId.of(ZoneId.java:411)
    	at java.time.ZoneId.of(ZoneId.java:359)
    	at com.appiancorp.ps.calendar.utils.FromAppianCalendar.initializeCalendar(FromAppianCalendar.java:104)
    	at com.appiancorp.ps.calendar.utils.FromAppianCalendar.overrideEntries(FromAppianCalendar.java:128)
    	at com.appiancorp.ps.calendar.utils.FromAppianCalendar.readCalendar(FromAppianCalendar.java:56)
    	at com.appiancorp.ps.calendar.functions.ReadCalendarFunction.readCalendar(ReadCalendarFunction.java:55)
    	at sun.reflect.GeneratedMethodAccessor53413.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.appiancorp.process.expression.CustomFunction$1.call(CustomFunction.java:846)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    	at com.appiancorp.process.expression.CustomFunction.evaluate(CustomFunction.java:840)
    	at com.appiancorp.process.expression.CustomFunction.evalDynamic0(CustomFunction.java:248)
    	at com.appiancorp.process.expression.CustomFunction.lambda$evalDynamic$0(CustomFunction.java:240)
    	at com.appiancorp.plugins.PluginUsageLogger.callWithPluginInformation(PluginUsageLogger.java:41)
    	at com.appiancorp.process.expression.CustomFunction.evalDynamic(CustomFunction.java:239)
    	at com.appiancorp.process.expression.CustomFunction.eval0(CustomFunction.java:208)
    	at com.appiancorp.core.expr.DefaultEvaluable.eval(DefaultEvaluable.java:213)
    	at com.appiancorp.process.expression.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:319)
    	at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.evaluateCustomerPluginFunction(FunctionCallDelegate.java:398)
    	at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.doCallWithMetrics(FunctionCallDelegate.java:365)
    	at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.eval(FunctionCallDelegate.java:336)
    	at com.appiancorp.core.expr.FunctionCallDelegate.evalCacheableFunctionCall(FunctionCallDelegate.java:140)
    	at com.appiancorp.core.expr.FunctionCallDelegate.evalFunctionCall(FunctionCallDelegate.java:105)

    Any help would be appreciated.
  • Hi, 

    From the stacktrace you can see that the error is at java level, java is saying IST isd an unknow time zone id

    TimeZone is not the same as ZoneId.... documentation: "The default set of data is supplied by the IANA Time Zone Database (TZDB). This has region IDs of the form '{area}/{city}', such as 'Europe/Paris' or 'America/New_York'."

    It depends on what you mean by IST. For example ZoneId.of("Europe/Dublin") for Irish Summer Time, ZoneId.of("Asia/Tel_Aviv") for Israel Standard TIme or ZoneId.of("Asia/Kolkata") for India Standard Time.

    hope this help

Comment
  • Hi, 

    From the stacktrace you can see that the error is at java level, java is saying IST isd an unknow time zone id

    TimeZone is not the same as ZoneId.... documentation: "The default set of data is supplied by the IANA Time Zone Database (TZDB). This has region IDs of the form '{area}/{city}', such as 'Europe/Paris' or 'America/New_York'."

    It depends on what you mean by IST. For example ZoneId.of("Europe/Dublin") for Irish Summer Time, ZoneId.of("Asia/Tel_Aviv") for Israel Standard TIme or ZoneId.of("Asia/Kolkata") for India Standard Time.

    hope this help

Children
No Data