Skip to content
Snippets Groups Projects
Commit 9f830a96 authored by Thomas Carrara's avatar Thomas Carrara
Browse files

fix coroutines (lel en fait ça marchat pas)

parent 47776b1c
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,6 @@ package com.tpKotlin.glhf.tpkotlin.dao ...@@ -3,6 +3,6 @@ package com.tpKotlin.glhf.tpkotlin.dao
import com.tpKotlin.glhf.tpkotlin.entity.Meme import com.tpKotlin.glhf.tpkotlin.entity.Meme
interface ImageAccessorDao { interface ImageAccessorDao {
fun getImg(nom: String): Any fun getMeme(nom: String): Boolean
fun saveMeme(meme: Meme) fun saveMeme(meme: Meme)
} }
\ No newline at end of file
...@@ -6,16 +6,19 @@ import com.tpKotlin.glhf.tpkotlin.entity.Meme ...@@ -6,16 +6,19 @@ import com.tpKotlin.glhf.tpkotlin.entity.Meme
import com.tpKotlin.glhf.tpkotlin.tools.FileManager import com.tpKotlin.glhf.tpkotlin.tools.FileManager
import kotlinx.coroutines.* import kotlinx.coroutines.*
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
import java.time.LocalDateTime
@Component @Component
class ImageAccessorDaoImpl : ImageAccessorDao { class ImageAccessorDaoImpl : ImageAccessorDao {
override fun getImg(nom: String) { override fun getMeme(nom: String): Boolean {
//celui qui retire çeci sera maudit pendant 3 generations (la sienne incluse)
runBlocking { runBlocking {
delay(1000L) println("" + LocalDateTime.now() + ">> on va attendre")
} //celui qui retire çeci sera maudit pendant 3 generations (la sienne incluse) //delay(1000L)
Thread.sleep(1000L)
return }
return true
} }
override fun saveMeme(meme: Meme) { override fun saveMeme(meme: Meme) {
......
...@@ -8,6 +8,7 @@ import com.tpKotlin.glhf.tpkotlin.entity.Meme ...@@ -8,6 +8,7 @@ import com.tpKotlin.glhf.tpkotlin.entity.Meme
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import com.tpKotlin.glhf.tpkotlin.dao.ImageAccessorDaoImpl import com.tpKotlin.glhf.tpkotlin.dao.ImageAccessorDaoImpl
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import java.time.LocalDateTime
@Service @Service
class DossierFavServiceImpl : DossierFavService { class DossierFavServiceImpl : DossierFavService {
...@@ -24,27 +25,39 @@ class DossierFavServiceImpl : DossierFavService { ...@@ -24,27 +25,39 @@ class DossierFavServiceImpl : DossierFavService {
override fun getAllImagesFromFav(): String { override fun getAllImagesFromFav(): String {
var liste = FavDir.getAll() var liste = FavDir.getAll()
var s: String = "" var s: String = ""
var res: Boolean = false
for (i in 0 until liste.size) { for (i in 0 until liste.size) {
s = liste.get(i).url + "&&&" + s s = liste.get(i).url + "&&&" + s
} }
for (img in liste) { for (img in liste) {
imgDao.getImg(img.nom); println("> here we go")
res = imgDao.getMeme(img.nom)
} }
return s
return if (res) s else "fail"
} }
//Truc rapide pour le 4 //Truc rapide pour le 4
override fun getAllImagesFromFavFASTER(): String { override fun getAllImagesFromFavFASTER(): String {
var liste = FavDir.getAll() var liste = FavDir.getAll()
var jobList: MutableList<Job> = mutableListOf()
var s: String = "" var s: String = ""
for (i in 0 until liste.size) { for (i in 0 until liste.size) {
s = liste.get(i).url + "&&&" + s s = liste.get(i).url + "&&&" + s
} }
runBlocking {
for (img in liste) { for (img in liste) {
GlobalScope.launch { println("> service lance l'appel DAO")
imgDao.getImg(img.nom); jobList.add(GlobalScope.launch { imgDao.getMeme(img.nom) })
}
for (myJob in jobList) {
myJob.join()
println("" + LocalDateTime.now() + " >> affichage ? " + myJob.isActive)
} }
} }
return s; return s
} }
} }
\ No newline at end of file
...@@ -16,4 +16,3 @@ meme1 https://media.giphy.com/media/QyWBTLDn9WHt0FXGJS/200w_d.gif ...@@ -16,4 +16,3 @@ meme1 https://media.giphy.com/media/QyWBTLDn9WHt0FXGJS/200w_d.gif
Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif
Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif
Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif Ricardo Milos https://media1.tenor.com/images/85caab51be730a4e1290cd99d7d6e085/tenor.gif
look https://i.ytimg.com/vi/KEkrWRHCDQU/maxresdefault.jpg"><script>window.alert('mdr_je_me_suis_hack')</script><img"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment