public static BusinessSubscriptionEvent valueOf(final String eventString) { for (final EventType possibleEventType : EventType.values()) { if (!eventString.startsWith(possibleEventType.toString().toUpperCase())) { continue; } final String categoryString = eventString.substring(possibleEventType.toString().length() + 1, eventString.length()); if (categoryString.equals(MISC)) { return new BusinessSubscriptionEvent(possibleEventType, null); } else { return new BusinessSubscriptionEvent(possibleEventType, ProductCategory.valueOf(categoryString)); } } throw new IllegalArgumentException("Unable to parse event string: " + eventString); }
r.getString(9), // productName r.getString(10), // productType r.getString(11) == null ? null : ProductCategory.valueOf(r.getString(11)), // productCategory r.getString(12), // slug r.getString(13), // phase r.getString(18), // currency r.getLong(19) == 0 ? null : new DateTime(r.getLong(19), DateTimeZone.UTC), // startDate r.getString(20) == null ? null : SubscriptionState.valueOf(r.getString(20)) // state );
@Override public Entitlement doOperation(final CallContext ctx) throws InterruptedException, TimeoutException, EntitlementApiException { final PlanPhaseSpecifier spec = new PlanPhaseSpecifier(entitlement.getProductName(), ProductCategory.valueOf(entitlement.getProductCategory()), BillingPeriod.valueOf(entitlement.getBillingPeriod()), entitlement.getPriceList(), null); final UUID accountId = entitlement.getAccountId() != null ? UUID.fromString(entitlement.getAccountId()) : null; final LocalDate inputLocalDate = toLocalDate(accountId, requestedDate, callContext); final UUID bundleId = entitlement.getBundleId() != null ? UUID.fromString(entitlement.getBundleId()) : null; return (entitlement.getProductCategory().equals(ProductCategory.ADD_ON.toString())) ? entitlementApi.addEntitlement(bundleId, spec, inputLocalDate, callContext) : entitlementApi.createBaseEntitlement(accountId, spec, entitlement.getExternalKey(), inputLocalDate, callContext); }