Package org.encuestame.config.annotations.web

Source Code of org.encuestame.config.annotations.web.EnMeWebMvcConfiguration

package org.encuestame.config.annotations.web;

import java.util.ArrayList;

import org.encuestame.business.cron.PublishScheduled;
import org.encuestame.business.cron.RemoveSpamCommentsJob;
import org.encuestame.business.cron.RemoveUnconfirmedAccountJob;
import org.encuestame.business.cron.SendNotificationsJob;
import org.encuestame.business.search.IndexFSDirectory;
import org.encuestame.business.search.IndexWriterManager;
import org.encuestame.business.search.IndexerManager;
import org.encuestame.business.search.ReIndexAttachmentsJob;
import org.encuestame.business.search.SearchAttachmentManager;
import org.encuestame.core.cron.CalculateHashTagSize;
import org.encuestame.core.cron.CalculateRelevance;
import org.encuestame.core.cron.IndexRebuilder;
import org.encuestame.core.cron.ReIndexJob;
import org.encuestame.mvc.interceptor.CheckInstallInterceptor;
import org.encuestame.persistence.exception.EnMeExpcetion;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.Scope;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.util.Assert;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;


//@EnableWebMvc
@Configuration
@EnableScheduling
@ComponentScan(basePackages = "org.encuestame")
@EnableAsync
@ImportResource({
    "classpath:/config/files/mvc-context.xml",
    "classpath:/config/files/web-flow-context.xml",
    "classpath:/config/files/websocket-context.xml"
    })
public class EnMeWebMvcConfiguration extends WebMvcConfigurerAdapter {


//  /**
//   *
//   */
//  @Autowired
//  private OpenSessionInViewInterceptor openSessionInViewInterceptor;
//
//  @Autowired
//  private EnMeMobileInterceptor enMeMobileInterceptor;
//


   /**
     *
     */
    @Autowired(required=true)
    private IndexFSDirectory indexFSDirectory;

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    @Scope("singleton")
    @Bean(name = "indexWriter", initMethod="openIndexWriter", destroyMethod="closeIndexWriter")
    public  IndexWriterManager indexWriterManager() throws EnMeExpcetion {
        final IndexWriterManager searchAttachmentManager = new IndexWriterManager();
        Assert.notNull(this.indexFSDirectory, "Index FSD Directory is null");
        searchAttachmentManager.setDirectoryStore(this.indexFSDirectory);
        return searchAttachmentManager;
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    @Scope("singleton")
    @Bean(name = "searchManager")
    public  SearchAttachmentManager searchAttachmentManager() throws EnMeExpcetion {
        final SearchAttachmentManager searchAttachmentManager = new SearchAttachmentManager();
        searchAttachmentManager.setDirectoryIndexStore(this.indexFSDirectory);
        return searchAttachmentManager;
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    @Scope("singleton")
    public @Bean(name = "indexerManager") IndexerManager indexerManager() throws EnMeExpcetion {
        final IndexerManager indexerManager = new IndexerManager();
        final java.util.List<String> list = new ArrayList<String>();
        list.add("docx");
        list.add("pdf");
        list.add("xls");
        list.add("txt");
        indexerManager.setExtensionFilesAllowed(list);
        return indexerManager;
    }


    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "reindexAttachmentJob")
    ReIndexAttachmentsJob reIndexAttachmentsJob() throws EnMeExpcetion {
        return new ReIndexAttachmentsJob();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "sendNotificationsJob")
    SendNotificationsJob sendNotificationsJob() throws EnMeExpcetion {
        return new SendNotificationsJob();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "calculateHashTagSize")
    CalculateHashTagSize calculateHashTagSize() throws EnMeExpcetion {
        return new CalculateHashTagSize();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "calculateRelevance")
    CalculateRelevance calculateRelevance() throws EnMeExpcetion {
        return new CalculateRelevance();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "removeAccountJob")
    RemoveUnconfirmedAccountJob removeUnconfirmedAccountJob()
            throws EnMeExpcetion {
        return new RemoveUnconfirmedAccountJob();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "removeSpamCommentJob")
    RemoveSpamCommentsJob removeSpamCommentsJob() throws EnMeExpcetion {
        return new RemoveSpamCommentsJob();
    }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "publishScheduled")
    PublishScheduled publishScheduled() throws EnMeExpcetion {
        return new PublishScheduled();
    }

