Skip to content

Instantly share code, notes, and snippets.

View tasdemirbahadir's full-sized avatar
🎯
Focusing

Bahadir Tasdemir tasdemirbahadir

🎯
Focusing
View GitHub Profile
@tasdemirbahadir
tasdemirbahadir / SpringServiceThread.java
Last active July 28, 2016 07:37
Using Threads Via Spring Services
/*
* By the design pattern below, you can easily run any code blocks on a Service in Spring MVC.
* This provides a easy usage way of threads, high code maintainability and readability.
*/
public class SpringServiceThread {
@Service
public class ThreadService {
@tasdemirbahadir
tasdemirbahadir / SetNullableValue.java
Last active July 28, 2016 07:39
Set Nullable Value to the PreparedStatement Easily
/** Design pattern below provides setting nullable values to the prepared statement easily
* Set nullable value to PreparedStatement
* @param ps PreparedStatement object
* @param value Value to set
* @param type Type of the value at DBMS (ex: Types.VARCHAR)
* @param index Index of the value inside query string
* @return Given PreparedStatement object with the value set
* @throws SQLException
* @throws TypeConstraintException If the type of the given value not found
*/
@tasdemirbahadir
tasdemirbahadir / RecordsWithBooleanIndicatesIfContainsOneOfOneToManyRecords.sql
Last active July 28, 2016 07:41
Check if records have any record inside a one-to-many relation table or not
SELECT
t.field1,
t.field2,
contains.id is not null contains_record
FROM
table t
LEFT JOIN
(select tom.* from table_one_to_many_relation tom where tom.id = 1) contains on contains.table_id = t.id
@tasdemirbahadir
tasdemirbahadir / gist:24a13440c01c148d8e43d336add49c5a
Created January 13, 2017 17:23
Java Object Collection To String With Delimiter and Optional Field Usage For Object Values
/**
* Convert list to string with delimiter
* @param <T> class of the collection
* @param values Given long values
* @param classTypeParam Pass class type to get fields, do not set null
* @param fieldName Name of the field of the object to get value of
* @param delimiter Given delimiter
* @return ({1L,3L,5L} + Long.class + null + ",") --> ("1,3,5")
* ({{id:1},{id:2},{id:3}} + ObjectClass.class + "id" + ",") --> ("1,2,3")
*/
// source: http://stackoverflow.com/a/2641047/1201725
//
// [name] is the name of the event "click", "mouseover", ..
// same as you'd pass it to bind()
// [fn] is the handler function
$.fn.bindFirst = function(name, fn) {
// bind as you normally would
// don't want to miss out on any jQuery magic
this.on(name, fn);
@tasdemirbahadir
tasdemirbahadir / Java8ListToMapWithDuplicateKeys
Created July 5, 2018 06:18
Java8 -> Convert list to a map where list contains duplicate keys
aList.stream()
.collect(Collectors.groupingBy(AnObject::getKeyField, toDescSortedList()))
.values()
.stream()
.map(list -> list.get(0))
.collect(Collectors.toMap(AnObject::getKeyField, AnObject::getValueField));
private static <AnObject> Collector<AnObject,?,List<AnObject>> toDescSortedList() {
return Collectors.collectingAndThen(
Collectors.toCollection(ArrayList::new), list -> {
@tasdemirbahadir
tasdemirbahadir / LyricsFor99BottlesOfBeer.kt
Last active October 9, 2018 13:40
My 99 Bottles of Beer Lyrics in Kotlin PL. Aided with the source: http://bit.ly/2Nvjh9f
fun main(args: Array<String>) {
printSongLyrics(99)
}
fun printSongLyrics(bottlesSize: Int) {
if (bottlesSize < 0) {
println("Do not enter negative values!")
return
}
@tasdemirbahadir
tasdemirbahadir / DateTimeZoneConvertionUtils.java
Created April 3, 2019 08:04
Convert java.util.Date time zone between UTC and Turkish time zones.
private static final ZoneId TURKEY_ZONE_ID = ZoneId.of("Turkey");
private static final ZoneId UTC_ZONE_ID = ZoneId.of("UTC");
public static Date convertTurkeyToUTC(Date date) {
return Date.from(date.toInstant().atZone(UTC_ZONE_ID).toLocalDateTime().atZone(TURKEY_ZONE_ID).toInstant());
}
public static Date convertUTCToTurkey(Date date) {
return Date.from(date.toInstant().atZone(TURKEY_ZONE_ID).toLocalDateTime().atZone(UTC_ZONE_ID).toInstant());
}
@tasdemirbahadir
tasdemirbahadir / scheduler_service_init_jobs.java
Created December 2, 2019 16:17
scheduler_service_init_jobs.java
@PostConstruct
public void initialize() {
repository.findAllByActive(true).forEach(eachJob -> {
taskScheduler.schedule(() -> service.execute(eachJob), new CronTrigger(eachJob.getCronExpression()));
});
}
@tasdemirbahadir
tasdemirbahadir / scheduler_service_define_job.sql
Created December 2, 2019 16:19
scheduler_service_define_job.sql
INSERT INTO scheduled_jobs (ID,NAME,application,job_type,cron_expression,created_date,last_modified_date,active,url)
VALUES (nextval('seq_scheduled_jobs'),'Sample bean scheduled job','test-application','bean_scheduled_job','0 0/5 * * * ?',now(),now(),TRUE,'http://localhost:6060');
INSERT INTO bean_scheduled_jobs VALUES (currval('seq_scheduled_jobs'),'sampleJobService','invoke');