28 Şubat 2018 Çarşamba

SpringSecurity SecurityContext Arayüzü

getAuthentication metodu
Authentication nesnesi döner.
Örnek
Şöyle yaparız.
Authentication authentication = SecurityContextHolder.getContext()
  .getAuthentication();
Örnek
Şöyle yaparız.
SecurityContextHolder.getContext().getAuthentication().getPrincipal()

26 Şubat 2018 Pazartesi

SpringExpressionLanguage SpelExpressionParser Sınıfı

constructor
Şöyle yaparız.
ExpressionParser parser = new SpelExpressionParser();
parseExpression metodu
Expression nesnesi döner. Şöyle yaparız.
String input = "A";
List<String> coreTeam = Arrays.asList("A","B","C","D","E");


StandardEvaluationContext coreTeamContext = new StandardEvaluationContext(coreTeam);
coreTeamContext.setVariable("CORE_TEAM",coreTeam);
coreTeamContext.setVariable("CHEK_TEAM",input);

Expression exp40 = parser.parseExpression("#CORE_TEAM.contains(#CHECK_TEAM)");
Boolean s = exp40.getValue(coreTeamContext,Boolean.class);

SpringData Couchbase ReactiveCouchbaseRepository Arayüzü

İskelet
Şöyle yaparız.
@Repository
public interface ExampleRepository extends ReactiveCouchbaseRepository<Example, String> {

}
Bu arayüzü bulmak için şöyle yaparız.
@Configuration
@EnableReactiveCouchbaseRepositories(basePackages = { "com.examples.repository" })
public class CouchDatabaseConfig extends AbstractCouchbaseConfiguration {...}
ReactiveStream kütüphanesi için şöyle yaparız.
compile('io.reactivex:rxjava-reactive-streams')

22 Şubat 2018 Perşembe

SpringData JndiDataSourceLookup Sınıfı

constructor
Şöyle yaparız.
JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
getDataSource metodu
Örnek
Şöyle yaparız.
DataSource dataSource = dsLookup.getDataSource("java:comp/env/jdbc/QUARTZ");
Örnek
Şöyle yaparız.
String MYSQL_DATA_SOURCE = "java:jboss/MysqlDataSource";

@Bean
public DataSource dataSource() {
  JndiDataSourceLookup jndiDataSourceLookup = new JndiDataSourceLookup();
  return jndiDataSourceLookup.getDataSource(MYSQL_DATA_SOURCE);
}

21 Şubat 2018 Çarşamba

SpringBatch SqlPagingQueryProviderFactoryBean Sınıfı

Giriş
Açıklaması şöyle.
This factory detects what database implementation to use.
Kullanım
PagingQueryProvider nesnesi döner. Bu nesne JdbcPagingItemReader ile kullanılır. Şöyle yaparız.
JdbcPagingItemReader<Message> reader = new JdbcPagingItemReader<>();
reader.setDataSource(dataSource);
reader.setQueryProvider(queryProvider());
getObject metodu
Örnek
Şöyle yaparız.
@Bean
public PagingQueryProvider queryProvider() {

  SqlPagingQueryProviderFactoryBean provider = new SqlPagingQueryProviderFactoryBean();
  provider.setDataSource(dataSource);
  provider.setSelectClause(sqlSelectClause);
  provider.setFromClause(sqlFromClause);
  provider.setWhereClause(sqlWhereClause);
  provider.setSortKeys(sortByMessageIdAsc());
  
  try {
    return provider.getObject();
  } catch (Exception e) {
    ...  
  }

    return null;
}
setSortKeys metodu
Elimizde şöyle bir kod olsun
private Map<String, Order> sortByMessageIdAsc() {
  Map<String, Order> sortConfiguration = new HashMap<>();
  sortConfiguration.put("message_id", Order.ASCENDING);
  return sortConfiguration;
}
Şöyle yaparız.
provider.setSortKeys(sortByMessageIdAsc());