Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
import static org.flowerplatform.core.CoreConstants.DONT_PROCESS_OTHER_CONTROLLERS;

import org.flowerplatform.core.node.NodeService;
import org.flowerplatform.core.node.controller.IRemoveNodeController;
import org.flowerplatform.core.node.controller.RemoveNodeController;
import org.flowerplatform.core.node.remote.Node;
import org.flowerplatform.core.node.remote.ServiceContext;
import org.flowerplatform.util.controller.AbstractController;

/**
* @author Sebastian Solomon
*/
public class CodeSyncRemoveNodeController extends AbstractController implements IRemoveNodeController {
public class CodeSyncRemoveNodeController extends RemoveNodeController {

public CodeSyncRemoveNodeController() {
// must be executed before others.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@

import org.flowerplatform.codesync.CodeSyncConstants;
import org.flowerplatform.core.node.NodeService;
import org.flowerplatform.core.node.controller.IAddNodeController;
import org.flowerplatform.core.node.controller.AddNodeController;
import org.flowerplatform.core.node.remote.Node;
import org.flowerplatform.core.node.remote.ServiceContext;
import org.flowerplatform.util.controller.AbstractController;

/**
* @author Mariana Gheorghe
* @author Cristina Constantinescu
*/
public class CodeSyncAddNodeController extends AbstractController implements IAddNodeController {
public class CodeSyncAddNodeController extends AddNodeController {

public CodeSyncAddNodeController() {
// must be invoked after the persistence controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,17 @@
import org.flowerplatform.codesync.feature_provider.FeatureProvider;
import org.flowerplatform.core.CorePlugin;
import org.flowerplatform.core.node.NodeService;
import org.flowerplatform.core.node.controller.IPropertySetter;
import org.flowerplatform.core.node.controller.PropertySetter;
import org.flowerplatform.core.node.controller.PropertyValueWrapper;
import org.flowerplatform.core.node.remote.Node;
import org.flowerplatform.core.node.remote.ServiceContext;
import org.flowerplatform.util.Utils;
import org.flowerplatform.util.controller.AbstractController;
import org.flowerplatform.util.controller.TypeDescriptor;

/**
* @author Mariana Gheorghe
*/
public class CodeSyncPropertySetter extends AbstractController implements IPropertySetter {
public class CodeSyncPropertySetter extends PropertySetter {

public CodeSyncPropertySetter() {
// invoked before the persistence controllers
Expand Down
7 changes: 6 additions & 1 deletion org.flowerplatform.core/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@
<classpath>
<classpathentry exported="true" kind="lib" path="lib/commons-io-2.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/commons-fileupload-1.3.1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions org.flowerplatform.core/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/bin
/bin
15 changes: 14 additions & 1 deletion org.flowerplatform.core/.project
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
Expand All @@ -19,10 +24,18 @@
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
7 changes: 0 additions & 7 deletions org.flowerplatform.core/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -1,7 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="org.flowerplatform.core">
<wb-resource deploy-path="/" source-path="/src"/>
</wb-module>
</project-modules>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="java"/>
<fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project>
3 changes: 3 additions & 0 deletions org.flowerplatform.core/src/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Class-Path:

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.flowerplatform.core;

import org.flowerplatform.core.node.update.controller.UpdatePropertySetterController;
import org.flowerplatform.util.UtilConstants;

public class CoreConstants {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@
import org.flowerplatform.core.node.resource.ResourceService;
import org.flowerplatform.core.node.resource.ResourceUnsubscriber;
import org.flowerplatform.core.node.resource.in_memory.InMemoryResourceDAO;
import org.flowerplatform.core.node.update.controller.UpdateController;
import org.flowerplatform.core.node.update.controller.UpdateAddNodeController;
import org.flowerplatform.core.node.update.controller.UpdatePropertySetterController;
import org.flowerplatform.core.node.update.controller.UpdateRemoveNodeController;
import org.flowerplatform.core.repository.RepositoryChildrenProvider;
import org.flowerplatform.core.repository.RepositoryPropertiesProvider;
import org.flowerplatform.core.repository.RootChildrenProvider;
Expand Down Expand Up @@ -213,13 +215,12 @@ public void start(BundleContext context) throws Exception {
.addAdditiveController(CoreConstants.PROPERTIES_PROVIDER, new ConstantValuePropertyProvider(CoreConstants.IS_SUBSCRIBABLE, true));

getNodeTypeDescriptorRegistry().addDynamicCategoryProvider(new ResourceTypeDynamicCategoryProvider());

UpdateController updateController = new UpdateController();

getNodeTypeDescriptorRegistry().getOrCreateCategoryTypeDescriptor(UtilConstants.CATEGORY_ALL)
.addAdditiveController(CoreConstants.ADD_NODE_CONTROLLER, updateController)
.addAdditiveController(CoreConstants.REMOVE_NODE_CONTROLLER, updateController)
.addAdditiveController(CoreConstants.PROPERTY_SETTER, updateController)
.addAdditiveController(CoreConstants.ADD_NODE_CONTROLLER, new UpdateAddNodeController())
.addAdditiveController(DEFAULT_PROPERTY_PROVIDER, new PropertyDescriptorDefaultPropertyValueProvider())
.addAdditiveController(CoreConstants.REMOVE_NODE_CONTROLLER, new UpdateRemoveNodeController())
.addAdditiveController(CoreConstants.PROPERTY_SETTER, new UpdatePropertySetterController())
.addSingleController(CoreConstants.PROPERTY_FOR_TITLE_DESCRIPTOR, new GenericValueDescriptor(CoreConstants.NAME))
.addSingleController(CoreConstants.PROPERTY_FOR_SIDE_DESCRIPTOR, new GenericValueDescriptor(CoreConstants.SIDE))
.addSingleController(CoreConstants.PROPERTY_FOR_ICON_DESCRIPTOR, new GenericValueDescriptor(CoreConstants.ICONS));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package org.flowerplatform.core.file;

import static org.flowerplatform.core.CoreConstants.DONT_PROCESS_OTHER_CONTROLLERS;
import static org.flowerplatform.core.CoreConstants.FILE_IS_DIRECTORY;
import static org.flowerplatform.core.CoreConstants.FILE_NODE_TYPE;
import static org.flowerplatform.core.CoreConstants.FILE_SYSTEM_NODE_TYPE;
import static org.flowerplatform.core.CoreConstants.NAME;

import org.flowerplatform.core.CoreConstants;
import org.flowerplatform.core.CorePlugin;
import org.flowerplatform.core.node.NodeService;
import org.flowerplatform.core.node.controller.AddNodeController;
import org.flowerplatform.core.node.remote.Node;
import org.flowerplatform.core.node.remote.ServiceContext;

/**
* @author Sebastian Solomon
*/
public class FileAddNodeController extends AddNodeController {

@Override
public void addNode(Node parentNode, Node child, ServiceContext<NodeService> context) {
IFileAccessController fileAccessController = CorePlugin.getInstance()
.getFileAccessController();
Object parentFile;

try {
parentFile = fileAccessController.getFile(parentNode.getIdWithinResource());
} catch (Exception e) {
throw new RuntimeException(e);
}

if (!fileAccessController.isDirectory(parentFile)) {
parentFile = fileAccessController.getParentFile(parentFile);
String path = fileAccessController.getPath(parentFile);
Node fileParentNode;

if (path.length() != 0) { // parent File is not the FileSystem node
fileParentNode = new Node(FILE_NODE_TYPE, parentNode.getResource(), path, null);
} else {
fileParentNode = new Node(FILE_SYSTEM_NODE_TYPE, CoreConstants.SELF_RESOURCE, null, null);
}
context.getService().addChild(fileParentNode, child, context);
context.add(DONT_PROCESS_OTHER_CONTROLLERS, true);
return;
}

if (parentNode.getType().equals(FILE_SYSTEM_NODE_TYPE)) {
child.setResource(parentNode.getFullNodeId());
}

String name = (String) context.get(NAME);
Object fileToCreate = fileAccessController.getFile(parentFile, name);
child.setIdWithinResource(fileAccessController.getPath(fileToCreate));
boolean isDir = (boolean) context.get(FILE_IS_DIRECTORY);

if (fileAccessController.exists(fileToCreate)) {
throw new RuntimeException("There is already a file with the same name in this location.");
} else if (!fileAccessController.createFile(fileToCreate, isDir)) {
throw new RuntimeException("The filename, directory name, or volume label syntax is incorrect");
}
child.getOrPopulateProperties();
}

}

This file was deleted.

Loading