# HG changeset patch # User ichikitakahiro # Date 1577183630 -32400 # Node ID 0c74d9168aff5d50b5bd405ebcb49f26d4127a57 # Parent 1c37472fc00dbf4f6bc0acadc31a8225fbc07f7a fix Editor & trans diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/CatchDG.java --- a/src/main/java/christie/remotingTextEditor/CatchDG.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/remotingTextEditor/CatchDG.java Tue Dec 24 19:33:50 2019 +0900 @@ -6,22 +6,27 @@ import christie.codegear.CodeGearManager; import christie.textEditor.TextFrame; import christie.topology.Message; +import christie.topology.TopologyDataGear; public class CatchDG extends CodeGear { @Take - Message start; + Message say; + @Peek + TopologyDataGear topoDG; @Override protected void run(CodeGearManager cgm) { System.out.println("Start"); - while(TextFrame.SendPermission() == false){ - try{ - Thread.sleep(1); - }catch(InterruptedException e){ - } - } - System.out.println("Catch"); +// while(TextFrame.SendPermission() == false){ +// try{ +// Thread.sleep(1); +// }catch(InterruptedException e){ +// +// } +// } + System.out.println(topoDG.getNodeName()); + } } diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/GetOpponentMessage.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/GetOpponentMessage.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,27 @@ +package christie.remotingTextEditor; + +import christie.annotation.Peek; +import christie.annotation.Take; +import christie.codegear.CodeGear; +import christie.codegear.CodeGearManager; +import christie.textEditor.NewTextEditor; +import christie.topology.Message; +import christie.topology.TopologyDataGear; + +public class GetOpponentMessage extends CodeGear { + @Take + Message offset; + + @Peek + NewTextEditor myEditor; + + @Peek + TopologyDataGear topoDG; + + + @Override + protected void run(CodeGearManager cgm) { + System.out.println( topoDG.getNodeName() + " catch Offest:" + offset); + cgm.setup(new GetOpponentMessage()); + } +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/ManToManNodeConfig.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/ManToManNodeConfig.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,15 @@ +package christie.remotingTextEditor; + +import christie.topology.node.TopologyNodeConfig; + +public class ManToManNodeConfig extends TopologyNodeConfig { + + public ManToManNodeConfig(String[] args) { + super(args); + for (int j = 0; j< args.length; j++) { + if ("--totalNodeNum".equals(args[j])) { + + } + } + } +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/NodeStart.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/NodeStart.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,13 @@ +package christie.remotingTextEditor; + + +import christie.topology.node.StartTopologyNode; +import christie.topology.node.TopologyNodeConfig; + +public class NodeStart { + public static void main(String[] args){ + ManToManNodeConfig manToManNodeConfig = new ManToManNodeConfig(args); + + StartTopologyNode startTopologyNode = new StartTopologyNode((TopologyNodeConfig) manToManNodeConfig, new SetInstance()); + } +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/SetEditorCommunication.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/SetEditorCommunication.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,35 @@ +package christie.remotingTextEditor; + +import christie.annotation.Peek; +import christie.codegear.CodeGear; +import christie.codegear.CodeGearManager; +import christie.textEditor.NewTextEditor; +import christie.topology.Message; +import christie.topology.TopologyDataGear; + +public class SetEditorCommunication extends CodeGear { + @Peek + TopologyDataGear topoDG; + + @Peek + NewTextEditor myEditor; + + @Override + protected void run(CodeGearManager cgm) { +// System.out.println(topoDG.getNodeName()); + while(myEditor.checkPermission() == false){ + try{ + Thread.sleep(1); + }catch(InterruptedException e){ + + } + } + int sendOffset = myEditor.getOffset(); + System.out.println(topoDG.getNodeName()+ ":catchoffset=: " + sendOffset); +// put("opponent", "offset", new Message()); + myEditor.changeToFalseSendPermmision(); + cgm.setup(new SetEditorCommunication()); + + } + +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/SetInstance.java --- a/src/main/java/christie/remotingTextEditor/SetInstance.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/remotingTextEditor/SetInstance.java Tue Dec 24 19:33:50 2019 +0900 @@ -1,5 +1,6 @@ package christie.remotingTextEditor; +import christie.annotation.Peek; import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; @@ -10,16 +11,47 @@ import javax.swing.text.*; import christie.textEditor.*; import christie.topology.Message; +import christie.topology.TopologyDataGear; import java.io.FileWriter; public class SetInstance extends CodeGear { + @Peek + TopologyDataGear topoDG; + protected void run(CodeGearManager cgm) { - TextFrame myEditor = new TextFrame(); - myEditor.StartEditor(); - cgm.setup(new CatchDG()); - cgm.getLocalDGM().put("start", new Message()); + + System.out.println("I am " + topoDG.getNodeName()); + if(topoDG.getNodeName().equals("node0")) { + NewTextEditor Editor0 = new NewTextEditor(); + Editor0.StartEditor(topoDG.getNodeName()); + System.out.println("node0"); + //cgm.setup(new GetOpponentMessage()); + cgm.setup(new SetEditorCommunication()); + cgm.getLocalDGM().put("myEditor", Editor0); + + }else if(topoDG.getNodeName().equals("node1")){ + NewTextEditor Editor1 = new NewTextEditor(); + Editor1.StartEditor(topoDG.getNodeName()); + System.out.println("node1"); + //cgm.setup(new GetOpponentMessage()); + cgm.setup(new SetEditorCommunication()); + cgm.getLocalDGM().put("myEditor", Editor1); + } + //cgm.setup(new CatchDG()); + + + /* + while(myEditor.SendPermission() == false){ + try{ + Thread.sleep(1); + }catch(InterruptedException e){ + + } + } + System.out.println("catch"); + */ } } diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/StartManToManSession.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/StartManToManSession.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,34 @@ +package christie.remotingTextEditor; + +import christie.codegear.CodeGearManager; +import christie.codegear.StartCodeGear; +import christie.topology.manager.StartTopologyManager; +import christie.topology.manager.TopologyManagerConfig; + +public class StartManToManSession extends StartCodeGear { + + public StartManToManSession(CodeGearManager cgm) { + super(cgm); + } + + public static void main(String[] args){ + int TopologyManagerPort = 10000; + int TopologyNodePort = 10001; + + String[] managerArg = {"--localPort", String.valueOf(TopologyManagerPort), "--confFile", "scripts/Log/manToMan.dot"}; + + TopologyManagerConfig topologyManagerConfig = new TopologyManagerConfig(managerArg); + new StartTopologyManager(topologyManagerConfig); + + + for (int i = 0; i <= 1; i++){ + String[] nodeArg = {"--managerPort", String.valueOf(TopologyManagerPort), + "--managerHost", "localhost", + "--localPort", String.valueOf(TopologyNodePort + i), + }; + + NodeStart.main(nodeArg); + + } + } +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/remotingTextEditor/StartTwoEditor.java --- a/src/main/java/christie/remotingTextEditor/StartTwoEditor.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/remotingTextEditor/StartTwoEditor.java Tue Dec 24 19:33:50 2019 +0900 @@ -3,6 +3,7 @@ import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; import christie.codegear.StartCodeGear; +import christie.textEditor.NewTextEditor; public class StartTwoEditor extends StartCodeGear{ public StartTwoEditor(CodeGearManager cgm) { @@ -10,10 +11,18 @@ } public static void main(String[] args){ + NewTextEditor ed1 = new NewTextEditor(); + NewTextEditor ed2 = new NewTextEditor(); + + + + + /* CodeGearManager editor1 = createCGM(10001); CodeGearManager editor2 = createCGM(10002); editor1.createRemoteDGM("editor2","localhost",10002); editor1.setup(new SetInstance()); editor2.setup(new SetInstance()); + */ } } diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/textEditor/NewTF.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/NewTF.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,77 @@ +package christie.textEditor; + +import javax.swing.*; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.text.DefaultStyledDocument; +import javax.swing.text.Document; +import javax.swing.text.StyleContext; + +public class NewTF { + + public class NewTextFrame extends JInternalFrame { + private StyleContext sc = new StyleContext(); + + JTextArea textArea = new JTextArea(); + + private DefaultStyledDocument doc = new DefaultStyledDocument(sc); + + private String DEFAULT_CHARACTER_CODE = "Shift_JIS"; + + private NewTextFrame(){ + super("New Text", true, true, true, true); + + //JTextArea textArea = new JTextArea(); + + this.setSize(800, 600); + + textArea.getDocument().addDocumentListener(new NewDocumentListener()); + + this.add(textArea); + } + + public NewTextFrame(String title){ + super(title, true, true, true, true); + + //JTextArea textArea = new JTextArea(); + + this.setSize(800, 600); + + textArea.getDocument().addDocumentListener(new NewDocumentListener()); + + this.add(textArea); + } + + + public void insertText() { + textArea.insert("tsts", 0); + } + + + } + + public class NewDocumentListener implements DocumentListener { + + @Override + public void insertUpdate(DocumentEvent e) { + Document doc = e.getDocument(); + int loc = e.getOffset(); + System.out.println("location = " + loc); + //canSend = true; + } + + @Override + public void removeUpdate(DocumentEvent e) { + + } + + @Override + public void changedUpdate(DocumentEvent e) { + + } + } + +// public static boolean SendPermission(){ +// return canSend; +// } +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/textEditor/NewTextEditor.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/NewTextEditor.java Tue Dec 24 19:33:50 2019 +0900 @@ -0,0 +1,75 @@ +package christie.textEditor; + +import javax.swing.*; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.text.BadLocationException; +import javax.swing.text.DefaultStyledDocument; +import javax.swing.text.Document; +import javax.swing.text.StyleContext; +import java.awt.*; + +public class NewTextEditor extends JFrame { + private static boolean canSend = false; + TextFrame textFrame = new TextFrame(); + static JTextArea textArea = new JTextArea(); + + + public void callInner(){ + textFrame.insertText(); + } + + public boolean checkPermission(){ + return textFrame.SendPermission(); + } + + public int getOffset(){ + return textFrame.returnOffset(); + } + + public void changeToFalseSendPermmision(){ + textFrame.changeToFalseSend(); + } + +// public static void main(String[] args){ +// NewTextEditor editor = new NewTextEditor(); +// +// editor.setTitle("text Editor"); +// editor.setSize(1024,768); +// editor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +// editor.NewTextEditor(); +// editor.setVisible(true); +// +// } + + public void StartEditor(String name) { + setTitle(name); + setSize(1024, 768); + setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); + NewTextEditor(); + setVisible(true); + } + + public void NewTextEditor(){ + + JDesktopPane desktop; + + MainFrame instance; + + Container container = getContentPane(); + + JMenuBar menuBar = new JMenuBar(); + + container.add(menuBar, BorderLayout.NORTH); + + desktop = new JDesktopPane(); + container.add(desktop); + desktop.add(textFrame); + //textFrame.InsertText(); + textFrame.setVisible(true); + System.out.println("call"); + + + } + +} diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/textEditor/StartEditor.java --- a/src/main/java/christie/textEditor/StartEditor.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/textEditor/StartEditor.java Tue Dec 24 19:33:50 2019 +0900 @@ -1,7 +1,6 @@ package christie.textEditor; public class StartEditor { - public int loc; public static void main(String[] args) { MainFrame mainFrame = MainFrame.getInstance(); mainFrame.setVisible(true); diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/textEditor/mainFrame.java --- a/src/main/java/christie/textEditor/mainFrame.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/textEditor/mainFrame.java Tue Dec 24 19:33:50 2019 +0900 @@ -28,7 +28,7 @@ super("テキストエディタ") ; setSize(1024,768); //ウィンドウを閉じたらアプリを終了する。 - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //メインウィンドウにコンポーネントを配置する領域とのこと。 Container container = this.getContentPane(); @@ -70,7 +70,7 @@ try{ TextFrame textFrame = new TextFrame(selectedFile); //JDesktopPaneにテキストウィンドウを追加 - desktop.add(textFrame); + this.desktop.add(textFrame); textFrame.setVisible(true); }catch(IOException e){ JOptionPane.showMessageDialog(this, "IOExeption: ファイルを開くのに失敗しました。"); diff -r 1c37472fc00d -r 0c74d9168aff src/main/java/christie/textEditor/textFrame.java --- a/src/main/java/christie/textEditor/textFrame.java Thu Nov 28 15:12:37 2019 +0900 +++ b/src/main/java/christie/textEditor/textFrame.java Tue Dec 24 19:33:50 2019 +0900 @@ -26,14 +26,14 @@ public int loc = 0; - public static boolean send = false; + public boolean send = false; - public static boolean canWrite = true; + private int sendLoc = 0; + + public boolean canWrite = true; StyleContext sc = new StyleContext(); - SetInstance setInstance = new SetInstance(); - public TextFrame() { this("新規テキスト"); } @@ -49,7 +49,6 @@ textArea.getDocument().addDocumentListener(new MyDocumentListener()); //textArea.getDocument().putProperty("name", "Text Area"); - this.add(textArea); } @@ -91,6 +90,21 @@ } } + public void insertText(){ + textArea.insert("send", 0); + } + + public boolean SendPermission(){ + return send; + } + + public void changeToFalseSend(){ + send = false; + } + + public int returnOffset(){ + return sendLoc; + } @@ -99,10 +113,17 @@ if(canWrite == true) { Document doc = e.getDocument(); loc = e.getOffset(); - System.out.println(doc); + sendLoc = loc; + + //System.out.println("location = " + loc); + try { + System.out.print("string = " + doc.getText(loc, 1) + "\n"); + } catch (BadLocationException e1){ + e1.printStackTrace(); + } send = true; - + /* SwingUtilities.invokeLater(new Runnable() { @Override public void run() { @@ -116,6 +137,7 @@ } } }); + */ } } @@ -150,17 +172,11 @@ public void changedUpdate(DocumentEvent e) { } - public void insertString(){ - - } - } - - public static boolean SendPermission(){ - return send; } - public void StartEditor(){ + + public static void StartEditor(){ MainFrame mainFrame = MainFrame.getInstance(); mainFrame.setVisible(true); }