Skip to content

Commit 4eeca8d

Browse files
author
Khôi Tran
committed
Refactored some stuff
1 parent cb6be80 commit 4eeca8d

6 files changed

Lines changed: 34 additions & 31 deletions

File tree

src/main/kotlin/ch/compile/blitzremote/BlitzRemote.kt

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,44 @@ import ch.compile.blitzremote.components.TabbedSSHPanel
88
import ch.compile.blitzremote.model.AbstractBlitzTreeNode
99
import com.google.common.io.Resources
1010
import org.apache.logging.log4j.util.Strings
11+
import org.slf4j.LoggerFactory
1112
import java.awt.Dimension
1213
import java.awt.EventQueue
1314
import java.io.File
1415
import javax.swing.*
1516
import javax.swing.tree.DefaultTreeModel
1617
import javax.swing.tree.TreeNode
1718

18-
var FILE = File(Strings.join(listOf(System.getProperty("user.home"), ".config", "blitz-remote", "connections.json"), File.separatorChar))
19-
set(value) {
20-
BlitzRemote.instance?.title = "blitz-remote ${value.absolutePath}"
21-
}
22-
2319
class BlitzRemote : JFrame("BlitzRemote") {
2420
companion object {
2521
var instance: BlitzRemote? = null
22+
23+
val PACKAGE = BlitzRemote::class.java.`package`
24+
25+
val LOG = LoggerFactory.getLogger(this::class.java)!!
2626
}
2727

2828
private val leftSplitPane = JSplitPane(JSplitPane.VERTICAL_SPLIT, true, JScrollPane(ConnectionSelector), JPanel())
2929
private val mainSplitPane = JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, leftSplitPane, TabbedSSHPanel)
3030

