package org.jboss.windup.graph.model; import org.jboss.windup.graph.model.resource.FileModel; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.Property; import com.tinkerpop.frames.modules.typedgraph.TypeValue; /** * Contains the global configuration for the current Windup execution. */ @TypeValue(WindupConfigurationModel.TYPE) public interface WindupConfigurationModel extends WindupVertexFrame { String TYPE = "BaseWindupConfiguration"; String INPUT_PATH = "inputPath"; String USER_RULES_PATH = "userRulesPath"; String USER_IGNORE_PATH = "userIgnorePath"; String ONLINE_MODE = "fetchRemoteResources"; String OUTPUT_PATH = "outputPath"; String SOURCE_TECHNOLOGY = "sourceTechnology"; String TARGET_TECHNOLOGY = "targetTechnology"; String CSV_MODE = "csv"; String KEEP_WORKING_DIRECTORIES = "keepWorkDirs"; String SKIP_REPORTS_RENDERING = "skipReports"; /** * The input path to scan */ @Adjacency(label = INPUT_PATH, direction = Direction.OUT) Iterable<FileModel> getInputPaths(); /** * The input path to scan */ @Adjacency(label = INPUT_PATH, direction = Direction.OUT) void setInputPaths(Iterable<FileModel> inputPaths); /** * The input path to scan */ @Adjacency(label = INPUT_PATH, direction = Direction.OUT) void addInputPath(FileModel inputPath); /** * The location for user provided rules directories (typically Groovy or XML Rules) */ @Adjacency(label = USER_RULES_PATH, direction = Direction.OUT) void addUserRulesPath(FileModel userRulesPath); /** * The location for user provided ignore directory (list of ignored jar files) */ @Adjacency(label = USER_IGNORE_PATH, direction = Direction.OUT) void addUserIgnorePath(FileModel userIgnorePath); /** * The location for user provided rules directories (typically Groovy or XML Rules) */ @Adjacency(label = USER_RULES_PATH, direction = Direction.OUT) Iterable<FileModel> getUserRulesPaths(); /** * The location for user provided rules directories (typically Groovy or XML Rules) */ @Adjacency(label = USER_IGNORE_PATH, direction = Direction.OUT) Iterable<FileModel> getUserIgnorePaths(); /** * Where to put the report and other files produced during Windup execution. */ @Adjacency(label = OUTPUT_PATH, direction = Direction.OUT) FileModel getOutputPath(); /** * Where to put the report and other files produced during Windup execution. */ @Adjacency(label = OUTPUT_PATH, direction = Direction.OUT) void setOutputPath(FileModel outputPath); /** * Indicates whether or not to function in online mode (network access allowed) */ @Property(ONLINE_MODE) boolean isOnlineMode(); /** * Indicates whether or not to function in online mode (network access allowed) */ @Property(ONLINE_MODE) void setOnlineMode(boolean onlineMode); /** * Contains the id of the source technology (the technology being migrated from). */ @Adjacency(label = SOURCE_TECHNOLOGY, direction = Direction.OUT) Iterable<TechnologyReferenceModel> getSourceTechnologies(); /** * Contains the id of the source technology (the technology being migrated from). */ @Adjacency(label = SOURCE_TECHNOLOGY, direction = Direction.OUT) void addSourceTechnology(TechnologyReferenceModel technology); /** * Contains the id of the target technology (the technology being migrated to). */ @Adjacency(label = TARGET_TECHNOLOGY, direction = Direction.OUT) Iterable<TechnologyReferenceModel> getTargetTechnologies(); /** * Contains the id of the target technology (the technology being migrated to). */ @Adjacency(label = TARGET_TECHNOLOGY, direction = Direction.OUT) void addTargetTechnology(TechnologyReferenceModel technology); /** * Indicates whether or not to export CSV file */ @Property(CSV_MODE) boolean isExportingCSV(); /** * Indicates whether or not to export CSV file */ @Property(CSV_MODE) void setExportingCSV(boolean csv); /** * Indicates whether or not to keep working directories (graph and unzipped archive data) */ @Property(KEEP_WORKING_DIRECTORIES) Boolean isKeepWorkDirectories(); /** * Indicates whether or not to keep working directories (graph and unzipped archive data) */ @Property(KEEP_WORKING_DIRECTORIES) void setKeepWorkDirectories(Boolean keep); /** * Indicate whether skip all reports rendering * * @return */ @Property(SKIP_REPORTS_RENDERING) Boolean isSkipReportsRendering(); /** * Indicate whether skip all reports rendering * */ @Property(SKIP_REPORTS_RENDERING) void setSkipReportsRendering(Boolean skip); }