//package eu.eudat.model.builder.filetransformer; // //import eu.eudat.authorization.AuthorizationFlags; //import eu.eudat.commons.XmlHandlingService; //import eu.eudat.convention.ConventionService; //import eu.eudat.data.TagEntity; //import eu.eudat.file.transformer.models.tag.TagFileTransformerModel; //import gr.cite.tools.data.builder.BuilderFactory; //import gr.cite.tools.exception.MyApplicationException; //import gr.cite.tools.logging.LoggerService; //import org.slf4j.LoggerFactory; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.config.ConfigurableBeanFactory; //import org.springframework.context.annotation.Scope; //import org.springframework.stereotype.Component; // //import java.util.ArrayList; //import java.util.EnumSet; //import java.util.List; //import java.util.Optional; // //@Component //@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) //public class TagFileTransformerBuilder extends BaseFileTransformerBuilder { // // private final BuilderFactory builderFactory; // private final XmlHandlingService xmlHandlingService; // private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); // // @Autowired // public TagFileTransformerBuilder( // ConventionService conventionService, // BuilderFactory builderFactory, XmlHandlingService xmlHandlingService) { // super(conventionService, new LoggerService(LoggerFactory.getLogger(TagFileTransformerBuilder.class))); // this.builderFactory = builderFactory; // this.xmlHandlingService = xmlHandlingService; // } // // public TagFileTransformerBuilder authorize(EnumSet values) { // this.authorize = values; // return this; // } // // @Override // protected List> buildInternal(List data) throws MyApplicationException { // this.logger.debug("building for {}", Optional.ofNullable(data).map(List::size).orElse(0)); // if (data == null || data.isEmpty()) return new ArrayList<>(); // // List> models = new ArrayList<>(); // for (TagEntity d : data) { // TagFileTransformerModel m = new TagFileTransformerModel(); // m.setId(d.getId()); // m.setLabel(d.getLabel()); // models.add(new FileTransformerBuilderItemResponse<>(m, d)); // } // this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); // return models; // } //}