andgau

InInterceptor

Dec 7th, 2015
1,184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.03 KB | None | 0 0
  1. package es.sinjava.data;
  2.  
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.Map.Entry;
  6. import java.util.concurrent.atomic.AtomicLong;
  7.  
  8. import javax.annotation.PostConstruct;
  9.  
  10. import org.apache.cxf.message.Exchange;
  11. import org.apache.cxf.message.Message;
  12. import org.apache.cxf.phase.AbstractPhaseInterceptor;
  13. import org.apache.cxf.phase.Phase;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.stereotype.Component;
  17.  
  18. /**
  19.  * Interceptor para controlar de forma transparente lo que entra: temas de
  20.  * seguridad /etc etc
  21.  *
  22.  * @author [email protected]
  23.  *
  24.  */
  25. @Component
  26. public class InInterceptor extends AbstractPhaseInterceptor<Message> {
  27.  
  28.     private static final Logger LOG = LoggerFactory.getLogger(InInterceptor.class);
  29.  
  30.     private AtomicLong accessCounter = new AtomicLong(0);
  31.  
  32.     public InInterceptor() {
  33.         super(Phase.READ);
  34.     }
  35.  
  36.     public InInterceptor(String phase) {
  37.         super(phase);
  38.     }
  39.  
  40.     public void handleMessage(Message message) {
  41.  
  42.         LOG.debug("------ A la escucha el filtro {} ------------------------", accessCounter.getAndIncrement());
  43.         String localeQuery = (String) message.get(Message.QUERY_STRING);
  44.  
  45.         LOG.debug("La consultad de la query :" + localeQuery);
  46.  
  47.         Map<String, List<String>> headers = (Map<String, List<String>>) message.get(Message.PROTOCOL_HEADERS);
  48.         for (String head : headers.keySet()) {
  49.             // me llega en la cabera lo que quiero en el sitio apropiado
  50.             // else throw ChuckNorrisException
  51.             LOG.debug("Cabecera : " + head);
  52.         }
  53.         String endpointURL = (String) message.get(Message.PATH_INFO);
  54.         LOG.debug("Este es el metodo llamado :" + endpointURL);
  55.         LOG.debug("Consulta final {}", message.get(Message.QUERY_STRING));
  56.           Exchange exchange = message.getExchange();
  57.           for( Entry<String, Object> entry:exchange.entrySet()){
  58.               LOG.debug(entry.getKey()+ "  - " + entry.getValue().toString());
  59.           }
  60.     }
  61.     @PostConstruct
  62.     public void listening() {
  63.         LOG.debug("------ A la escucha el filtro {} ---------", accessCounter.getAndIncrement());
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment