Skip to content

Instantly share code, notes, and snippets.

View lucascs's full-sized avatar

Lucas Cavalcanti lucascs

View GitHub Profile
@lucascs
lucascs / SessionCreator.java
Created August 28, 2012 21:16
SessionCreator for Spring environments
@Component
@RequestScoped
public class SessionCreator implements ComponentFactory<Session> {
private final SessionFactory factory;
private final Proxifier proxifier;
private Session session;
public SessionCreator(SessionFactory factory, Proxifier proxifier) {
this.factory = factory;
this.proxifier = proxifier;
@lucascs
lucascs / RedirectCommitInterceptor.java
Created August 15, 2012 14:05
Forcing commit on redirects
@Intercepts
public class RedirectCommitInterceptor implements Interceptor {
private Session session;
private MutableResponse response;
public RedirectCommitInterceptor(Session session, MutableResponse response) {
this.session = session;
this.response = response;
}
public boolean accept(ResourceMethod method) {
@lucascs
lucascs / MapConverter.java
Created August 1, 2012 20:00
converter for maps
@Component
public class MapConverter implements Converter { //from XStream
//unmarshal => empty
public boolean canConvert(Class type) { return Map.class.isAssignableFrom(type); }
public void marshal(Object value, HierarchicalStreamWriter writer, MarshalingContext context) {
Map<String, Object> map = (Map<String, Object>) value; //assuming this
@lucascs
lucascs / CalendarParser.scala
Created June 29, 2012 23:30
Parser de datas em Scala
package me.cavalcanti.lucas
import org.joda.time.LocalDate
import org.joda.time.format.DateTimeFormatter
import org.joda.time.format.DateTimeFormat
import scala.util.parsing.combinator.JavaTokenParsers
import org.joda.time.Period
class CalendarParser extends JavaTokenParsers {
@lucascs
lucascs / .bashrc
Created June 14, 2012 00:27
Git files
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\w$(__git_ps1 "\[\033[0;31m\](%s)")\[\033[00m\]\$ '
alias branch='git br | grep "*" | sed "s/\* //"'
alias gc='git commit -v'
alias gs='git status'
alias gp='git push origin `branch`'
alias gl='git pull origin `branch`'
alias grl='git pull --rebase origin `branch`'
alias ga='git add'
alias gb='git branch'
@lucascs
lucascs / ParametersFilter.java
Created June 1, 2012 22:04
Filter for removing blank id parameters
import java.io.IOException;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@lucascs
lucascs / DateAndTimeCalendarConverter.java
Created April 27, 2012 18:08
Calendar converter for date and time
@Convert(Calendar.class)
public class DateAndTimeCalendarConverter extends LocaleBasedCalendarConverter {
private final Localization localization;
public DateAndTimeCalendarConverter(Localization localization) {
super(localization);
this.localization = localization;
}
public Calendar convert(String value, Class<? extends Calendar> type, ResourceBundle bundle) {
if (Strings.nullToEmpty(value).length() > "dd/mm/yyyy".length()) {
@lucascs
lucascs / Jsonable.java
Created October 14, 2011 13:53
generic converter for Json -> object #VRaptor
public interface Jsonable { }
@lucascs
lucascs / LinkToHandler.java
Created July 5, 2011 02:45
Anatomia de uma solução - VRaptor linkTo para jsp
@Component
@ApplicationScoped
public class LinkToHandler implements StereotypeHandler {
private Map<String, Map<String, Linker>> linkTo = Maps.newHashMap();
private final ServletContext context;
private final Router router;
public LinkToHandler(ServletContext context, Router router) {
this.context = context;
@lucascs
lucascs / CustomJSONSerialization.java
Created July 4, 2011 18:14
overriding json serialization from VRaptor to cope with dates
import com.thoughtworks.xstream.converters.basic.DateConverter;
@Component
public class CustomJSONSerialization extends XStreamJSONSerialization {
public CustomJSONSerialization(HttpServletResponse response,TypeNameExtractor extractor, ProxyInitializer initializer) {
super(response, extractor, initializer);
}
@Override
public XStream getXStream() {