package org.jboss.windup.rules.apps.java.scan.operation; import java.io.File; import org.jboss.windup.config.GraphRewrite; import org.jboss.windup.config.operation.iteration.AbstractIterationOperation; import org.jboss.windup.graph.model.ApplicationArchiveModel; import org.jboss.windup.graph.model.ArchiveModel; import org.jboss.windup.graph.model.resource.FileModel; import org.jboss.windup.graph.service.GraphService; import org.ocpsoft.rewrite.context.EvaluationContext; public class AddArchiveReferenceInformation extends AbstractIterationOperation<FileModel> { private AddArchiveReferenceInformation(String variableName) { super(variableName); } public AddArchiveReferenceInformation() { super(); } public static AddArchiveReferenceInformation to(String variableName) { return new AddArchiveReferenceInformation(variableName); } @Override public void perform(GraphRewrite event, EvaluationContext context, FileModel fileResourceModel) { File file = new File(fileResourceModel.getFilePath()); ArchiveModel archiveResourceModel = GraphService.addTypeToModel(event.getGraphContext(), fileResourceModel, ArchiveModel.class); archiveResourceModel.setArchiveName(file.getName()); ApplicationArchiveModel appArchiveModel = GraphService.addTypeToModel(event.getGraphContext(), fileResourceModel, ApplicationArchiveModel.class); appArchiveModel.setApplicationName(file.getName()); } @Override public String toString() { return "AddArchiveReferenceInformation"; } }