// used by My public static SubscriptionData createOrUpdateSubscription( SubscriptionData inSubscription, VObjectData inObject, boolean isAmbiant, String isoCode, String inSrc, List<String> inTimeList) throws InvalidParameterException, InvalidSettingException, InvalidSchedulingsException, MissingSettingException { final Map<String, Object> theSettings = new HashMap<String, Object>(); theSettings.put(AirHandler.LANGUAGE_SETTING, isoCode); theSettings.put(AirHandler.SOURCE_SETTING, inSrc); final List<Map<String, Object>> theSchedulings = new ArrayList<Map<String, Object>>(); if (isAmbiant) { final Map<String, Object> scheduling = new HashMap<String, Object>(); scheduling.put(SchedulingType.TYPE_KEY, SchedulingType.SCHEDULING_TYPE.Ambiant.getLabel()); theSchedulings.add(scheduling); } final Map<String, Object> scheduling = new HashMap<String, Object>(); scheduling.put(SchedulingType.TYPE_KEY, SchedulingType.SCHEDULING_TYPE.VoiceTrigger.getLabel()); scheduling.put(KeywordHandler.KEYWORD, AbstractRecoService.SMOG); theSchedulings.add(scheduling); theSchedulings.addAll( ApplicationHandlerHelper.generateDailySchedulings( inTimeList, inObject.getReference().getTimeZone().getJavaTimeZone(), true)); if (inSubscription == null) { return SubscriptionManager.createSubscription( AirHandler.AIR_APPLICATION, inObject, theSettings, theSchedulings, null); } SubscriptionManager.updateSubscription(inSubscription, theSettings, theSchedulings, null); return inSubscription; }