11package com .xwintop .xJavaFxTool .controller .developTools .xTransferTool ;
22
3+ import cn .hutool .core .swing .clipboard .ClipboardUtil ;
34import com .xwintop .xJavaFxTool .controller .IndexController ;
45import com .xwintop .xJavaFxTool .services .developTools .xTransferTool .TransferToolTaskViewService ;
56import com .xwintop .xJavaFxTool .utils .JavaFxViewUtil ;
89import com .xwintop .xTransfer .receiver .bean .ReceiverConfig ;
910import com .xwintop .xTransfer .sender .bean .SenderConfig ;
1011import com .xwintop .xTransfer .task .entity .TaskConfig ;
12+ import com .xwintop .xcore .util .javafx .AlertUtil ;
13+ import com .xwintop .xcore .util .javafx .TooltipUtil ;
1114import javafx .beans .value .ChangeListener ;
1215import javafx .beans .value .ObservableValue ;
1316import javafx .collections .FXCollections ;
2225import lombok .Getter ;
2326import lombok .Setter ;
2427import lombok .extern .slf4j .Slf4j ;
25- import org .apache . commons . beanutils . BeanUtils ;
28+ import org .yaml . snakeyaml . Yaml ;
2629
2730import java .net .URL ;
2831import java .util .HashMap ;
@@ -58,6 +61,9 @@ public void initialize(URL location, ResourceBundle resources) {
5861 }
5962
6063 private void initView () {
64+ nameTextField .prefColumnCountProperty ().bind (nameTextField .textProperty ().length ());
65+ taskTypeTextField .prefColumnCountProperty ().bind (taskTypeTextField .textProperty ().length ());
66+ triggerCronTextField .prefColumnCountProperty ().bind (triggerCronTextField .textProperty ().length ());
6167 JavaFxViewUtil .setTableColumnMapValueFactory (propertiesKeyTableColumn , "key" );
6268 JavaFxViewUtil .setTableColumnMapValueFactory (propertiesValueTableColumn , "value" );
6369 propertiesTableView .setItems (propertiesTableData );
@@ -123,7 +129,8 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
123129 receiverConfigListView .getSelectionModel ().select (selectIndex );
124130 transferToolTaskViewService .addServiceViewTabPane (configObject , selectIndex );
125131 } catch (Exception e ) {
126- e .printStackTrace ();
132+ log .error ("添加失败:" , e );
133+ TooltipUtil .showToast ("添加失败:" + e .getMessage ());
127134 }
128135 });
129136 menu .getItems ().add (menuAdd );
@@ -135,24 +142,46 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
135142 menu_Copy .setOnAction (event1 -> {
136143 String selectString = receiverConfigListView .getSelectionModel ().getSelectedItem ();
137144 receiverConfigListData .add (selectString );
145+ Yaml yaml = new Yaml ();
146+ taskConfig .getReceiverConfig ().add (yaml .load (yaml .dump (taskConfig .getReceiverConfig ().get (receiverConfigListView .getSelectionModel ().getSelectedIndex ()))));
147+ });
148+ MenuItem menu_CopyToClipboard = new MenuItem ("复制选中行到剪切板" );
149+ menu_CopyToClipboard .setOnAction (event1 -> {
150+ try {
151+ String taskConfigString = new Yaml ().dump (taskConfig .getReceiverConfig ().get (receiverConfigListView .getSelectionModel ().getSelectedIndex ()));
152+ ClipboardUtil .setStr (taskConfigString );
153+ TooltipUtil .showToast ("复制成功!" + taskConfigString );
154+ } catch (Exception e ) {
155+ log .error ("复制失败:" , e );
156+ TooltipUtil .showToast ("复制失败:" + e .getMessage ());
157+ }
158+ });
159+ MenuItem menuAddByClipboard = new MenuItem ("粘贴Receiver" );
160+ menuAddByClipboard .setOnAction (event1 -> {
161+ String configString = ClipboardUtil .getStr ();
138162 try {
139- taskConfig .getReceiverConfig ().add ((ReceiverConfig ) BeanUtils .cloneBean (taskConfig .getReceiverConfig ().get (receiverConfigListView .getSelectionModel ().getSelectedIndex ())));
163+ ReceiverConfig receiverConfig = new Yaml ().load (configString );
164+ receiverConfigListData .add (receiverConfig .getServiceName ());
165+ taskConfig .getReceiverConfig ().add (receiverConfig );
140166 } catch (Exception e ) {
141- e .printStackTrace ();
167+ log .error ("粘贴Receiver加载异常:" , e );
168+ TooltipUtil .showToast ("粘贴Receiver加载异常:" + e .getMessage ());
142169 }
143170 });
144171 MenuItem menu_Remove = new MenuItem ("删除选中行" );
145172 menu_Remove .setOnAction (event1 -> {
146173 taskConfig .getReceiverConfig ().remove (receiverConfigListView .getSelectionModel ().getSelectedIndex ());
147- // receiverConfigListData.remove(receiverConfigListView.getSelectionModel().getSelectedItem());
148174 receiverConfigListData .remove (receiverConfigListView .getSelectionModel ().getSelectedIndex ());
149175 });
150176 MenuItem menu_RemoveAll = new MenuItem ("删除所有" );
151177 menu_RemoveAll .setOnAction (event1 -> {
178+ if (!AlertUtil .showConfirmAlert ("确定要删除所有吗?" )) {
179+ return ;
180+ }
152181 receiverConfigListData .clear ();
153182 taskConfig .getReceiverConfig ().clear ();
154183 });
155- receiverConfigListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_Remove , menu_RemoveAll ));
184+ receiverConfigListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_CopyToClipboard , menuAddByClipboard , menu_Remove , menu_RemoveAll ));
156185 } else if (event .getButton () == MouseButton .PRIMARY ) {
157186 int selectIndex = receiverConfigListView .getSelectionModel ().getSelectedIndex ();
158187 if (receiverConfigListView .getSelectionModel ().getSelectedItems () == null || selectIndex == -1 ) {
@@ -187,7 +216,8 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
187216 filterConfigsListView .getSelectionModel ().select (selectIndex );
188217 transferToolTaskViewService .addServiceViewTabPane (configObject , selectIndex );
189218 } catch (Exception e ) {
190- e .printStackTrace ();
219+ log .error ("添加异常:" , e );
220+ TooltipUtil .showToast ("添加异常:" + e .getMessage ());
191221 }
192222 });
193223 menu .getItems ().add (menuAdd );
@@ -199,10 +229,30 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
199229 menu_Copy .setOnAction (event1 -> {
200230 String selectString = filterConfigsListView .getSelectionModel ().getSelectedItem ();
201231 filterConfigsListData .add (selectString );
232+ Yaml yaml = new Yaml ();
233+ taskConfig .getFilterConfigs ().add (yaml .load (yaml .dump (taskConfig .getFilterConfigs ().get (filterConfigsListView .getSelectionModel ().getSelectedIndex ()))));
234+ });
235+ MenuItem menu_CopyToClipboard = new MenuItem ("复制选中行到剪切板" );
236+ menu_CopyToClipboard .setOnAction (event1 -> {
237+ try {
238+ String taskConfigString = new Yaml ().dump (taskConfig .getFilterConfigs ().get (filterConfigsListView .getSelectionModel ().getSelectedIndex ()));
239+ ClipboardUtil .setStr (taskConfigString );
240+ TooltipUtil .showToast ("复制成功!" + taskConfigString );
241+ } catch (Exception e ) {
242+ log .error ("复制失败:" , e );
243+ TooltipUtil .showToast ("复制失败:" + e .getMessage ());
244+ }
245+ });
246+ MenuItem menuAddByClipboard = new MenuItem ("粘贴Filter" );
247+ menuAddByClipboard .setOnAction (event1 -> {
248+ String configString = ClipboardUtil .getStr ();
202249 try {
203- taskConfig .getFilterConfigs ().add ((FilterConfig ) BeanUtils .cloneBean (taskConfig .getFilterConfigs ().get (filterConfigsListView .getSelectionModel ().getSelectedIndex ())));
250+ FilterConfig filterConfig = new Yaml ().load (configString );
251+ filterConfigsListData .add (filterConfig .getServiceName ());
252+ taskConfig .getFilterConfigs ().add (filterConfig );
204253 } catch (Exception e ) {
205- e .printStackTrace ();
254+ log .error ("粘贴Filter加载异常:" , e );
255+ TooltipUtil .showToast ("粘贴Filter加载异常:" + e .getMessage ());
206256 }
207257 });
208258 MenuItem menu_Remove = new MenuItem ("删除选中行" );
@@ -215,7 +265,7 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
215265 filterConfigsListData .clear ();
216266 taskConfig .getFilterConfigs ().clear ();
217267 });
218- filterConfigsListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_Remove , menu_RemoveAll ));
268+ filterConfigsListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_CopyToClipboard , menuAddByClipboard , menu_Remove , menu_RemoveAll ));
219269 } else if (event .getButton () == MouseButton .PRIMARY ) {
220270 int selectIndex = filterConfigsListView .getSelectionModel ().getSelectedIndex ();
221271 if (filterConfigsListView .getSelectionModel ().getSelectedItems () == null || selectIndex == -1 ) {
@@ -252,7 +302,8 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
252302 senderConfigListView .getSelectionModel ().select (selectIndex );
253303 transferToolTaskViewService .addServiceViewTabPane (configObject , selectIndex );
254304 } catch (Exception e ) {
255- e .printStackTrace ();
305+ log .error ("添加异常:" , e );
306+ TooltipUtil .showToast ("添加异常:" + e .getMessage ());
256307 }
257308 });
258309 menu .getItems ().add (menuAdd );
@@ -264,24 +315,42 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
264315 menu_Copy .setOnAction (event1 -> {
265316 String selectString = senderConfigListView .getSelectionModel ().getSelectedItem ();
266317 senderConfigListData .add (selectString );
318+ Yaml yaml = new Yaml ();
319+ taskConfig .getSenderConfig ().add (yaml .load (yaml .dump (taskConfig .getSenderConfig ().get (senderConfigListView .getSelectionModel ().getSelectedIndex ()))));
320+ });
321+ MenuItem menu_CopyToClipboard = new MenuItem ("复制选中行到剪切板" );
322+ menu_CopyToClipboard .setOnAction (event1 -> {
323+ try {
324+ String taskConfigString = new Yaml ().dump (taskConfig .getSenderConfig ().get (senderConfigListView .getSelectionModel ().getSelectedIndex ()));
325+ ClipboardUtil .setStr (taskConfigString );
326+ TooltipUtil .showToast ("复制成功!" + taskConfigString );
327+ } catch (Exception e ) {
328+ log .error ("复制失败:" , e );
329+ TooltipUtil .showToast ("复制失败:" + e .getMessage ());
330+ }
331+ });
332+ MenuItem menuAddByClipboard = new MenuItem ("粘贴Sender" );
333+ menuAddByClipboard .setOnAction (event1 -> {
334+ String configString = ClipboardUtil .getStr ();
267335 try {
268- taskConfig .getSenderConfig ().add ((SenderConfig ) BeanUtils .cloneBean (taskConfig .getSenderConfig ().get (senderConfigListView .getSelectionModel ().getSelectedIndex ())));
336+ SenderConfig senderConfig = new Yaml ().load (configString );
337+ senderConfigListData .add (senderConfig .getServiceName ());
338+ taskConfig .getSenderConfig ().add (senderConfig );
269339 } catch (Exception e ) {
270- e . printStackTrace ( );
340+ TooltipUtil . showToast ( "粘贴Sender加载异常:" + e . getMessage () );
271341 }
272342 });
273343 MenuItem menu_Remove = new MenuItem ("删除选中行" );
274344 menu_Remove .setOnAction (event1 -> {
275345 taskConfig .getSenderConfig ().remove (senderConfigListView .getSelectionModel ().getSelectedIndex ());
276- // senderConfigListData.remove(senderConfigListView.getSelectionModel().getSelectedItem());
277346 senderConfigListData .remove (senderConfigListView .getSelectionModel ().getSelectedIndex ());
278347 });
279348 MenuItem menu_RemoveAll = new MenuItem ("删除所有" );
280349 menu_RemoveAll .setOnAction (event1 -> {
281350 senderConfigListData .clear ();
282351 taskConfig .getSenderConfig ().clear ();
283352 });
284- senderConfigListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_Remove , menu_RemoveAll ));
353+ senderConfigListView .setContextMenu (new ContextMenu (menu , menu_Copy , menu_CopyToClipboard , menuAddByClipboard , menu_Remove , menu_RemoveAll ));
285354 } else if (event .getButton () == MouseButton .PRIMARY ) {
286355 int selectIndex = senderConfigListView .getSelectionModel ().getSelectedIndex ();
287356 if (senderConfigListView .getSelectionModel ().getSelectedItems () == null || selectIndex == -1 ) {
@@ -302,7 +371,18 @@ void saveTaskConfigAction(ActionEvent event) {
302371 try {
303372 transferToolTaskViewService .saveTaskConfigAction ();
304373 } catch (Exception e ) {
305- e .printStackTrace ();
374+ TooltipUtil .showToast ("保存配置失败:" + e .getMessage ());
375+ log .error ("保存配置失败:" , e );
376+ }
377+ }
378+
379+ @ FXML
380+ void viewTaskConfigAction (ActionEvent event ) {
381+ try {
382+ transferToolTaskViewService .viewTaskConfigAction ();
383+ } catch (Exception e ) {
384+ TooltipUtil .showToast ("预览配置失败:" + e .getMessage ());
385+ log .error ("预览配置失败:" , e );
306386 }
307387 }
308388
0 commit comments