Skip to content

Commit

Permalink
Add security support to CDO-LM #5
Browse files Browse the repository at this point in the history
  • Loading branch information
estepper committed Aug 30, 2023
1 parent ba5fee8 commit 1cb4ebc
Show file tree
Hide file tree
Showing 118 changed files with 5,886 additions and 494 deletions.
14 changes: 14 additions & 0 deletions features/org.eclipse.emf.cdo.lm-feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,18 @@
version="0.0.0"
unpack="false"/>

<plugin
id="org.eclipse.emf.cdo.lm.security"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>

<plugin
id="org.eclipse.emf.cdo.lm.security.edit"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>

</feature>
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ public void dispose()

protected void validateController()
{
if (repositoryNameText != null)
if (repositoryNameText != null && !repositoryNameText.isDisposed())
{
repositoryName = repositoryNameText.getText();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,12 @@
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/emf/cdo/lm/assembly/provider/AssemblyItemProviderAdapterFactory.java" type="org.eclipse.emf.cdo.lm.assembly.provider.AssemblyItemProviderAdapterFactory">
<filter id="336658481">
<message_arguments>
<message_argument value="org.eclipse.emf.cdo.lm.assembly.provider.AssemblyItemProviderAdapterFactory"/>
<message_argument value="childCreationExtenderManager"/>
</message_arguments>
</filter>
</resource>
</component>
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.emf.cdo.lm.assembly.edit;singleton:=true
Automatic-Module-Name: org.eclipse.emf.cdo.lm.assembly.edit
Bundle-Version: 1.0.1.qualifier
Bundle-Version: 1.1.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.emf.cdo.lm.assembly.provider.AssemblyEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.emf.cdo.lm.assembly.provider;version="1.0.1"
Export-Package: org.eclipse.emf.cdo.lm.assembly.provider;version="1.1.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.cdo.edit;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
org.eclipse.emf.cdo.lm.assembly;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
Expand Down
3 changes: 2 additions & 1 deletion plugins/org.eclipse.emf.cdo.lm.assembly.edit/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
org.eclipse.emf.edit.provider.IStructuredItemContentProvider
org.eclipse.emf.edit.provider.ITreeItemContentProvider
org.eclipse.emf.edit.provider.IItemLabelProvider
org.eclipse.emf.edit.provider.IItemPropertySource"/>
org.eclipse.emf.edit.provider.IItemPropertySource
org.eclipse.emf.edit.provider.IItemStyledLabelProvider"/>
</extension>

</plugin>
2 changes: 1 addition & 1 deletion plugins/org.eclipse.emf.cdo.lm.assembly.edit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

<groupId>org.eclipse.emf.cdo</groupId>
<artifactId>org.eclipse.emf.cdo.lm.assembly.edit</artifactId>
<version>1.0.1-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.provider.EcoreEditPlugin;

/**
* This is the central singleton for the Assembly edit plugin. <!--
Expand Down Expand Up @@ -48,7 +47,7 @@ public final class AssemblyEditPlugin extends EMFPlugin
*/
public AssemblyEditPlugin()
{
super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, CDOEditPlugin.INSTANCE, ModulesEditPlugin.INSTANCE, });
super(new ResourceLocator[] { CDOEditPlugin.INSTANCE, ModulesEditPlugin.INSTANCE, });
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@
import org.eclipse.emf.cdo.lm.assembly.AssemblyFactory;
import org.eclipse.emf.cdo.lm.assembly.AssemblyPackage;

import org.eclipse.net4j.util.StringUtil;

import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.StyledString;
import org.eclipse.emf.edit.provider.ViewerNotification;

import java.util.Collection;
Expand Down Expand Up @@ -138,9 +140,26 @@ protected boolean shouldComposeCreationImage()
*/
@Override
public String getText(Object object)
{
return ((StyledString)getStyledText(object)).getString();
}

/**
* This returns the label styled text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
@Override
public Object getStyledText(Object object)
{
String label = ((Assembly)object).getSystemName();
return label == null || label.length() == 0 ? getString("_UI_Assembly_type") : getString("_UI_Assembly_type") + " " + label;
if (StringUtil.isEmpty(label))
{
label = getString("_UI_Assembly_type");
}

return new StyledString(label);
}

/**
Expand Down Expand Up @@ -181,16 +200,4 @@ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors

newChildDescriptors.add(createChildParameter(AssemblyPackage.Literals.ASSEMBLY__MODULES, AssemblyFactory.eINSTANCE.createAssemblyModule()));
}

/**
* Return the resource locator for this item provider's resources. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Override
public ResourceLocator getResourceLocator()
{
return AssemblyEditPlugin.INSTANCE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,32 @@
*/
package org.eclipse.emf.cdo.lm.assembly.provider;

import org.eclipse.emf.cdo.lm.assembly.AssemblyPackage;
import org.eclipse.emf.cdo.lm.assembly.util.AssemblyAdapterFactory;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IItemStyledLabelProvider;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
Expand All @@ -39,7 +46,8 @@
* end-user-doc -->
* @generated
*/
public class AssemblyItemProviderAdapterFactory extends AssemblyAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable
public class AssemblyItemProviderAdapterFactory extends AssemblyAdapterFactory
implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender
{
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
Expand All @@ -57,6 +65,15 @@ public class AssemblyItemProviderAdapterFactory extends AssemblyAdapterFactory i
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();

/**
* This helps manage the child creation extenders.
* <!-- begin-user-doc -->
* @since 1.1
* <!-- end-user-doc -->
* @generated
*/
protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(AssemblyEditPlugin.INSTANCE, AssemblyPackage.eNS_URI);

/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc --> <!--
Expand All @@ -78,6 +95,7 @@ public AssemblyItemProviderAdapterFactory()
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
supportedTypes.add(IItemStyledLabelProvider.class);
}

/**
Expand Down Expand Up @@ -197,6 +215,39 @@ public Object adapt(Object object, Object type)
return null;
}

/**
* <!-- begin-user-doc -->
* @since 1.1
* <!-- end-user-doc -->
* @generated
*/
public List<IChildCreationExtender> getChildCreationExtenders()
{
return childCreationExtenderManager.getChildCreationExtenders();
}

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain)
{
return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
}

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator()
{
return childCreationExtenderManager;
}

