diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java | 294 |
1 files changed, 147 insertions, 147 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java index 5a0c4ee25d..bfe386204e 100644 --- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java +++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/schema/ObjyBase.java @@ -1,147 +1,147 @@ -/* - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Simon McDuff - initial API and implementation - * Ibrahim Sallam - code refactoring for CDO 3.0 - */ -package org.eclipse.emf.cdo.server.internal.objectivity.schema; - -import org.eclipse.emf.cdo.server.internal.objectivity.bundle.OM; -import org.eclipse.emf.cdo.server.internal.objectivity.db.ObjySchema; - -import org.eclipse.net4j.util.om.trace.ContextTracer; - -import com.objy.as.app.Proposed_Class; -import com.objy.as.app.Rel_Copy; -import com.objy.as.app.Rel_Propagation; -import com.objy.as.app.Rel_Versioning; -import com.objy.as.app.d_Access_Kind; -import com.objy.as.app.d_Module; -import com.objy.as.app.ooBaseType; - -/** - * EMF Classes in Objectivity are enhanced with this base class. This class is use for the revision data as a base for - * other classes created. - * - * @author ibrahim - */ -public class ObjyBase -{ - private static final ContextTracer TRACER_DEBUG = new ContextTracer(OM.DEBUG, ObjyBase.class); - - public static final String CLASS_NAME = "ObjyBase"; - - public static final String ATT_CONTAINERID = "oo_containerId"; - - public static final String ATT_CONTAINER_FEATUERID = "oo_containerFeatureId"; - - public static final String ATT_RESOURCEID = "oo_resourceId"; - - public static final String ATT_VERSION = "oo_version"; - - public static final String ATT_REVISED_TIME = "oo_revisedTime"; - - public static final String ATT_CREATION_TIME = "oo_creationTime"; - - public static final String ATT_REVISIONS = "oo_revisions"; - - public static final String ATT_BRANCHID = "oo_branchId"; - - public static final String ATT_BASE = "oo_base"; - - public static final String ATT_LAST_REVISION = "oo_lastRevision"; - - public static void buildSchema() - { - d_Module top_mod = ObjySchema.getTopModule(); - if (top_mod.resolve_class(ObjyBase.CLASS_NAME) == null - && top_mod.resolve_proposed_class(ObjyBase.CLASS_NAME) == null) - { - if (TRACER_DEBUG.isEnabled()) - { - TRACER_DEBUG.trace("Schema not found for ooBase. Adding it."); - } - - boolean inProcess = top_mod.proposed_classes().hasNext(); - - Proposed_Class propClass = top_mod.propose_new_class(ObjyBase.CLASS_NAME); - - propClass.add_base_class(com.objy.as.app.d_Module.LAST, com.objy.as.app.d_Access_Kind.d_PUBLIC, "ooObj"); - - propClass.add_bidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_REVISIONS, - ObjyBase.CLASS_NAME, false, false, true, Rel_Copy.DELETE, Rel_Versioning.COPY, - Rel_Propagation.LOCK_YES_DELETE_YES, ObjyBase.ATT_BASE, false); - - // propClass.add_bidirectional_relationship(position, visibility, - // name, destinationClassName, isInline, isShort, isToMany, - // copyMode, versioning, propagation, inverseName, inverseIsToMany) - - propClass.add_bidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_BASE, - ObjyBase.CLASS_NAME, false, false, false, Rel_Copy.DELETE, Rel_Versioning.COPY, - Rel_Propagation.LOCK_YES_DELETE_YES, ObjyBase.ATT_REVISIONS, true); - - propClass.add_unidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_LAST_REVISION, - ObjyBase.CLASS_NAME, true, false, false, Rel_Copy.DELETE, Rel_Versioning.COPY, - Rel_Propagation.LOCK_YES_DELETE_YES); - - propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_CONTAINER_FEATUERID, // Attribute name - 1, // # elements in fixed-size array - ooBaseType.ooINT32 // Type of numeric data - ); // Default value - - propClass.add_ref_attribute(com.objy.as.app.d_Module.LAST, // Access kind - d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_CONTAINERID, // Attribute name - 1, // # elements in fixed-size array - "ooObj", false); // Default value // Default value - - propClass.add_ref_attribute(com.objy.as.app.d_Module.LAST, // Access kind - d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_RESOURCEID, // Attribute name - 1, // # elements in fixed-size array - "ooObj", false); // Default value // Default value - - propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_VERSION, // Attribute name - 1, // # elements in fixed-size array - ooBaseType.ooINT32 // Type of numeric data - ); // Default value - - propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_BRANCHID, // Attribute name - 1, // # elements in fixed-size array - ooBaseType.ooINT32 // Type of numeric data - ); // Default value - - propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_CREATION_TIME, // Attribute name - 1, // # elements in fixed-size array - ooBaseType.ooINT64 // Type of numeric data - ); // Default value - - propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind - ObjyBase.ATT_REVISED_TIME, // Attribute name - 1, // # elements in fixed-size array - ooBaseType.ooINT64 // Type of numeric data - ); // Default value - - if (!inProcess) - { - top_mod.activate_proposals(true, true); - } - - if (TRACER_DEBUG.isEnabled()) - { - TRACER_DEBUG.trace("SCHEMA changed : ooBaseClass added"); - } - } - - } - -} +/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Simon McDuff - initial API and implementation
+ * Ibrahim Sallam - code refactoring for CDO 3.0
+ */
+package org.eclipse.emf.cdo.server.internal.objectivity.schema;
+
+import org.eclipse.emf.cdo.server.internal.objectivity.bundle.OM;
+import org.eclipse.emf.cdo.server.internal.objectivity.db.ObjySchema;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import com.objy.as.app.Proposed_Class;
+import com.objy.as.app.Rel_Copy;
+import com.objy.as.app.Rel_Propagation;
+import com.objy.as.app.Rel_Versioning;
+import com.objy.as.app.d_Access_Kind;
+import com.objy.as.app.d_Module;
+import com.objy.as.app.ooBaseType;
+
+/**
+ * EMF Classes in Objectivity are enhanced with this base class. This class is use for the revision data as a base for
+ * other classes created.
+ *
+ * @author ibrahim
+ */
+public class ObjyBase
+{
+ private static final ContextTracer TRACER_DEBUG = new ContextTracer(OM.DEBUG, ObjyBase.class);
+
+ public static final String CLASS_NAME = "ObjyBase";
+
+ public static final String ATT_CONTAINERID = "oo_containerId";
+
+ public static final String ATT_CONTAINER_FEATUERID = "oo_containerFeatureId";
+
+ public static final String ATT_RESOURCEID = "oo_resourceId";
+
+ public static final String ATT_VERSION = "oo_version";
+
+ public static final String ATT_REVISED_TIME = "oo_revisedTime";
+
+ public static final String ATT_CREATION_TIME = "oo_creationTime";
+
+ public static final String ATT_REVISIONS = "oo_revisions";
+
+ public static final String ATT_BRANCHID = "oo_branchId";
+
+ public static final String ATT_BASE = "oo_base";
+
+ public static final String ATT_LAST_REVISION = "oo_lastRevision";
+
+ public static void buildSchema()
+ {
+ d_Module top_mod = ObjySchema.getTopModule();
+ if (top_mod.resolve_class(ObjyBase.CLASS_NAME) == null
+ && top_mod.resolve_proposed_class(ObjyBase.CLASS_NAME) == null)
+ {
+ if (TRACER_DEBUG.isEnabled())
+ {
+ TRACER_DEBUG.trace("Schema not found for ooBase. Adding it.");
+ }
+
+ boolean inProcess = top_mod.proposed_classes().hasNext();
+
+ Proposed_Class propClass = top_mod.propose_new_class(ObjyBase.CLASS_NAME);
+
+ propClass.add_base_class(com.objy.as.app.d_Module.LAST, com.objy.as.app.d_Access_Kind.d_PUBLIC, "ooObj");
+
+ propClass.add_bidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_REVISIONS,
+ ObjyBase.CLASS_NAME, false, false, true, Rel_Copy.DELETE, Rel_Versioning.COPY,
+ Rel_Propagation.LOCK_YES_DELETE_YES, ObjyBase.ATT_BASE, false);
+
+ // propClass.add_bidirectional_relationship(position, visibility,
+ // name, destinationClassName, isInline, isShort, isToMany,
+ // copyMode, versioning, propagation, inverseName, inverseIsToMany)
+
+ propClass.add_bidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_BASE,
+ ObjyBase.CLASS_NAME, false, false, false, Rel_Copy.DELETE, Rel_Versioning.COPY,
+ Rel_Propagation.LOCK_YES_DELETE_YES, ObjyBase.ATT_REVISIONS, true);
+
+ propClass.add_unidirectional_relationship(d_Module.LAST, d_Access_Kind.d_PUBLIC, ObjyBase.ATT_LAST_REVISION,
+ ObjyBase.CLASS_NAME, true, false, false, Rel_Copy.DELETE, Rel_Versioning.COPY,
+ Rel_Propagation.LOCK_YES_DELETE_YES);
+
+ propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_CONTAINER_FEATUERID, // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooINT32 // Type of numeric data
+ ); // Default value
+
+ propClass.add_ref_attribute(com.objy.as.app.d_Module.LAST, // Access kind
+ d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_CONTAINERID, // Attribute name
+ 1, // # elements in fixed-size array
+ "ooObj", false); // Default value // Default value
+
+ propClass.add_ref_attribute(com.objy.as.app.d_Module.LAST, // Access kind
+ d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_RESOURCEID, // Attribute name
+ 1, // # elements in fixed-size array
+ "ooObj", false); // Default value // Default value
+
+ propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_VERSION, // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooINT32 // Type of numeric data
+ ); // Default value
+
+ propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_BRANCHID, // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooINT32 // Type of numeric data
+ ); // Default value
+
+ propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_CREATION_TIME, // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooINT64 // Type of numeric data
+ ); // Default value
+
+ propClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ ObjyBase.ATT_REVISED_TIME, // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooINT64 // Type of numeric data
+ ); // Default value
+
+ if (!inProcess)
+ {
+ top_mod.activate_proposals(true, true);
+ }
+
+ if (TRACER_DEBUG.isEnabled())
+ {
+ TRACER_DEBUG.trace("SCHEMA changed : ooBaseClass added");
+ }
+ }
+
+ }
+
+}
|