This repository has been archived by the owner on Jan 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 369
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- delete connect view - add server side view - support multi server
- Loading branch information
Showing
16 changed files
with
805 additions
and
403 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package cc.cc1234.main.cache; | ||
|
||
import javafx.scene.control.TreeItem; | ||
|
||
import java.util.Map; | ||
import java.util.concurrent.ConcurrentHashMap; | ||
|
||
public class TreeItemCache { | ||
|
||
private static final Map<String, Map<String, TreeItem>> CACHE = new ConcurrentHashMap<>(); | ||
|
||
private static final TreeItemCache TREE_ITEM_CACHE = new TreeItemCache(); | ||
|
||
public static TreeItemCache getInstance() { | ||
return TREE_ITEM_CACHE; | ||
} | ||
|
||
public boolean hasServer(String server) { | ||
return CACHE.containsKey(server); | ||
} | ||
|
||
public void cacheItemByPath(String server, String path, TreeItem item) { | ||
final Map<String, TreeItem> map = CACHE.computeIfAbsent(server, key -> new ConcurrentHashMap<>()); | ||
map.put(path, item); | ||
} | ||
|
||
public TreeItem getItemByPath(String server, String path) { | ||
return CACHE.get(server).get(path); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package cc.cc1234.main.cache; | ||
|
||
import org.apache.curator.framework.CuratorFramework; | ||
|
||
import java.util.Map; | ||
import java.util.concurrent.ConcurrentHashMap; | ||
|
||
public class ZkClientCache { | ||
|
||
private static final Map<String, CuratorFramework> CACHE = new ConcurrentHashMap<>(); | ||
|
||
private static final ZkClientCache ZK_CLIENT_CACHE = new ZkClientCache(); | ||
|
||
public static ZkClientCache getInstance() { | ||
return ZK_CLIENT_CACHE; | ||
} | ||
|
||
public boolean contains(String server) { | ||
return CACHE.containsKey(server); | ||
} | ||
|
||
public CuratorFramework get(String server) { | ||
return CACHE.get(server); | ||
} | ||
|
||
public CuratorFramework put(String server, CuratorFramework client) { | ||
return CACHE.put(server, client); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
109 changes: 109 additions & 0 deletions
109
src/main/java/cc/cc1234/main/controller/AddServerViewController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
package cc.cc1234.main.controller; | ||
|
||
import cc.cc1234.main.history.History; | ||
import cc.cc1234.main.model.ZkServer; | ||
import javafx.animation.FadeTransition; | ||
import javafx.fxml.FXML; | ||
import javafx.fxml.FXMLLoader; | ||
import javafx.scene.Node; | ||
import javafx.scene.Scene; | ||
import javafx.scene.control.TableView; | ||
import javafx.scene.control.TextField; | ||
import javafx.scene.layout.AnchorPane; | ||
import javafx.scene.paint.Color; | ||
import javafx.stage.Modality; | ||
import javafx.stage.Stage; | ||
import javafx.stage.StageStyle; | ||
import javafx.stage.Window; | ||
import javafx.util.Duration; | ||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
import java.io.IOException; | ||
|
||
public class AddServerViewController { | ||
|
||
private static final Logger LOG = LoggerFactory.getLogger(AddServerViewController.class); | ||
|
||
@FXML | ||
private TextField serverTextField; | ||
|
||
private Stage stage; | ||
|
||
|
||
private TableView<ZkServer> serversTableView; | ||
|
||
public static void show(TableView<ZkServer> serversTableView) { | ||
String fxml = "AddServerView.fxml"; | ||
final FXMLLoader loader = new FXMLLoader(); | ||
loader.setLocation(AddServerViewController.class.getResource(fxml)); | ||
AnchorPane panel = null; | ||
try { | ||
panel = loader.load(); | ||
} catch (IOException e) { | ||
LOG.error("init AddServerView failed", e); | ||
return; | ||
} | ||
|
||
final Scene scene = new Scene(panel); | ||
scene.setFill(Color.TRANSPARENT); | ||
final Stage stage = new Stage(); | ||
stage.setScene(scene); | ||
stage.initStyle(StageStyle.TRANSPARENT); | ||
stage.initModality(Modality.APPLICATION_MODAL); | ||
|
||
final AddServerViewController controller = loader.getController(); | ||
controller.setStage(stage); | ||
controller.setServersTableView(serversTableView); | ||
stage.setAlwaysOnTop(true); | ||
|
||
final Window parent = serversTableView.getParent().getScene().getWindow(); | ||
double x = parent.getX() + parent.getWidth() / 2 - panel.getPrefWidth() / 2; | ||
double y = parent.getY() + parent.getHeight() / 2 - panel.getPrefHeight() / 2; | ||
stage.setX(x); | ||
stage.setY(y); | ||
animation(panel); | ||
stage.show(); | ||
} | ||
|
||
private static void animation(Node node) { | ||
final FadeTransition transition = new FadeTransition(); | ||
transition.setFromValue(0.3); | ||
transition.setToValue(1.0); | ||
transition.setDuration(Duration.millis(800)); | ||
transition.setNode(node); | ||
transition.play(); | ||
} | ||
|
||
|
||
public void setStage(Stage stage) { | ||
this.stage = stage; | ||
} | ||
|
||
public void setServersTableView(TableView<ZkServer> serversTableView) { | ||
this.serversTableView = serversTableView; | ||
} | ||
|
||
@FXML | ||
private void onCancel() { | ||
stage.close(); | ||
} | ||
|
||
@FXML | ||
private void onConfirm() { | ||
final String server = serverTextField.getText(); | ||
if (server == null || server.trim().isEmpty()) { | ||
VToast.toastFailure(stage, "server must not be empty"); | ||
return; | ||
} | ||
final History history = History.createIfAbsent(History.SERVER_HISTORY); | ||
if (history.contains(server)) { | ||
VToast.toastFailure(stage, "server exists!"); | ||
return; | ||
} | ||
history.save(server, "0"); | ||
serversTableView.getItems().add(new ZkServer(server)); | ||
VToast.toastSuccess(stage); | ||
stage.close(); | ||
} | ||
} |
115 changes: 0 additions & 115 deletions
115
src/main/java/cc/cc1234/main/controller/ConnectViewController.java
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.