Saturday, October 20, 2012

Image Filter for reading image

/*This filter is used to add image location into front of image file.
we can get image from name without pass full path into jsp/html
Similar 
we can do for js and css file also
.
*/
import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;





public class ImageFilter implements Filter {



     */

    public ImageFilter() {

        // TODO Auto-generated constructor stub

    }



                /**

                * @see Filter#destroy()

                */

                public void destroy() {
S
                                // TODO Auto-generated method stub

                }



                /**

                * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)

                */

                public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

                                // TODO Auto-generated method stub

                                // place your code here

                                try

                                {



                                final HttpServletRequest req = (HttpServletRequest) request;

                                String imageName= RequestParser.getImageName(RequestParser.getCleanURI(req.getRequestURI()));

                                if(imageName!=null){
// used for location of image
                                                request.getRequestDispatcher("/WEB-INF/resources/images"+imageName).forward(request, response);

                                }

                                else{

                                                //return blank page here

                                                chain.doFilter(request, response);

                                }

                                }

                                catch(Exception exception)

                                {

                                                exception.printStackTrace();

                                }

                }



                /**

                * @see Filter#init(FilterConfig)

                */

                public void init(FilterConfig fConfig) throws ServletException {

                                // TODO Auto-generated method stub

                }



}

/****************************************************************/



import java.util.StringTokenizer;

/**

*


public  abstract class RequestParser {

              

               
                    /**

                     *

                     * @param URI

                     * @return clear uri from the requested uri, after removing project name

                     */

                    static final String getCleanURI(String URI) {



                        if (isURIOk(URI)) {

                            StringTokenizer tokens = new StringTokenizer(URI, "/");

                            StringBuilder cleanURI = new StringBuilder();

                            boolean first = true;

                            while (tokens.hasMoreElements()) {

                                //leave first token, or apply some other logic here so u can remove first part of uri

                                if (first) {

                                    tokens.nextElement();

                                    first = false;

                                    continue;

                                }

                                cleanURI.append("/");

                                cleanURI.append(tokens.nextElement());

                            }

                            return cleanURI.toString();

                        }

                        return null;

                    }



                    /**

                     *

                     * @param URI

                     * @return

                     * return image name parsing after image url

                     */

                    static final String getImageName(String URI) {

                        return (isURIOk(URI)) ? URI : null;

                    }



                

                    /**

                     *

                     * @param URI

                     * @return

                     * check if uri is ok or not

                     */

                    static final boolean isURIOk(String URI) {

                        return ((URI == null || URI.indexOf(".") == -1 || URI.indexOf("/") == -1)) ? false : true;

                    }



}
/***********************************************************/
 /*into web.xml*/
 <filter>
        <filter-name>ImageFilter</filter-name>
        <filter-class>ImageFilter</filter-class>/* add location of filter class*/
    </filter>
    <filter-mapping>
        <filter-name>ImageFilter</filter-name>
        <url-pattern>*.png</url-pattern>
    </filter-mapping>
   
    <filter-mapping>
        <filter-name>ImageFilter</filter-name>
        <url-pattern>*.jpg</url-pattern>
    </filter-mapping>
   
    /*  add other extension also*/
   

Thursday, October 4, 2012

Executing a task at a particular time interval using Schedular

public void startSchedular()
    {
        Scheduler scheduler = null;
        try
        {
String schedularTime=30 * * * 1-7//This will run after every 30 minutes for all 7 days
            scheduler = new Scheduler();
            scheduler.schedule(schedularTime, new Runnable()
            {
                @Override
                public void run()
                {
                    readEmails();
                }
            });
            scheduler.start();
        } catch (Exception e)
        {
            e.printStackTrace();// TODO: handle exception
            scheduler.stop();
        }
    }


Spring Boot Config Server and Config Client.

 In Spring cloud config we can externalise our configuration files to some repository like GIT HUT, Amazon S3 etc. Benefit of externalising ...