public static boolean isTopicOfType(final String topicName, final SubscribeType type) { return type != null && topicName.startsWith(type.toString().toLowerCase()); }
private SubscribeType getTopicType(final String topic) { final String[] tokens = topic.split(Constants.REDIS_CHANNEL_TOKEN); return SubscribeType.valueOf(tokens[1].toUpperCase()); }
public static boolean isTopicOfType(final String topicName, final SubscribeType type) { final String prefixToCompare = PubSubConstants.REDIS_CHANNEL_TOKEN.concat(type.name().toLowerCase()); return type != null && topicName.startsWith(prefixToCompare); }
@Override public void onPut(final SentiloRequest request, final SentiloResponse response) { LOGGER.debug("Executing subscribe PUT request"); debug(request); // The request follows the following pattern: // PUT /subscribe/{eventType}/{resourceId} // where {resourceId} may be composite (e.g. <providerId>/<sensorId>) validateResourceNumberParts(request, 2, 3); final Subscription subscription = parser.parseRequest(request); validator.validateRequestMessageOnPut(new SubscribeInputMessage(subscription)); if (subscription.getType().equals(SubscribeType.ALARM)) { subscription.setOwnerEntityId(alarmService.getAlertOwner(((AlarmSubscription) subscription).getAlertId())); } validateReadAccess(request.getEntitySource(), subscription.getOwnerEntityId()); subscribeService.subscribe(subscription); }
@Test public void _2_getAll() throws Exception { final SubscribeInputMessage message = new SubscribeInputMessage(); // Recuperamos todas las subscripciones de la entidad appTest:sólo habrá una, la creada en el // paso anterior final SubscriptionsOutputMessage response = platformTemplate.getSubscribeOps().get(message); assertNotNull(response); assertTrue(!CollectionUtils.isEmpty(response.getSubscriptions())); assertTrue(response.getSubscriptions().size() == 1); assertEquals(SubscribeType.DATA.toString(), response.getSubscriptions().get(0).getType()); }
public SubscribeType getSubscribeType(final SentiloRequest request) { SubscribeType subscribeType = null; try { final String resourcePart = request.getResourcePart(0); if (StringUtils.hasText(resourcePart)) { subscribeType = SubscribeType.valueOf(resourcePart.toUpperCase()); } } catch (final IllegalArgumentException e) { } return subscribeType; }
public static PubSubChannelPrefix translateSubscriptionType(final SubscribeType subscribeType) { return PubSubChannelPrefix.valueOf(subscribeType.name().toLowerCase()); }
private SubscriptionMessage parseSubscriptionToSubscribeMessage(final Subscription subscription) { final SubscriptionMessage message = new SubscriptionMessage(); message.setType(subscription.getType().toString()); if (subscription.getNotificationParams() != null) { message.setEndpoint(subscription.getNotificationParams().getEndpoint()); message.setMaxRetries(subscription.getNotificationParams().getMaxRetries()); message.setRetryDelay(subscription.getNotificationParams().getRetryDelay()); } switch (subscription.getType()) { case DATA: message.setProvider(((DataSubscription) subscription).getProviderId()); message.setSensor(((DataSubscription) subscription).getSensorId()); break; case ALARM: message.setAlert(((AlarmSubscription) subscription).getAlertId()); break; case ORDER: message.setProvider(((OrderSubscription) subscription).getOwnerEntityId()); message.setSensor(((OrderSubscription) subscription).getSensorId()); break; } return message; }
final String[] tokens = subscription.split(Constants.TOPIC_TOKEN); if (tokens.length > 2 && tokens.length < 5) { SubscribeType.valueOf(tokens[1].toUpperCase()); valid = true;
private static String[] getAdditionalPathTokens(PlatformClientInputMessage message) { if (message instanceof SubscribeInputMessage && ((SubscribeInputMessage) message).getType() != null) { return new String[] {((SubscribeInputMessage) message).getType().name().toLowerCase()}; } else { return null; } }