@SuppressWarnings("unchecked") @Override protected SyndesisMetadata adapt(CamelContext context, String componentId, String actionId, Map<String, Object> properties, MetaDataExtension.MetaData metadata) { try { Set<String> channels = (Set<String>) metadata.getPayload(); List<PropertyPair> channelsResult = new ArrayList<>(); channels.stream().forEach( t -> channelsResult.add(new PropertyPair(t, t)) ); return SyndesisMetadata.of( Collections.singletonMap("channel", channelsResult) ); } catch ( Exception e) { return SyndesisMetadata.EMPTY; } }
@SuppressWarnings("unchecked") @Override protected SyndesisMetadata adapt(CamelContext context, String componentId, String actionId, Map<String, Object> properties, MetaDataExtension.MetaData metadata) { try { Set<String> topicsNames = (Set<String>) metadata.getPayload(); List<PropertyPair> topicsResult = new ArrayList<>(); topicsNames.stream().forEach( t -> topicsResult.add(new PropertyPair(t, t)) ); return SyndesisMetadata.of( Collections.singletonMap("topic", topicsResult) ); } catch ( Exception e) { return SyndesisMetadata.EMPTY; } }
@SuppressWarnings("unchecked") @Override protected SyndesisMetadata adapt(CamelContext context, String componentId, String actionId, Map<String, Object> properties, MetaDataExtension.MetaData metadata) { try { Set<CalendarListEntry> calendars = (Set<CalendarListEntry>) metadata.getPayload(); List<PropertyPair> calendarResult = new ArrayList<>(); calendars.stream().forEach( t -> calendarResult.add(new PropertyPair(t.getId(), t.getSummary())) ); return SyndesisMetadata.of( Collections.singletonMap("calendarId", calendarResult) ); } catch ( Exception e) { return SyndesisMetadata.EMPTY; } }
Set<String> resourceTypes = (Set<String>) metadata.getPayload(); List<PropertyPair> resourceTypeResult = new ArrayList<>(); resourceTypes.stream().forEach(
assertThat(meta.get().getPayload()).isInstanceOf(JsonNode.class); assertThat(meta.get().getAttributes()).hasEntrySatisfying(MetaDataExtension.MetaData.JAVA_TYPE, new Condition<Object>() { @Override
@Test public void retrieveChannelListTest() { CamelContext context = new DefaultCamelContext(); SlackMetaDataExtension extension = new SlackMetaDataExtension(context); Map<String, Object> properties = new HashMap<>(); properties.put("token", "token"); Optional<MetaDataExtension.MetaData> meta = extension.meta(properties); assertThat(meta).isPresent(); assertThat(meta.get().getPayload()).isInstanceOf(HashSet.class); assertThat(meta.get().getAttributes()).hasEntrySatisfying(MetaDataExtension.MetaData.JAVA_TYPE, new Condition<Object>() { @Override public boolean matches(Object val) { return Objects.equals(String.class, val); } }); assertThat(meta.get().getAttributes()).hasEntrySatisfying(MetaDataExtension.MetaData.CONTENT_TYPE, new Condition<Object>() { @Override public boolean matches(Object val) { return Objects.equals("text/plain", val); } }); }
static ObjectSchema schemaPayload(final MetaData metadata) { final Object payload = metadata.getPayload(); if (payload instanceof ObjectSchema) { return (ObjectSchema) payload; } if (payload instanceof JsonNode) { return convertSalesforceGlobalObjectJsonToSchema((JsonNode) payload); } throw new IllegalArgumentException("Unsupported metadata payload: " + payload); } }