31+
var FILE = File(Strings.join(listOf(System.getProperty("user.home"), ".config", "blitz-remote", "connections.json"), File.separatorChar))
32+
set(value) {
33+
val version = PACKAGE.implementationVersion ?: "dev"
34+
BlitzRemote.instance?.title = "blitz-remote $version - ${value.absolutePath}"
35+
field = value
36+
}
37+
3138
init {
3239
instance = this
40+
41+
if (!FILE.parentFile.exists()) {
42+
FILE.parentFile.mkdirs()
43+
} else {
44+
if (FILE.exists()) {
45+
LoadAction(FILE).actionPerformed(null)
46+
}
47+
}
48+
3349
this.iconImage = ImageIcon(Resources.getResource("icon.png")).image
3450
this.defaultCloseOperation = JFrame.EXIT_ON_CLOSE
3551

@@ -50,7 +66,7 @@ class BlitzRemote : JFrame("BlitzRemote") {
5066

5167
ConnectionSelector.addTreeSelectionListener { treeSelectionEvent ->
5268
run {
53-
System.out.println("SelectionEv")
69+
LOG.debug("Initializing PropertyEditor for ${treeSelectionEvent.path.lastPathComponent}")
5470
val p = PropertyEditor(treeSelectionEvent.path.lastPathComponent as AbstractBlitzTreeNode)
5571
leftSplitPane.bottomComponent = p
5672
p.model.addTableModelListener {
@@ -66,12 +82,5 @@ fun main(args: Array<String>) {
6682

6783
EventQueue.invokeLater {
6884
BlitzRemote()
69-
if (!FILE.parentFile.exists()) {
70-
FILE.parentFile.mkdirs()
71-
} else {
72-
if (FILE.exists()) {
73-
LoadAction(FILE).actionPerformed(null)
74-
}
75-
}
7685
}
7786
}

src/main/kotlin/ch/compile/blitzremote/actions/LoadAction.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package ch.compile.blitzremote.actions
22

33
import ch.compile.blitzremote.BlitzRemote
4-
import ch.compile.blitzremote.FILE
54
import ch.compile.blitzremote.helpers.BlitzObjectMapper
65
import ch.compile.blitzremote.model.*
76
import com.fasterxml.jackson.databind.JsonNode
@@ -19,7 +18,7 @@ class LoadAction(private val file: File) : AbstractAction("Load") {
1918

2019
override fun actionPerformed(p0: ActionEvent?) {
2120
if (file.exists()) {
22-
FILE = file
21+
BlitzRemote.instance?.FILE = file
2322
LOG.info("Loading $file...")
2423
try {
2524
val c = BlitzObjectMapper.readTree(file)

src/main/kotlin/ch/compile/blitzremote/actions/OpenAction.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package ch.compile.blitzremote.actions
22

33
import ch.compile.blitzremote.BlitzRemote
4-
import ch.compile.blitzremote.FILE
54
import org.slf4j.LoggerFactory
65
import java.awt.event.ActionEvent
76
import javax.swing.AbstractAction
@@ -15,7 +14,7 @@ class OpenAction : AbstractAction("Open...") {
1514

1615
override fun actionPerformed(p0: ActionEvent?) {
1716
LOG.debug("Opening FileChooser...")
18-
val folder = JFileChooser(FILE.parentFile)
17+
val folder = JFileChooser(BlitzRemote.instance?.FILE)
1918
folder.fileFilter = FileNameExtensionFilter("JSON files", "json")
2019
folder.fileSelectionMode = JFileChooser.FILES_ONLY
2120
when (folder.showDialog(BlitzRemote.instance, "Open")) {

src/main/kotlin/ch/compile/blitzremote/actions/SaveAction.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package ch.compile.blitzremote.actions
22

33
import ch.compile.blitzremote.BlitzRemote
4-
import ch.compile.blitzremote.FILE
54
import ch.compile.blitzremote.helpers.BlitzObjectMapper
6-
import ch.compile.blitzremote.model.ConnectionFolder
75
import ch.compile.blitzremote.model.ConnectionFolderTreeNode
86
import ch.compile.blitzremote.model.ConnectionModel
97
import org.slf4j.LoggerFactory
@@ -18,16 +16,16 @@ class SaveAction : AbstractAction("Save") {
1816
}
1917

2018
override fun actionPerformed(p0: ActionEvent?) {
21-
LOG.debug("Saving to $FILE")
19+
LOG.debug("Saving to ${BlitzRemote.instance?.FILE}")
2220
try {
23-
val fos = FileOutputStream(FILE)
21+
val fos = FileOutputStream(BlitzRemote.instance?.FILE)
2422

2523
LOG.debug(BlitzObjectMapper.writeValueAsString((ConnectionModel.root as ConnectionFolderTreeNode).userObject))
2624

2725
BlitzObjectMapper.writeValue(fos, (ConnectionModel.root as ConnectionFolderTreeNode).userObject)
2826
fos.close()
2927
} catch (e: Exception) {
30-
JOptionPane.showMessageDialog(BlitzRemote.instance, "Couldn't save file: ${FILE.absoluteFile}", "Blitz Remote ERROR", JOptionPane.ERROR_MESSAGE)
28+
JOptionPane.showMessageDialog(BlitzRemote.instance, "Couldn't save file: ${BlitzRemote.instance?.FILE?.absoluteFile}", "Blitz Remote ERROR", JOptionPane.ERROR_MESSAGE)
3129
}
3230
}
3331

src/main/kotlin/ch/compile/blitzremote/actions/SaveAsAction.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package ch.compile.blitzremote.actions
22

33
import ch.compile.blitzremote.BlitzRemote
4-
import ch.compile.blitzremote.FILE
5-
import ch.compile.blitzremote.model.ConnectionFolder
64
import org.slf4j.LoggerFactory
75
import java.awt.event.ActionEvent
86
import javax.swing.AbstractAction
@@ -16,17 +14,17 @@ class SaveAsAction : AbstractAction("Save As...") {
1614

1715
override fun actionPerformed(p0: ActionEvent?) {
1816
LOG.debug("Opening FileChooser")
19-
val folder = JFileChooser(FILE.parentFile)
20-
folder.fileFilter = FileNameExtensionFilter("JSON files", "json")
21-
folder.fileSelectionMode = JFileChooser.FILES_ONLY
22-
when (folder.showDialog(BlitzRemote.instance, "Save")) {
17+
val fileChooser = JFileChooser(BlitzRemote.instance?.FILE?.parentFile)
18+
fileChooser.fileFilter = FileNameExtensionFilter("JSON files", "json")
19+
fileChooser.fileSelectionMode = JFileChooser.FILES_ONLY
20+
when (fileChooser.showDialog(BlitzRemote.instance, "Save")) {
2321
JFileChooser.CANCEL_OPTION -> {
2422
LOG.debug("USER CANCELLED")
2523
}
2624

2725
JFileChooser.APPROVE_OPTION -> {
28-
LOG.debug("User selected FILE" + folder.selectedFile)
29-
FILE = folder.selectedFile
26+
LOG.debug("User selected FILE" + fileChooser.selectedFile)
27+
BlitzRemote.instance?.FILE = fileChooser.selectedFile
3028
SaveAction().actionPerformed(null)
3129
}
3230
}

src/main/resources/log4j.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ log4j.rootLogger=debug, console
22

33
log4j.appender.console=org.apache.log4j.ConsoleAppender
44
log4j.appender.console.layout=org.apache.log4j.PatternLayout
5-
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
5+
log4j.appender.console.layout.ConversionPattern=[%p] %c{3} - %m%n
66
log4j.appender.console.Threshold=DEBUG

0 commit comments

Comments
 (0)