Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit ec80b8b

Browse files
authored
Merge pull request #18 from derNiklaas/master
Add more methods to file connectors
2 parents 38e8ca3 + d699a4c commit ec80b8b

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

src/main/scala/org/codeoverflow/chatoverflow/connector/actor/FileSystemActor.scala

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,19 @@ class FileSystemActor extends Actor {
5959
}
6060
case CreateDirectory(folderName) =>
6161
try {
62-
sender ! fixPath(folderName).mkdir()
62+
sender ! fixPath(folderName).mkdirs()
63+
} catch {
64+
case _: Exception => sender ! false
65+
}
66+
case Exists(pathInResources) =>
67+
try {
68+
sender ! fixPath(pathInResources).exists
69+
} catch {
70+
case _: Exception => sender ! false
71+
}
72+
case Delete(pathInResources) =>
73+
try{
74+
sender ! fixPath(pathInResources).delete
6375
} catch {
6476
case _: Exception => sender ! false
6577
}
@@ -123,4 +135,18 @@ object FileSystemActor {
123135
*/
124136
case class CreateDirectory(folderName: String) extends ActorMessage
125137

138+
/**
139+
* Send a Exists-Object to the FileSystemActor to check if a file or folder exists
140+
*
141+
* @param pathInResources the relative Path in the resource folder
142+
*/
143+
case class Exists(pathInResources: String) extends ActorMessage
144+
145+
/**
146+
* Send a Delete-Object to the FileSystemActor to remove a file or folder
147+
*
148+
* @param pathInResources the relative Path in the resource folder
149+
*/
150+
case class Delete(pathInResources: String) extends ActorMessage
151+
126152
}

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/file/FileConnector.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ class FileConnector(override val sourceIdentifier: String) extends Connector(sou
3434

3535
def createDirectory(folderName: String): Boolean = fileActor.??[Boolean](5){CreateDirectory(folderName)}.get
3636

37+
def exists(pathInResources: String): Boolean = fileActor.??[Boolean](5){Exists(pathInResources)}.get
38+
39+
def delete(pathInResources: String): Boolean = fileActor.??[Boolean](5){Delete(pathInResources)}.get
40+
3741
override def start(): Boolean = {
3842
logger info s"Started file connector! Source identifier is: '$sourceIdentifier'."
3943
true

src/main/scala/org/codeoverflow/chatoverflow/requirement/service/file/impl/FileOutputImpl.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ class FileOutputImpl extends OutputImpl[FileConnector] with FileOutput with With
3535
sourceConnector.get.createDirectory(folderName)
3636
}
3737

38+
override def exists(pathInResources: String): Boolean = {
39+
sourceConnector.get.exists(pathInResources)
40+
}
41+
42+
override def delete(pathInResources: String): Boolean = {
43+
sourceConnector.get.delete(pathInResources)
44+
}
45+
3846
override def start() = true
3947

4048
}

0 commit comments

Comments
 (0)