Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2015-02-16 22:05:55 +0000
committerTom Schindl2015-02-16 22:05:55 +0000
commitf0f4c6e29972f2ab2c58f12b05e161c8740cc5e5 (patch)
tree889df80f7f5431f14f6d017ea02c4c680f5f33af /experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src
parent968ddcc0c0d65cf4d5a4a90c5739662c6e10f209 (diff)
downloadorg.eclipse.efxclipse-f0f4c6e29972f2ab2c58f12b05e161c8740cc5e5.tar.gz
org.eclipse.efxclipse-f0f4c6e29972f2ab2c58f12b05e161c8740cc5e5.tar.xz
org.eclipse.efxclipse-f0f4c6e29972f2ab2c58f12b05e161c8740cc5e5.zip
current source state of compensator
Diffstat (limited to 'experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src')
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/JDTProjectService.java3
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassAction.java94
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxgraph80
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxml54
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPaneController.java58
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassTemplate.xtend11
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/OpenServerManagedFile.java60
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTInstanceProject.java9
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTModuleItem.java6
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPackageItem.java4
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPathItem.java4
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTServerInput.java18
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/DebugElement.java2
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewClassElement.java3
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewEnumElement.java2
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewInterfaceElement.java2
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewModuleElement.java2
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewPackageElement.java2
-rw-r--r--experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/RunElement.java8
19 files changed, 383 insertions, 39 deletions
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/JDTProjectService.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/JDTProjectService.java
index ee33a8939..05d029b39 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/JDTProjectService.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/JDTProjectService.java
@@ -27,7 +27,6 @@ import org.eclipse.fx.code.compensator.project.jdt.tb.NewPackageElement;
import org.eclipse.fx.code.compensator.project.jdt.tb.RunElement;
import org.eclipse.fx.code.compensator.project.navigator.FolderItem;
import org.eclipse.fx.code.compensator.project.navigator.ModuleContainerItem;
-import org.eclipse.fx.core.SimpleURI;
import org.eclipse.fx.core.URI;
public class JDTProjectService implements ProjectService {
@@ -68,7 +67,7 @@ public class JDTProjectService implements ProjectService {
@Override
public URI getIconUri() {
- return new SimpleURI(getClass().getClassLoader().getResource("css/icons/16/jperspective.png").toExternalForm());
+ return URI.create(getClass().getClassLoader().getResource("css/icons/16/jperspective.png").toExternalForm());
}
@Override
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassAction.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassAction.java
new file mode 100644
index 000000000..64b7794d6
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassAction.java
@@ -0,0 +1,94 @@
+package org.eclipse.fx.code.compensator.project.jdt.handler;
+
+import static org.eclipse.fx.core.function.ExExecutor.executeSupplier;
+
+import java.nio.ByteBuffer;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+
+import javafx.scene.Node;
+import javafx.scene.layout.StackPane;
+import javafx.stage.Stage;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.fx.code.compensator.project.Constants;
+import org.eclipse.fx.code.compensator.project.InstanceProject;
+import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
+import org.eclipse.fx.code.compensator.project.jdt.internal.JDTPackageFragmentRootItem;
+import org.eclipse.fx.code.compensator.project.jdt.internal.JDTPathItem;
+import org.eclipse.fx.core.command.CommandService;
+import org.eclipse.fx.ui.controls.stage.DefaultWindowPane;
+import org.eclipse.fx.ui.di.FXMLBuilder;
+import org.eclipse.fx.ui.di.FXMLBuilder.Data;
+import org.eclipse.fx.ui.di.FXMLLoader;
+import org.eclipse.fx.ui.di.FXMLLoaderFactory;
+import org.eclipse.fx.ui.dialogs.TitleAreaDialog;
+
+public class NewClassAction {
+ @Execute
+ public void createNewClass(InstanceProject project, @Named("navigatorSelection") JDTPathItem navigationItem,
+ @FXMLLoader FXMLLoaderFactory factory, Stage stage, IEventBroker broker,
+ CommandService commandService) {
+ FXMLBuilder<Node> builder = factory.loadRequestorRelative("NewClassPane.fxml");
+ Data<Node, NewClassPaneController> data = executeSupplier(
+ () -> builder.<NewClassPaneController> loadWithController(), "Failed to load FXML file").get();
+ TitleAreaDialog dialog = new TitleAreaDialog(stage,"New Class","New Class","Create a new class","new-java-class-dialog") {
+
+ @Override
+ protected Node createDialogContent() {
+ return data.getNode();
+ }
+
+ protected org.eclipse.fx.ui.controls.stage.WindowPane getCustomWindowPane() {
+ return new DefaultWindowPane(new StackPane());
+ }
+ };
+ if( dialog.open() == TitleAreaDialog.OK_BUTTON ) {
+ String packageName = data.getController().getPackageName();
+ String className = data.getController().getClassName();
+
+ ProjectNavigatorItem i = navigationItem;
+ while( i != null ) {
+ if( i instanceof JDTPackageFragmentRootItem ) {
+ break;
+ }
+ i = i.getParent();
+ }
+
+ String path = ((JDTPackageFragmentRootItem)i).getLabel().toString();
+ path += "/" + packageName.replace('.', '/');
+ path += "/" + className + ".java";
+
+// System.err.println("CREATING: " + path);
+
+ try {
+ Path p = navigationItem.getModuleItem().getPath().resolve(path);
+ Boolean rv = navigationItem.getJdtProject().getProjectServer().createFile(navigationItem.getModuleItem().getDomainObject().getName(), path, ByteBuffer.wrap(NewClassTemplate.generate(packageName, className).toString().getBytes())).get();
+ if( rv.booleanValue() ) {
+ broker.post(Constants.TOPIC_NEW_FILE, p);
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("projectid", project.getProject().getProjectId());
+ map.put("moduleName", navigationItem.getModuleItem().getDomainObject().getName());
+ map.put("modulePath", path);
+ commandService.execute("org.eclipse.fx.code.compensator.project.jdt.command.serverfile", map);
+ } catch (InterruptedException | ExecutionException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+// Dialog<ButtonType> dialog = new Dialog<>();
+// dialog.initOwner(stage);
+// dialog.getDialogPane().getStyleClass().add("new-java-class-dialog");
+// dialog.getDialogPane().setHeaderText("New Class");
+// dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK,ButtonType.CANCEL);
+// dialog.getDialogPane().setContent(data.getNode());
+// dialog.showAndWait().ifPresent(this::handleDialogResult);
+ }
+}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxgraph b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxgraph
new file mode 100644
index 000000000..9bc207bd0
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxgraph
@@ -0,0 +1,80 @@
+package org.eclipse.fx.code.compensator.project.jdt.handler
+
+import org.eclipse.fx.ui.panes.GridLayoutPane
+import javafx.scene.control.Label
+import javafx.scene.control.TextField
+import org.eclipse.fx.ui.panes.GridData
+import javafx.scene.control.Button
+import javafx.scene.control.CheckBox
+import javafx.scene.control.RadioButton
+import javafx.scene.control.ToggleGroup
+import org.eclipse.fx.code.compensator.project.jdt.handler.NewClassPaneController
+
+component NewClassPane controlledby NewClassPaneController {
+ define ToggleGroup id visibilityMods
+ GridLayoutPane {
+ numColumns : 3,
+ children : [
+ Label {
+ text : "Package"
+ },
+ TextField id packageField {
+ static constraint : GridData {
+ grabExcessHorizontalSpace : true,
+ horizontalAlignment : "FILL"
+ }
+ },
+ Button {
+ text : "Browse ..."
+ },
+ // ----------
+ Label {
+ text : "Name"
+ },
+ TextField id className {
+ static constraint : GridData {
+ grabExcessHorizontalSpace : true,
+ horizontalAlignment : "FILL"
+ }
+ },
+ Label,
+ // ----------
+ Label {
+ text : "Modifier"
+ },
+ GridLayoutPane {
+ numColumns : 3,
+ children : [
+ RadioButton id publicModifier {
+ text : "public",
+ selected : true,
+ toggleGroup : idref visibilityMods
+ },
+ RadioButton id packageModifier {
+ text : "package",
+ toggleGroup : idref visibilityMods
+ },
+ RadioButton id protectedModifier {
+ text : "protected",
+ toggleGroup : idref visibilityMods
+ }
+ ]
+ },
+ Label,
+ // ----------
+ Label,
+ GridLayoutPane {
+ numColumns : 4,
+ children : [
+ CheckBox id abstractModifier {
+ text : "abstract"
+ },
+ CheckBox id finalModifier {
+ text : "final"
+ }
+ ]
+ },
+ Label
+ ]
+ }
+}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxml b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxml
new file mode 100644
index 000000000..7401e7d9f
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Do not edit this file it is generated by e(fx)clipse from ../src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPane.fxgraph
+-->
+
+<?import java.lang.*?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.CheckBox?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.RadioButton?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.control.ToggleGroup?>
+<?import org.eclipse.fx.ui.panes.GridData?>
+<?import org.eclipse.fx.ui.panes.GridLayoutPane?>
+
+<GridLayoutPane xmlns:fx="http://javafx.com/fxml" fx:controller="org.eclipse.fx.code.compensator.project.jdt.handler.NewClassPaneController" numColumns="3">
+ <fx:define>
+ <ToggleGroup fx:id="visibilityMods"/>
+ </fx:define>
+
+ <children>
+ <Label text="Package"/>
+ <TextField fx:id="packageField">
+ <GridLayoutPane.constraint>
+ <GridData grabExcessHorizontalSpace="true" horizontalAlignment="FILL"/>
+ </GridLayoutPane.constraint>
+ </TextField>
+ <Button text="Browse ..."/>
+ <Label text="Name"/>
+ <TextField fx:id="className">
+ <GridLayoutPane.constraint>
+ <GridData grabExcessHorizontalSpace="true" horizontalAlignment="FILL"/>
+ </GridLayoutPane.constraint>
+ </TextField>
+ <Label/>
+ <Label text="Modifier"/>
+ <GridLayoutPane numColumns="3">
+ <children>
+ <RadioButton fx:id="publicModifier" text="public" selected="true" toggleGroup="$visibilityMods"/>
+ <RadioButton fx:id="packageModifier" text="package" toggleGroup="$visibilityMods"/>
+ <RadioButton fx:id="protectedModifier" text="protected" toggleGroup="$visibilityMods"/>
+ </children>
+ </GridLayoutPane>
+ <Label/>
+ <Label/>
+ <GridLayoutPane numColumns="4">
+ <children>
+ <CheckBox fx:id="abstractModifier" text="abstract"/>
+ <CheckBox fx:id="finalModifier" text="final"/>
+ </children>
+ </GridLayoutPane>
+ <Label/>
+ </children>
+</GridLayoutPane>
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPaneController.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPaneController.java
new file mode 100644
index 000000000..486d7bf10
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassPaneController.java
@@ -0,0 +1,58 @@
+package org.eclipse.fx.code.compensator.project.jdt.handler;
+
+import java.net.URL;
+import java.util.ResourceBundle;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
+import org.eclipse.fx.code.compensator.project.jdt.internal.JDTPackageItem;
+
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.TextField;
+import javafx.scene.control.RadioButton;
+import javafx.scene.control.CheckBox;
+
+public class NewClassPaneController implements Initializable {
+
+ @FXML TextField packageField;
+ @FXML TextField className;
+ @FXML RadioButton publicModifier;
+ @FXML RadioButton packageModifier;
+ @FXML RadioButton protectedModifier;
+ @FXML CheckBox abstractModifier;
+ @FXML CheckBox finalModifier;
+
+ private final ProjectNavigatorItem navigationItem;
+
+ @Inject
+ public NewClassPaneController(@Named("navigatorSelection") ProjectNavigatorItem navigationItem) {
+ this.navigationItem = navigationItem;
+ }
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources) {
+ if( navigationItem instanceof JDTPackageItem ) {
+ StringBuilder b = new StringBuilder();
+ JDTPackageItem i = (JDTPackageItem) navigationItem;
+ b.append(i.getLabel());
+
+ while( i.getParent() instanceof JDTPackageItem ) {
+ i = (JDTPackageItem) i.getParent();
+ b.insert(0, i.getLabel() + ".");
+ }
+
+ packageField.setText(b.toString());
+ }
+ }
+
+ public String getPackageName() {
+ return packageField.getText();
+ }
+
+ public String getClassName() {
+ return className.getText();
+ }
+}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassTemplate.xtend b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassTemplate.xtend
new file mode 100644
index 000000000..58d824cd3
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/NewClassTemplate.xtend
@@ -0,0 +1,11 @@
+package org.eclipse.fx.code.compensator.project.jdt.handler
+
+class NewClassTemplate {
+ def static generate(String packagename, String className) '''
+ package «packagename»;
+
+ public class «className» {
+
+ }
+ '''
+} \ No newline at end of file
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/OpenServerManagedFile.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/OpenServerManagedFile.java
new file mode 100644
index 000000000..333ba157b
--- /dev/null
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/handler/OpenServerManagedFile.java
@@ -0,0 +1,60 @@
+package org.eclipse.fx.code.compensator.project.jdt.handler;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
+import org.eclipse.e4.ui.model.application.ui.basic.MStackElement;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService.PartState;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.fx.code.compensator.editor.TextEditor;
+import org.eclipse.fx.code.compensator.editor.services.FileIconLookup;
+import org.eclipse.fx.code.compensator.model.workbench.Module;
+import org.eclipse.fx.code.compensator.model.workbench.Project;
+
+public class OpenServerManagedFile {
+ @Execute
+ public void open(
+ Project project,
+ EModelService modelService,
+ EPartService partService,
+ MPerspective perspective,
+ FileIconLookup fileLookup,
+ @Named("projectid") String projectId,
+ @Named("moduleName") String modulename,
+ @Named("modulePath") String modulePath) {
+ System.err.println("RUNNING");
+ MPartStack element = (MPartStack) modelService.find("org.eclipse.fx.code.compensator.project.partstack.1", perspective);
+
+ String url = "jdt:/"+projectId+"/"+modulename+"/"+modulePath;
+
+ for( MStackElement p : element.getChildren() ) {
+ if( url.equals(p.getPersistedState().get(TextEditor.DOCUMENT_URL)) ) {
+ partService.showPart((MPart)p, PartState.ACTIVATE);
+ }
+ }
+
+ String moduleRoot = null;
+ for( Module m : project.getModuleList() ) {
+ if( m.getName().equals(modulename) ) {
+ moduleRoot = m.getRootFolderUrl();
+ }
+ }
+
+ MPart p = modelService.createModelElement(MPart.class);
+ p.setContributionURI("bundleclass://org.eclipse.fx.code.compensator.editor/org.eclipse.fx.code.compensator.editor.TextEditor");
+ p.getPersistedState().put(TextEditor.DOCUMENT_URL, url);
+ p.getPersistedState().put(TextEditor.VCS_URL, moduleRoot + "/" + modulePath);
+
+ p.setLabel(URI.createURI(url).lastSegment());
+ p.setIconURI(fileLookup.getFileIcon(url).toString());
+ p.setCloseable(true);
+ p.getTags().add(EPartService.REMOVE_ON_HIDE_TAG);
+ element.getChildren().add(p);
+ partService.showPart(p, PartState.ACTIVATE);
+ }
+}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTInstanceProject.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTInstanceProject.java
index bc98bfd9e..2898d0b7e 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTInstanceProject.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTInstanceProject.java
@@ -23,6 +23,7 @@ import org.eclipse.fx.code.compensator.model.workbench.Project;
import org.eclipse.fx.code.compensator.model.workbench.VCSRepository;
import org.eclipse.fx.code.compensator.project.InstanceProject;
import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
+import org.eclipse.fx.code.compensator.project.bt.BugTrackerService;
import org.eclipse.fx.code.compensator.project.vcs.VersionControlService;
import org.eclipse.fx.code.server.jdt.JDTServer;
import org.eclipse.fx.core.di.Service;
@@ -43,8 +44,9 @@ public class JDTInstanceProject extends InstanceProject {
EModelService modelService,
MPerspective perspective,
FileIconLookup fileLookup,
- @Service List<VersionControlService> versionControlService) {
- super(eventBroker, project, versionControlService);
+ @Service List<VersionControlService> versionControlService,
+ @Service List<BugTrackerService> bugtrackerService) {
+ super(eventBroker, project, versionControlService, bugtrackerService);
this.projectServer = projectServer;
this.partService = partService;
this.modelService = modelService;
@@ -96,5 +98,6 @@ public class JDTInstanceProject extends InstanceProject {
return true;
}
return false;
- }
+ }
+
} \ No newline at end of file
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTModuleItem.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTModuleItem.java
index d27bf93ce..d795da451 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTModuleItem.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTModuleItem.java
@@ -13,6 +13,7 @@ import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import org.eclipse.fx.code.compensator.model.workbench.Module;
+import org.eclipse.fx.code.compensator.project.Constants;
import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
import org.eclipse.fx.code.compensator.project.navigator.FileItem;
import org.eclipse.fx.code.compensator.project.navigator.FolderItem;
@@ -20,6 +21,7 @@ import org.eclipse.fx.code.compensator.project.navigator.PathItem;
import org.eclipse.fx.core.function.ExExecutor;
import org.eclipse.fx.core.log.Logger;
import org.eclipse.fx.core.log.LoggerCreator;
+import org.osgi.service.event.Event;
public class JDTModuleItem implements ProjectNavigatorItem, JDTPathItem {
private final Module module;
@@ -33,8 +35,10 @@ public class JDTModuleItem implements ProjectNavigatorItem, JDTPathItem {
this.parent = parent;
this.module = module;
this.instanceProject = instanceProject;
-
+ this.module.setUserdata(this);
+
this.path = Paths.get(URI.create(module.getRootFolderUrl()));
+// this.instanceProject.getEventBroker().subscribe(Constants.TOPIC_NEW_FILE, this::handleNewFile);
}
@Override
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPackageItem.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPackageItem.java
index 9416dd187..a7b95f0e8 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPackageItem.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPackageItem.java
@@ -4,6 +4,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.util.function.BiFunction;
+import org.eclipse.fx.code.compensator.project.Constants;
import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
import org.eclipse.fx.code.compensator.project.navigator.FileItem;
import org.eclipse.fx.code.compensator.project.navigator.FolderItem;
@@ -22,8 +23,9 @@ public class JDTPackageItem extends FolderItem implements ProjectNavigatorItem,
public JDTPackageItem(FolderItem parent, Path p) {
super(parent,p,FACTORY);
+ getJdtProject().getEventBroker().subscribe(Constants.TOPIC_NEW_FILE, e -> refresh());
}
-
+
public URI getIcon() {
return URI.createPlatformPluginURI("org.eclipse.fx.code.compensator.project.jdt","css/icons/16/package_obj.png");
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPathItem.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPathItem.java
index 47b13dd7b..308c1024d 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPathItem.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTPathItem.java
@@ -1,7 +1,9 @@
package org.eclipse.fx.code.compensator.project.jdt.internal;
+import org.eclipse.fx.code.compensator.project.ProjectNavigatorItem;
-public interface JDTPathItem {
+
+public interface JDTPathItem extends ProjectNavigatorItem {
public JDTModuleItem getModuleItem();
public JDTInstanceProject getJdtProject();
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTServerInput.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTServerInput.java
index bfb381eb1..1d745122d 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTServerInput.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/internal/JDTServerInput.java
@@ -28,7 +28,6 @@ public class JDTServerInput implements Input<String>, ContentTypeProvider, URIPr
private VCSRepositoryInstance repositoryInstance;
private Path filePath;
-
@Inject
public JDTServerInput(@Named(TextEditor.DOCUMENT_URL) String url, @Named(TextEditor.VCS_URL) String vcsUrl, InstanceProject project, JDTServerFactory factory) {
org.eclipse.emf.common.util.URI uri = org.eclipse.emf.common.util.URI.createURI(url);
@@ -97,22 +96,7 @@ public class JDTServerInput implements Input<String>, ContentTypeProvider, URIPr
String resourceId = this.openFile.get();
Future<ByteBuffer> data = this.server.getFileContent(resourceId);
- // Freaking hack because JavaFX can not deal with TABs
- String s = new String(data.get().array());
-// BufferedReader reader = new BufferedReader(new StringReader(s));
-// StringBuilder b = new StringBuilder();
-// String line;
-// while( (line = reader.readLine()) != null ) {
-// //FIXME We need to replace TABs for now
-// b.append(line.replaceAll("\t", " ")+"\n");
-// }
-// reader.close();
-//
-// if( ! s.equals(b.toString()) ) {
-// this.server.setFileContent(resourceId, ByteBuffer.wrap(b.toString().getBytes())).get();
-// this.server.persistContent(resourceId);
-// }
- return s;
+ return new String(data.get().array());
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/DebugElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/DebugElement.java
index caf677b86..5d8d14d29 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/DebugElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/DebugElement.java
@@ -5,7 +5,7 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class DebugElement extends ToolbarElement {
public DebugElement() {
- super("debug-button", "Run Executable in Debugger");
+ super("debug-button", "Run Executable in Debugger","org.eclipse.fx.code.compensator.project.jdt.command.debug");
}
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewClassElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewClassElement.java
index fcf38d778..9d1991442 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewClassElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewClassElement.java
@@ -5,7 +5,6 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class NewClassElement extends ToolbarElement {
public NewClassElement() {
- super("new-java-class", "Create a new java class");
+ super("new-java-class", "Create a new java class","org.eclipse.fx.code.compensator.project.jdt.command.newclass");
}
-
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewEnumElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewEnumElement.java
index 4bbbe3321..f88acf3e2 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewEnumElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewEnumElement.java
@@ -5,7 +5,7 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class NewEnumElement extends ToolbarElement {
public NewEnumElement() {
- super("new-java-enum", "Create a new enum");
+ super("new-java-enum", "Create a new enum","org.eclipse.fx.code.compensator.project.jdt.command.newenum");
}
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewInterfaceElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewInterfaceElement.java
index 43fcc5a4d..36d575646 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewInterfaceElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewInterfaceElement.java
@@ -5,7 +5,7 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class NewInterfaceElement extends ToolbarElement {
public NewInterfaceElement() {
- super("new-java-interface", "Create a new interface");
+ super("new-java-interface", "Create a new interface","org.eclipse.fx.code.compensator.project.jdt.command.newinterface");
}
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewModuleElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewModuleElement.java
index f3933313a..7bcd9ab90 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewModuleElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewModuleElement.java
@@ -5,7 +5,7 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class NewModuleElement extends ToolbarElement {
public NewModuleElement() {
- super("new-java-module", "Create a new module");
+ super("new-java-module", "Create a new module","org.eclipse.fx.code.compensator.project.jdt.command.newmodule");
}
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewPackageElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewPackageElement.java
index 221000bbc..719ee2f52 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewPackageElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/NewPackageElement.java
@@ -5,7 +5,7 @@ import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
public class NewPackageElement extends ToolbarElement {
public NewPackageElement() {
- super("new-java-package", "Create a new package");
+ super("new-java-package", "Create a new package","org.eclipse.fx.code.compensator.project.jdt.command.newpackage");
}
}
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/RunElement.java b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/RunElement.java
index 8cc4aef13..ff21056b2 100644
--- a/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/RunElement.java
+++ b/experimental/compensator/org.eclipse.fx.code.compensator.project.jdt/src/org/eclipse/fx/code/compensator/project/jdt/tb/RunElement.java
@@ -1,16 +1,10 @@
package org.eclipse.fx.code.compensator.project.jdt.tb;
import org.eclipse.fx.code.compensator.project.ProjectService.ToolbarElement;
-import org.eclipse.fx.core.di.Invoke;
public class RunElement extends ToolbarElement {
public RunElement() {
- super("run-button", "Run Executable");
- }
-
- @Invoke
- public void runExecutable() {
-
+ super("run-button", "Run Executable","org.eclipse.fx.code.compensator.project.jdt.command.run");
}
}

Back to the top