Skip to content
This repository has been archived by the owner on May 26, 2020. It is now read-only.

Commit

Permalink
add factory for the generator plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
amckenzie committed Nov 21, 2017
1 parent cfb3b61 commit 0c080d3
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 22 deletions.
2 changes: 1 addition & 1 deletion catalog-generation-plugin-it/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<id>internal-jsons</id>
<configuration>
<generatorName>
uk.gov.justice.schema.catalog.generation.MavenCatalogGenerator
uk.gov.justice.schema.catalog.generation.maven.MavenCatalogGeneratorFactory
</generatorName>
<parserName>
uk.gov.justice.schema.catalog.generation.io.parser.ListOfUriParser
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
package uk.gov.justice.schema.catalog.generation;
package uk.gov.justice.schema.catalog.generation.maven;

import uk.gov.justice.maven.generator.io.files.parser.core.Generator;
import uk.gov.justice.maven.generator.io.files.parser.core.GeneratorConfig;
import uk.gov.justice.schema.catalog.generation.maven.CatalogGeneratorProperties;
import uk.gov.justice.schema.catalog.generation.CatalogGenerationRunner;
import uk.gov.justice.schema.catalog.generation.ObjectFactory;

import java.net.URI;
import java.nio.file.Path;
import java.util.List;

import com.google.common.annotations.VisibleForTesting;

public class MavenCatalogGenerator implements Generator<List<URI>> {

private final ObjectFactory objectFactory;

public MavenCatalogGenerator() {
this(new ObjectFactory());
}

@VisibleForTesting
public MavenCatalogGenerator(final ObjectFactory objectFactory) {
this.objectFactory = objectFactory;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package uk.gov.justice.schema.catalog.generation.maven;

import uk.gov.justice.maven.generator.io.files.parser.core.Generator;
import uk.gov.justice.maven.generator.io.files.parser.core.GeneratorFactory;
import uk.gov.justice.schema.catalog.generation.ObjectFactory;

import java.net.URI;
import java.util.List;

public class MavenCatalogGeneratorFactory implements GeneratorFactory<List<URI>> {

@Override
public Generator<List<URI>> create() {
return new MavenCatalogGenerator(new ObjectFactory());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package uk.gov.justice.schema.catalog.generation.maven;

import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertThat;

import uk.gov.justice.maven.generator.io.files.parser.core.Generator;

import java.net.URI;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.runners.MockitoJUnitRunner;


@RunWith(MockitoJUnitRunner.class)
public class MavenCatalogGeneratorFactoryTest {

@InjectMocks
private MavenCatalogGeneratorFactory mavenCatalogGeneratorFactory;

@Test
public void shouldCreateAMavenCatalogGenerator() throws Exception {

final Generator<List<URI>> generator = mavenCatalogGeneratorFactory.create();

assertThat(generator, is(notNullValue()));
assertThat(generator, is(instanceOf(MavenCatalogGenerator.class)));
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
package uk.gov.justice.schema.catalog.generation;
package uk.gov.justice.schema.catalog.generation.maven;

import static java.util.Collections.singletonList;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import uk.gov.justice.maven.generator.io.files.parser.core.GeneratorConfig;
import uk.gov.justice.schema.catalog.generation.maven.CatalogGeneratorProperties;
import uk.gov.justice.schema.catalog.generation.CatalogGenerationRunner;
import uk.gov.justice.schema.catalog.generation.ObjectFactory;

import java.net.URI;
import java.nio.file.Path;
Expand Down Expand Up @@ -53,9 +51,4 @@ public void shouldInstantiateAndRunTheCatalogGeneration() throws Exception {

verify(catalogGenerationRunner).generateCatalog(catalogName, schemaFiles, catalogGenerationPath, jsonSchemaPath);
}

@Test
public void shouldAddThisTestToStopCoverallsFromWhingeing() throws Exception {
assertThat(new MavenCatalogGenerator(), is(instanceOf(MavenCatalogGenerator.class)));
}
}
2 changes: 1 addition & 1 deletion schema-example-context/schema-example-command-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<id>internal-jsons</id>
<configuration>
<generatorName>
uk.gov.justice.schema.catalog.generation.MavenCatalogGenerator
uk.gov.justice.schema.catalog.generation.maven.MavenCatalogGeneratorFactory
</generatorName>
<parserName>
uk.gov.justice.schema.catalog.generation.io.parser.ListOfUriParser
Expand Down
2 changes: 1 addition & 1 deletion schema-example-context/schema-example-standards/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<id>internal-jsons</id>
<configuration>
<generatorName>
uk.gov.justice.schema.catalog.generation.MavenCatalogGenerator
uk.gov.justice.schema.catalog.generation.maven.MavenCatalogGeneratorFactory
</generatorName>
<parserName>
uk.gov.justice.schema.catalog.generation.io.parser.ListOfUriParser
Expand Down

0 comments on commit 0c080d3

Please sign in to comment.