    /**
    *
    * @return
    */
   public @Bean(name="checkInstallInterceptor") CheckInstallInterceptor checkInstallInterceptor(){
       return new CheckInstallInterceptor();
   }

    /**
     *
     * @return
     * @throws EnMeExpcetion
     */
    public @Bean(name = "reindexJob")
    ReIndexJob reIndexJob() throws EnMeExpcetion {
        ReIndexJob indexJob = new ReIndexJob();
        indexJob.setIndexRebuilder(new IndexRebuilder());
        return indexJob;
    }

    /**
     *
     * @return
     */
    public IndexFSDirectory getIndexFSDirectory() {
        return indexFSDirectory;
    }

    /**
     *
     * @param indexFSDirectory
     */
    public void setIndexFSDirectory(IndexFSDirectory indexFSDirectory) {
        this.indexFSDirectory = indexFSDirectory;
    }

//
//
//  @Autowired
//  private CheckInstallInterceptor checkInstallInterceptor;
//
//  @Autowired
//  private EnMeSecurityInterceptor enMeSecurityInterceptor;
//
//  /*
//   * (non-Javadoc)
//   * @see org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter#addResourceHandlers(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry)
//   */
//  @Override
//    public void addResourceHandlers(ResourceHandlerRegistry registry) {
//    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
//    }
//
//  /*
//   * (non-Javadoc)
//   * @see org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter#addViewControllers(org.springframework.web.servlet.config.annotation.ViewControllerRegistry)
//   */
//  @Override
//  public void addViewControllers(ViewControllerRegistry registry) {
//    registry.addViewController("/").setViewName("home");
//  }
//
//  /**
//   *
//   * @return
//   */
//  private WebContentInterceptor getWebContentInterceptor(){
//    final WebContentInterceptor contentInterceptor = new WebContentInterceptor();
//    contentInterceptor.setCacheSeconds(Integer.valueOf(EnMePlaceHolderConfigurer.getProperty("cache.period")));
//    contentInterceptor.setUseExpiresHeader(Boolean.valueOf(EnMePlaceHolderConfigurer.getProperty("cache.useExpiresHeader")));
//    contentInterceptor.setUseCacheControlHeader(Boolean.valueOf(EnMePlaceHolderConfigurer.getProperty("cache.useCacheControlHeader")));
//    contentInterceptor.setUseCacheControlNoStore(Boolean.valueOf(EnMePlaceHolderConfigurer.getProperty("ache.useCacheControlNoStore")));
//    return contentInterceptor;
//  }
//
//  /*
//   * (non-Javadoc)
//   * @see org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter#addInterceptors(org.springframework.web.servlet.config.annotation.InterceptorRegistry)
//   */
//  public void addInterceptors(InterceptorRegistry registry) {
//    registry.addInterceptor(new Messagei18nInterceptor()).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(enMeMobileInterceptor).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(this.enMeSecurityInterceptor).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(new SetupInterceptor()).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(new SignInInterceptor()).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(this.checkInstallInterceptor).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addInterceptor(getWebContentInterceptor()).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");;
//    registry.addWebRequestInterceptor(openSessionInViewInterceptor).excludePathPatterns("/resource/**").excludePathPatterns("/resources/**");
//  }
//
//  /*
//   * (non-Javadoc)
//   * @see org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter#configureMessageConverters(java.util.List)
//   */
//  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//    //images
//    final ByteArrayHttpMessageConverter arrayHttpMessageConverter = new ByteArrayHttpMessageConverter();
//    //final MediaType mediaType = new MediaType(MediaType.IMAGE_JPEG);
//    //final MediaType jsonMediaType = new MediaType("application/json");
//    final List<MediaType> supportedMediaTypes = new ArrayList<MediaType>();
//    supportedMediaTypes.add(MediaType.IMAGE_JPEG);
//    arrayHttpMessageConverter.setSupportedMediaTypes(supportedMediaTypes);
//
//    //json
//    final MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
//    final List<MediaType> jsonSupportedMediaTypes = new ArrayList<MediaType>();
//    jsonSupportedMediaTypes.add(MediaType.APPLICATION_JSON);
//    jackson2HttpMessageConverter.setSupportedMediaTypes(jsonSupportedMediaTypes);
//    jackson2HttpMessageConverter.setObjectMapper(new com.fasterxml.jackson.databind.ObjectMapper());
//
//    //converters
//    converters.add(arrayHttpMessageConverter);
//    converters.add(new StringHttpMessageConverter());
//    converters.add(new FormHttpMessageConverter());
//    converters.add(new SourceHttpMessageConverter());
//    converters.add(new EnhancedBufferedImageHttpMessageConverter());
//    converters.add(jackson2HttpMessageConverter);
//  }
//
//
//   @Override
//   public void addFormatters(FormatterRegistry formatterRegistry) {
//     //formatterRegistry.addConverter(new MyConverter());
//   }
//
//  public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
//
//  }
//
//   /**
//    *
//    * @return
//    */
//   @Bean(name="tilesResolver")
//  public ViewResolver viewResolver() {
//    UrlBasedViewResolver viewResolver = new UrlBasedViewResolver();
//    viewResolver.setViewClass(TilesView.class);
//    return viewResolver;
//  }
//
//   /**
//    *
//    * @return
//    */
////   public @Bean(name="tilesResolver") TilesViewResolver tilesViewResolver() {
////        return new TilesViewResolver();
////    }
//
//   /**
//    *
//    * @return
//    */
//    public @Bean(name="tilesConfigurer") TilesConfigurer tilesConfigurer() {
//        TilesConfigurer ret = new TilesConfigurer();
//        ret.setCheckRefresh(true);
//        ret.setDefinitions(new String[] { "/WEB-INF/layouts/tiles.xml,/WEB-INF/views/**/tiles.xml" });
//        return ret;
//    }
//
//    /**
//     *
//     * @return
//     */
//    public @Bean(name="multipartResolver") CommonsMultipartResolver setMultiPart(){
//        final CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
//        commonsMultipartResolver.setMaxUploadSize(Integer.valueOf(EnMePlaceHolderConfigurer.getProperty("application.file.upload.limit")));
//        return commonsMultipartResolver;
//    }
//
//    /**
//     *
//     * @return
//     */
//    public @Bean(name="beanNameViewResolver") BeanNameViewResolver beanNameViewResolver(){
//      final BeanNameViewResolver beanNameViewResolver = new BeanNameViewResolver();
//      return beanNameViewResolver;
//    }
//
//    /**
//     *
//     * @return
//     */
//    public @Bean(name="localeResolver") CookieLocaleResolver cookieLocaleResolver(){
//        final CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
//        cookieLocaleResolver.setCookieName("enme-locale");
//        cookieLocaleResolver.setCookieMaxAge(30);
//        return cookieLocaleResolver;
//    }
//
//    /**
//     *
//     * @return
//     */
//    public @Bean(name="jsonView") MappingJackson2JsonView jsonView(){
//      return new MappingJackson2JsonView();
//    }
//

//
//    /**
//     *
//     * @return
//     */
//    public @Bean(name="thumbnailGeneratorEngine") ThumbnailGeneratorEngineImpl generatorEngineImpl(){
//      final ImageThumbnailGeneratorImpl generatorImpl = new ImageThumbnailGeneratorImpl();
//      final ThumbnailGeneratorEngineImpl thumbnailGeneratorEngineImpl = new ThumbnailGeneratorEngineImpl();
//      thumbnailGeneratorEngineImpl.setGeneratedExtension(".jpg");
//      final List<Integer> supportedSizes = new ArrayList<Integer>();
//      supportedSizes.add(900);
//      supportedSizes.add(375);
//      supportedSizes.add(256);
//      supportedSizes.add(128);
//      supportedSizes.add(64);
//      supportedSizes.add(22);
//      thumbnailGeneratorEngineImpl.setSupportedSizes(supportedSizes);
//      final Map<String, ThumbnailGenerator> map = new HashMap<String, ThumbnailGenerator>();
//      map.put("image/jpeg", generatorImpl);
//      map.put("image/jpg", generatorImpl);
//      map.put("image/pjpeg", generatorImpl);
//      map.put("image/gif", generatorImpl);
//      map.put("image/png", generatorImpl);
//      map.put("image/tiff", generatorImpl);
//      map.put("image/bmp", generatorImpl);
//      thumbnailGeneratorEngineImpl.setThumbnailGenerators(map);
//      thumbnailGeneratorEngineImpl.setDefaultThumbnailGenerator(generatorImpl);
//    return thumbnailGeneratorEngineImpl;
//    }
//
}
TOP

Related Classes of org.encuestame.config.annotations.web.EnMeWebMvcConfiguration

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.