/**
* This adds a listener.
* <!-- begin-user-doc --> <!-- end-user-doc -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@
import org.eclipse.emf.cdo.lm.assembly.AssemblyModule;
import org.eclipse.emf.cdo.lm.assembly.AssemblyPackage;

import org.eclipse.net4j.util.StringUtil;

import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.StyledString;
import org.eclipse.emf.edit.provider.ViewerNotification;

import java.util.Collection;
Expand Down Expand Up @@ -152,9 +154,26 @@ protected boolean shouldComposeCreationImage()
*/
@Override
public String getText(Object object)
{
return ((StyledString)getStyledText(object)).getString();
}

/**
* This returns the label styled text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
@Override
public Object getStyledText(Object object)
{
String label = ((AssemblyModule)object).getName();
return label == null || label.length() == 0 ? getString("_UI_AssemblyModule_type") : getString("_UI_AssemblyModule_type") + " " + label;
if (StringUtil.isEmpty(label))
{
label = getString("_UI_AssemblyModule_type");
}

return new StyledString(label);
}

/**
Expand Down Expand Up @@ -193,16 +212,4 @@ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors
{
super.collectNewChildDescriptors(newChildDescriptors, object);
}

/**
* Return the resource locator for this item provider's resources. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Override
public ResourceLocator getResourceLocator()
{
return AssemblyEditPlugin.INSTANCE;
}
}
8 changes: 4 additions & 4 deletions plugins/org.eclipse.emf.cdo.lm.assembly/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.emf.cdo.lm.assembly;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 1.0.1.qualifier
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.emf.cdo.lm.assembly;version="1.0.0",
org.eclipse.emf.cdo.lm.assembly.impl;version="1.0.0",
org.eclipse.emf.cdo.lm.assembly.util;version="1.0.0"
Export-Package: org.eclipse.emf.cdo.lm.assembly;version="1.0.1",
org.eclipse.emf.cdo.lm.assembly.impl;version="1.0.1",
org.eclipse.emf.cdo.lm.assembly.util;version="1.0.1"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.equinox.p2.metadata;bundle-version="[2.3.0,3.0.0)",
org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)",
Expand Down
42 changes: 24 additions & 18 deletions plugins/org.eclipse.emf.cdo.lm.assembly/model/Assembly.ecore
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="assembly" nsURI="http://www.eclipse.org/emf/CDO/lm/assembly/1.0.0"
nsPrefix="assembly">
<eClassifiers xsi:type="ecore:EClass" name="Assembly" eSuperTypes="../../org.eclipse.emf.cdo/model/etypes.ecore#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="systemName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" />
<eStructuralFeatures xsi:type="ecore:EReference" name="modules" upperBound="-1" eType="#//AssemblyModule" containment="true" eOpposite="#//AssemblyModule/assembly">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="module" />
<details key="kind" value="element" />
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssemblyModule" eSuperTypes="../../org.eclipse.emf.cdo/model/etypes.ecore#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="assembly" lowerBound="1" eType="#//Assembly" eOpposite="#//Assembly/modules" />
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" />
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.emf.cdo.lm.modules/model/Modules.ecore#//Version" />
<eStructuralFeatures xsi:type="ecore:EAttribute" name="branchPoint" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.emf.cdo/model/etypes.ecore#//BranchPointRef" />
<eStructuralFeatures xsi:type="ecore:EAttribute" name="root" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" />
</eClassifiers>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="assembly" nsURI="http://www.eclipse.org/emf/CDO/lm/assembly/1.0.0"
nsPrefix="assembly">
<eClassifiers xsi:type="ecore:EClass" name="Assembly" eSuperTypes="../../org.eclipse.emf.cdo/model/etypes.ecore#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="systemName" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modules" upperBound="-1"
eType="#//AssemblyModule" containment="true" eOpposite="#//AssemblyModule/assembly">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="name" value="module"/>
<details key="kind" value="element"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssemblyModule" eSuperTypes="../../org.eclipse.emf.cdo/model/etypes.ecore#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="assembly" lowerBound="1"
eType="#//Assembly" eOpposite="#//Assembly/modules"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.emf.cdo.lm.modules/model/Modules.ecore#//Version"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="branchPoint" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.emf.cdo/model/etypes.ecore#//BranchPointRef"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="root" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
</ecore:EPackage>
Loading

0 comments on commit 1cb4ebc

Please sign in to comment.