/** * Creates a new description repository using the given data. * * @param configuration * The configuration to use * @param descriptionData * The description data to use * @param projectContext * The project context to use. */ public DescriptionRepository(final Configuration configuration, final DescriptionRepositoryData descriptionData, final IProjectContext projectContext) { super(configuration, projectContext); this.descriptionMap = descriptionData.getDescriptionMap(); }
/** * Creates a new color repository with the given data. * * @param configuration * The configuration to use * @param colorData * The color data to use for this repository * @param projectContext * The project context to use for this repository. */ public TraceColorRepository(final Configuration configuration, final TraceColorRepositoryData colorData, final IProjectContext projectContext) { super(configuration, projectContext); this.colorMap = colorData.getColorMap(); this.defaultColor = colorData.getDefaultColor(); this.collisionColor = colorData.getCollisionColor(); }
private void initialize() { final TraceColorRepository colorRepository = (TraceColorRepository) super.getRepository(COLOR_REPOSITORY_PORT_NAME); this.colorMap = colorRepository.getColorMap(); this.defaultColor = colorRepository.getDefaultColor(); this.collisionColor = colorRepository.getCollisionColor(); }
final String colorSpecification = parts[1]; final Color traceColor = TraceColorRepository.parseColor(colorSpecification); final Long traceId = TraceColorRepository.parseTraceId(traceName); return new TraceColorRepositoryData(colorMap, defaultColor, collisionColor); } finally { if (reader != null) {
private static DescriptionRepository prepareDescriptionRepository(final AnalysisController analysisController) { final ConcurrentMap<String, String> descriptions = new ConcurrentHashMap<String, String>(); descriptions.put(EXPECTED_ALLOCATION_COMPONENT_NAME_1, DESCRIPTION_1); descriptions.put(EXPECTED_ALLOCATION_COMPONENT_NAME_2, DESCRIPTION_2); final DescriptionRepositoryData repositoryData = new DescriptionRepositoryData(descriptions); return new DescriptionRepository(new Configuration(), repositoryData, analysisController); }
private static TraceColorRepository prepareTraceColorRepository(final AnalysisController analysisController) { final ConcurrentMap<Long, Color> colorMap = new ConcurrentHashMap<Long, Color>(); colorMap.put(TRACE_ID_1, HIGHLIGHT_COLOR); colorMap.put(TRACE_ID_2, HIGHLIGHT_COLOR_2); final TraceColorRepositoryData repositoryData = new TraceColorRepositoryData(colorMap, DEFAULT_COLOR, COLLISION_COLOR); return new TraceColorRepository(new Configuration(), repositoryData, analysisController); }
/** * Initializes a new description repository from the given file. * * @param fileName * The name of the file to use. * @param projectContext * The project context to use. * @return The initialized description repository * * @throws IOException * If an I/O error occurs */ public static DescriptionRepository createFromFile(final String fileName, final IProjectContext projectContext) throws IOException { final Configuration configuration = new Configuration(); configuration.setProperty(CONFIG_PROPERTY_NAME_DESCRIPTION_FILE_NAME, fileName); return new DescriptionRepository(configuration, DescriptionRepository.readDataFromFile(fileName), projectContext); }
/** * Initializes a trace color repository from a given file. * * @param fileName * The name of the file to read from * @param projectContext * The project context to use. * @return The initialized trace color repository * * @throws IOException * If an I/O error occurs */ public static TraceColorRepository createFromFile(final String fileName, final IProjectContext projectContext) throws IOException { final Configuration configuration = new Configuration(); configuration.setProperty(CONFIG_PROPERTY_NAME_TRACE_COLOR_FILE_NAME, fileName); return new TraceColorRepository(configuration, TraceColorRepository.readDataFromFile(fileName), projectContext); }
private static DescriptionRepositoryData readDataFromFile(final String fileName) throws IOException { BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), ENCODING)); final ConcurrentMap<String, String> descriptionMap = new ConcurrentHashMap<String, String>(); while (true) { final String currentLine = reader.readLine(); if (currentLine == null) { break; } final String[] parts = DescriptionRepository.splitLine(currentLine); if (parts == null) { continue; } final String key = parts[0]; final String description = parts[1]; descriptionMap.put(key, description); } return new DescriptionRepositoryData(descriptionMap); } finally { if (reader != null) { reader.close(); } } }
private void initialize() { final DescriptionRepository repository = (DescriptionRepository) this.getRepository(DESCRIPTION_REPOSITORY_PORT_NAME); this.decorationsMap = repository.getDescriptionMap(); }
/** * Creates a new description repository using the given configuration. * * @param configuration * The configuration to use * @param projectContext * The project context for this plugin. * * @throws IOException * If an I/O error occurs during initialization */ public TraceColorRepository(final Configuration configuration, final IProjectContext projectContext) throws IOException { this(configuration, TraceColorRepository.readDataFromFile(configuration.getStringProperty(CONFIG_PROPERTY_NAME_TRACE_COLOR_FILE_NAME)), projectContext); }
/** * Creates a new description repository using the given configuration. * * @param configuration * The configuration to use * @param projectContext * The project context for this plugin. * * @throws IOException * If an I/O error occurs during initialization */ public DescriptionRepository(final Configuration configuration, final IProjectContext projectContext) throws IOException { this(configuration, DescriptionRepository.readDataFromFile(configuration.getStringProperty(CONFIG_PROPERTY_NAME_DESCRIPTION_FILE_NAME)), projectContext); }
/** * {@inheritDoc} */ @Override protected IOriginRetentionPolicy getDesiredOriginRetentionPolicy() throws AnalysisConfigurationException { final TraceColorRepository colorRepository = (TraceColorRepository) super.getRepository(COLOR_REPOSITORY_PORT_NAME); final Set<TraceInformation> desiredTraces = new HashSet<>(); for (final Long traceId : colorRepository.getColorMap().keySet()) { desiredTraces.add(new TraceInformation(traceId, null)); } return SpecificOriginRetentionPolicy.createInstance(desiredTraces); } }
private static <P extends AbstractPlugin & IGraphOutputtingFilter<?>> TraceColoringFilter<?, ?> createTraceColoringFilter( final P predecessor, final String coloringFileName, final AnalysisController controller) throws IOException, IllegalStateException, AnalysisConfigurationException { final TraceColorRepository colorRepository = TraceColorRepository.createFromFile(coloringFileName, controller); @SuppressWarnings("rawtypes") final TraceColoringFilter<?, ?> coloringFilter = new TraceColoringFilter(new Configuration(), controller); PerformAnalysis.connectGraphFilters(predecessor, coloringFilter, controller); controller.connect(coloringFilter, TraceColoringFilter.COLOR_REPOSITORY_PORT_NAME, colorRepository); return coloringFilter; }
/** * * @param predecessor * @param descriptionsFileName * @param controller * @return * @throws IOException * @throws IllegalStateException * @throws AnalysisConfigurationException */ private static <P extends AbstractPlugin & IGraphOutputtingFilter<?>> DescriptionDecoratorFilter<?, ?, ?> createDescriptionDecoratorFilter( final P predecessor, final String descriptionsFileName, final AnalysisController controller) throws IOException, IllegalStateException, AnalysisConfigurationException { final DescriptionRepository descriptionRepository = DescriptionRepository.createFromFile(descriptionsFileName, controller); @SuppressWarnings("rawtypes") final DescriptionDecoratorFilter<?, ?, ?> descriptionFilter = new DescriptionDecoratorFilter( new Configuration(), controller); PerformAnalysis.connectGraphFilters(predecessor, descriptionFilter, controller); controller.connect(descriptionFilter, DescriptionDecoratorFilter.DESCRIPTION_REPOSITORY_PORT_NAME, descriptionRepository); return descriptionFilter; }