public static void write(CandidateComponentsMetadata metadata, OutputStream out) throws IOException { Properties props = new Properties(); metadata.getItems().forEach(m -> props.put(m.getType(), String.join(",", m.getStereotypes()))); props.store(out, ""); }
private void writeMetaData() { CandidateComponentsMetadata metadata = this.metadataCollector.getMetadata(); if (!metadata.getItems().isEmpty()) { try { this.metadataStore.writeMetadata(metadata); } catch (IOException ex) { throw new IllegalStateException("Failed to write metadata", ex); } } }
public void writeMetadata(CandidateComponentsMetadata metadata) throws IOException { if (!metadata.getItems().isEmpty()) { try (OutputStream outputStream = createMetadataResource().openOutputStream()) { PropertiesMarshaller.write(metadata, outputStream); } } }
private ItemMetadata getFirstItemWithType(CandidateComponentsMetadata metadata, String type) { for (ItemMetadata item : metadata.getItems()) { if (item.getType().equals(type)) { return item; } } return null; }
public CandidateComponentsMetadata getMetadata() { CandidateComponentsMetadata metadata = new CandidateComponentsMetadata(); for (ItemMetadata item : this.metadataItems) { metadata.add(item); } if (this.previousMetadata != null) { List<ItemMetadata> items = this.previousMetadata.getItems(); for (ItemMetadata item : items) { if (shouldBeMerged(item)) { metadata.add(item); } } } return metadata; }
@Test public void embeddedNonStaticCandidateAreIgnored() { CandidateComponentsMetadata metadata = compile(SampleNonStaticEmbedded.class); assertThat(metadata.getItems(), hasSize(0)); }
@Test public void noCandidate() { CandidateComponentsMetadata metadata = compile(SampleNone.class); assertThat(metadata.getItems(), hasSize(0)); }
@Test public void noAnnotation() { CandidateComponentsMetadata metadata = compile(CandidateComponentsIndexerTests.class); assertThat(metadata.getItems(), hasSize(0)); }
private void testSingleComponent(Class<?> target, Class<?>... stereotypes) { CandidateComponentsMetadata metadata = compile(target); assertThat(metadata, hasComponent(target, stereotypes)); assertThat(metadata.getItems(), hasSize(1)); }
private void testComponent(Class<?>... classes) { CandidateComponentsMetadata metadata = compile(classes); for (Class<?> c : classes) { assertThat(metadata, hasComponent(c, Component.class)); } assertThat(metadata.getItems(), hasSize(classes.length)); }
@Test public void embeddedCandidatesAreDetected() throws IOException, ClassNotFoundException { // Validate nested type structure String nestedType = "org.springframework.context.index.sample.SampleEmbedded.Another$AnotherPublicCandidate"; Class<?> type = ClassUtils.forName(nestedType, getClass().getClassLoader()); assertThat(type, sameInstance(SampleEmbedded.Another.AnotherPublicCandidate.class)); CandidateComponentsMetadata metadata = compile(SampleEmbedded.class); assertThat(metadata, hasComponent( SampleEmbedded.PublicCandidate.class, Component.class)); assertThat(metadata, hasComponent(nestedType, Component.class.getName())); assertThat(metadata.getItems(), hasSize(2)); }
@Test public void readWrite() throws IOException { CandidateComponentsMetadata metadata = new CandidateComponentsMetadata(); metadata.add(createItem("com.foo", "first", "second")); metadata.add(createItem("com.bar", "first")); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PropertiesMarshaller.write(metadata, outputStream); CandidateComponentsMetadata readMetadata = PropertiesMarshaller.read( new ByteArrayInputStream(outputStream.toByteArray())); assertThat(readMetadata, hasComponent("com.foo", "first", "second")); assertThat(readMetadata, hasComponent("com.bar", "first")); assertThat(readMetadata.getItems(), hasSize(2)); }
public static void write(CandidateComponentsMetadata metadata, OutputStream out) throws IOException { Properties props = new Properties(); metadata.getItems().forEach(m -> props.put(m.getType(), String.join(",", m.getStereotypes()))); props.store(out, ""); }
private void writeMetaData() { CandidateComponentsMetadata metadata = this.metadataCollector.getMetadata(); if (!metadata.getItems().isEmpty()) { try { this.metadataStore.writeMetadata(metadata); } catch (IOException ex) { throw new IllegalStateException("Failed to write metadata", ex); } } }
public void writeMetadata(CandidateComponentsMetadata metadata) throws IOException { if (!metadata.getItems().isEmpty()) { try (OutputStream outputStream = createMetadataResource().openOutputStream()) { PropertiesMarshaller.write(metadata, outputStream); } } }
public CandidateComponentsMetadata getMetadata() { CandidateComponentsMetadata metadata = new CandidateComponentsMetadata(); for (ItemMetadata item : this.metadataItems) { metadata.add(item); } if (this.previousMetadata != null) { List<ItemMetadata> items = this.previousMetadata.getItems(); for (ItemMetadata item : items) { if (shouldBeMerged(item)) { metadata.add(item); } } } return metadata; }