Skip to content

Instantly share code, notes, and snippets.

@sizovs
Last active August 29, 2015 14:06
Show Gist options
  • Save sizovs/d81323813d30c5c3b533 to your computer and use it in GitHub Desktop.
Save sizovs/d81323813d30c5c3b533 to your computer and use it in GitHub Desktop.
package fm.ask.domain.impl.question.templating;
import com.rubylight.dao.IDAOInstantiate;
import com.rubylight.dao.composite.CompositeDAOFactory;
import com.rubylight.dao.composite.SingleDAOFactoryInstanstiate;
import com.rubylight.dao.connection.IConnectionLookup;
import com.rubylight.dao.connection.IConnectionLookupFactory;
import com.rubylight.dao.observer.IDAOCallObserver;
import fm.ask.dao.AskfmDBConfigurationProvider;
import fm.ask.dao.EntityType;
import fm.ask.dao.dailyquestion.DailyQuestionDAO;
import fm.ask.dao.dailyquestion.DailyQuestionDAOImpl;
import fm.ask.dao.dailyquestion.DailyQuestionDTORowReader;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
@Component
public class DailyQuestionTemplateDAOFactory extends CompositeDAOFactory<EntityType, Long, DailyQuestionDAO> {
public static final EntityType ENTITY_TYPE = EntityType.SIMPLE_ENTITY;
public DailyQuestionTemplateDAOFactory(
AskfmDBConfigurationProvider configurationProvider,
@Qualifier("sqlConnectionLookupFactory")
IConnectionLookupFactory<EntityType> connectionLookupFactory,
IDAOCallObserver observer) {
super(configurationProvider,
connectionLookupFactory,
ENTITY_TYPE,
AskfmDBConfigurationProvider.SLAVE_POSTFIX,
new SingleDAOFactoryInstanstiate<EntityType, Long, DailyQuestionDAO>(
configurationProvider,
connectionLookupFactory,
ENTITY_TYPE,
DailyQuestionDAO.class,
new IDAOInstantiate<DailyQuestionDAO>() {
@Override
public DailyQuestionDAO instantiate(IConnectionLookup lookup) {
return new DailyQuestionDAOImpl(lookup, new DailyQuestionDTORowReader());
}
},
observer
), observer
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment