From c7dd466c29b321a707d3f58dea2f0cf7fee833bb Mon Sep 17 00:00:00 2001 From: Eike Stepper Date: Thu, 8 Oct 2020 18:14:47 +0200 Subject: [567696] [DB] Make it easier to customize ITypeMappings https://bugs.eclipse.org/bugs/show_bug.cgi?id=567696 --- .../examples/server/EncryptedPasswordFactory.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'plugins/org.eclipse.emf.cdo.examples') diff --git a/plugins/org.eclipse.emf.cdo.examples/src/org/eclipse/emf/cdo/examples/server/EncryptedPasswordFactory.java b/plugins/org.eclipse.emf.cdo.examples/src/org/eclipse/emf/cdo/examples/server/EncryptedPasswordFactory.java index 1a737360cf..ed8d200776 100644 --- a/plugins/org.eclipse.emf.cdo.examples/src/org/eclipse/emf/cdo/examples/server/EncryptedPasswordFactory.java +++ b/plugins/org.eclipse.emf.cdo.examples/src/org/eclipse/emf/cdo/examples/server/EncryptedPasswordFactory.java @@ -11,6 +11,7 @@ package org.eclipse.emf.cdo.examples.server; import org.eclipse.emf.cdo.security.SecurityPackage; +import org.eclipse.emf.cdo.server.db.IDBStore; import org.eclipse.emf.cdo.server.db.mapping.AbstractTypeMapping; import org.eclipse.emf.cdo.server.db.mapping.DelegatingTypeMapping; import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy; @@ -18,6 +19,7 @@ import org.eclipse.emf.cdo.server.db.mapping.ITypeMapping; import org.eclipse.emf.cdo.server.db.mapping.ITypeMapping.Provider; import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.factory.IFactory; import org.eclipse.net4j.util.factory.ProductCreationException; import org.eclipse.net4j.util.security.SecurityUtil; @@ -26,6 +28,24 @@ import org.eclipse.emf.ecore.EStructuralFeature; import javax.crypto.Cipher; /** + * This is an example on how to use a custom {@link org.eclipse.emf.cdo.server.db.mapping.ITypeMapping.Provider type mapping provider} for the + * {@link IMappingStrategy mapping strategy} of a {@link IDBStore DB store}. + *
+ * This {@link IFactory factory} is registered in the plugin.xml
as follows:
+ *
+ * <extension point="org.eclipse.net4j.util.factories"> + * <factory + * productGroup="org.eclipse.emf.cdo.server.db.typeMappingProviders" + * type="encryptedPassword" + * class="org.eclipse.emf.cdo.examples.server.EncryptedPasswordFactory"/> + * </extension>+ *
+ * Then it can be used in the cdo-server.xml
as follows:
+ *
+ * <mappingStrategy type="horizontal"> + * <property name="typeMappingProvider" value="encryptedPassword"/> + * </mappingStrategy>+ * * @author Eike Stepper */ public class EncryptedPasswordFactory extends ITypeMapping.Provider.Factory -- cgit v1.2.1