Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java364
1 files changed, 182 insertions, 182 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java
index 953ac6c9a4..a112c9c525 100644
--- a/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.objectivity/src/org/eclipse/emf/cdo/server/internal/objectivity/mapper/ByteArrayTypeMapper.java
@@ -1,182 +1,182 @@
-/*
- * 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.mapper;
-
-import org.eclipse.emf.cdo.server.internal.objectivity.bundle.OM;
-import org.eclipse.emf.cdo.server.internal.objectivity.db.ObjyObject;
-
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import com.objy.as.app.Class_Object;
-import com.objy.as.app.Numeric_Value;
-import com.objy.as.app.Proposed_Class;
-import com.objy.as.app.VArray_Object;
-import com.objy.as.app.d_Access_Kind;
-import com.objy.as.app.d_Attribute;
-import com.objy.as.app.d_Type;
-import com.objy.as.app.ooBaseType;
-
-/**
- * @author Simon McDuff
- */
-// This is a special class compared to the other array of simple types.
-public class ByteArrayTypeMapper extends BasicTypeMapper implements ISingleTypeMapper
-{
- private static final ContextTracer TRACER_DEBUG = new ContextTracer(OM.DEBUG, ByteArrayTypeMapper.class);
-
- static ByteArrayTypeMapper INSTANCE = new ByteArrayTypeMapper();
-
- protected ooBaseType getObjyBaseType()
- {
- return ooBaseType.ooINT8;
- }
-
- public Object getValue(ObjyObject objyObject, EStructuralFeature feature)
- {
- // Class_Position position = getAttributePosition(objyObject, feature);
- String attributeName = getAttributeName(feature);
-
- VArray_Object vArray = objyObject.get_varray(attributeName/* position */);
-
- // Class_Position nullPosition = getNullAttributePosition(objyObject, feature);
- String nullAttributeName = getNullAttributeName(feature);
- boolean isNull = objyObject.get_numeric(nullAttributeName/* nullPosition */).booleanValue();
-
- if (isNull)
- {
- return null;
- }
-
- int size = (int)vArray.size();
- byte byteArray[] = new byte[size];
- for (int i = 0; i < size; i++)
- {
- Numeric_Value value = vArray.get_numeric(i);
- byteArray[i] = value.byteValue();
- }
- return byteArray;
- }
-
- public void setValue(ObjyObject objyObject, EStructuralFeature feature, Object newValue)
- {
- // Class_Position position = getAttributePosition(objyObject, feature);
- String attributeName = getAttributeName(feature);
-
- VArray_Object vArray = objyObject.get_varray(attributeName/* position */);
-
- // Class_Position nullPosition = getNullAttributePosition(objyObject, feature);
- String nullAttributeName = getNullAttributeName(feature);
-
- Numeric_Value isNullValue = newValue == null ? numericTrue : numericFalse;
-
- objyObject.set_numeric(nullAttributeName /* nullPosition */, isNullValue);
-
- // System.out.println("OID: " + objyObject.ooId().getStoreString() + " - START work");
- if (newValue == null)
- {
- vArray.resize(0);
- return;
- }
-
- byte byteArray[] = (byte[])newValue;
-
- if (vArray.size() != byteArray.length)
- {
- vArray.resize(byteArray.length);
- }
-
- for (int i = 0; i < byteArray.length; i++)
- {
- Byte byteValue = byteArray[i];
- Numeric_Value numericValue = new Numeric_Value(byteValue);
- vArray.set_numeric(i, numericValue);
- }
- // System.out.println("OID: " + objyObject.ooId().getStoreString() + " - DONE.");
- }
-
- /**
- *
- */
- public boolean createSchema(Proposed_Class proposedClass, EStructuralFeature feature)
- {
- if (TRACER_DEBUG.isEnabled())
- {
- TRACER_DEBUG.trace("Adding attribute " + feature.getName() + " " + this.getClass().getName());
- }
-
- proposedClass.add_varray_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
- getAttributeName(feature), // Attribute name
- 1, // # elements in fixed-size array
- getObjyBaseType()); // Default value
-
- proposedClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
- getNullAttributeName(feature), // Attribute name
- 1, // # elements in fixed-size array
- ooBaseType.ooBOOLEAN // Default value
- );
-
- return false;
- }
-
- public boolean validate(d_Attribute ooAttribute, EStructuralFeature feature)
- {
- d_Type type = ooAttribute.type_of();
-
- return type.is_varray_basic_type();
- }
-
- // TODO - this is not the most optimized version fo the code.
- // we are trying to finish functionality for now 100202:IS
- // public void add(ObjyObject objyObject, EStructuralFeature feature,
- // Class_Position position, int index, Object value)
- // {
- // if (index < size(objyObject, feature, position))
- // {
- // throw new UnsupportedOperationException("adding object inside VArray... Implement Me!!!");
- // }
- //
- // VArray_Object vArray = objyObject.ooClassObject().get_varray(position);
- // Numeric_Value numericValue = new Numeric_Value((Byte)value);
- // vArray.extend(numericValue);
- // }
-
- public Object remove(ObjyObject objyObject, EStructuralFeature feature)
- {
- // TODO Auto-generated method stub
- throw new UnsupportedOperationException("Implement me!!");
- }
-
- public void delete(ObjyObject objyObject, EStructuralFeature feature)
- {
- // TODO Auto-generated method stub
- throw new UnsupportedOperationException("Implement me!!");
- }
-
- public void initialize(Class_Object classObject, EStructuralFeature feature)
- {
- // TODO Auto-generated method stub
- // throw new UnsupportedOperationException("Implement me!!");
- // at least rest the varray...
- // Class_Position position = classObject.type_of().position_in_class(feature.getName());
- VArray_Object vArray = classObject.nget_varray(feature.getName());
- vArray.resize(0);
- }
-
- public void modifySchema(Proposed_Class proposedooClass, EStructuralFeature feature)
- {
- // TODO Auto-generated method stub
- throw new UnsupportedOperationException("Implement me!!");
- }
-
-}
+/*
+ * 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.mapper;
+
+import org.eclipse.emf.cdo.server.internal.objectivity.bundle.OM;
+import org.eclipse.emf.cdo.server.internal.objectivity.db.ObjyObject;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import com.objy.as.app.Class_Object;
+import com.objy.as.app.Numeric_Value;
+import com.objy.as.app.Proposed_Class;
+import com.objy.as.app.VArray_Object;
+import com.objy.as.app.d_Access_Kind;
+import com.objy.as.app.d_Attribute;
+import com.objy.as.app.d_Type;
+import com.objy.as.app.ooBaseType;
+
+/**
+ * @author Simon McDuff
+ */
+// This is a special class compared to the other array of simple types.
+public class ByteArrayTypeMapper extends BasicTypeMapper implements ISingleTypeMapper
+{
+ private static final ContextTracer TRACER_DEBUG = new ContextTracer(OM.DEBUG, ByteArrayTypeMapper.class);
+
+ static ByteArrayTypeMapper INSTANCE = new ByteArrayTypeMapper();
+
+ protected ooBaseType getObjyBaseType()
+ {
+ return ooBaseType.ooINT8;
+ }
+
+ public Object getValue(ObjyObject objyObject, EStructuralFeature feature)
+ {
+ // Class_Position position = getAttributePosition(objyObject, feature);
+ String attributeName = getAttributeName(feature);
+
+ VArray_Object vArray = objyObject.get_varray(attributeName/* position */);
+
+ // Class_Position nullPosition = getNullAttributePosition(objyObject, feature);
+ String nullAttributeName = getNullAttributeName(feature);
+ boolean isNull = objyObject.get_numeric(nullAttributeName/* nullPosition */).booleanValue();
+
+ if (isNull)
+ {
+ return null;
+ }
+
+ int size = (int)vArray.size();
+ byte byteArray[] = new byte[size];
+ for (int i = 0; i < size; i++)
+ {
+ Numeric_Value value = vArray.get_numeric(i);
+ byteArray[i] = value.byteValue();
+ }
+ return byteArray;
+ }
+
+ public void setValue(ObjyObject objyObject, EStructuralFeature feature, Object newValue)
+ {
+ // Class_Position position = getAttributePosition(objyObject, feature);
+ String attributeName = getAttributeName(feature);
+
+ VArray_Object vArray = objyObject.get_varray(attributeName/* position */);
+
+ // Class_Position nullPosition = getNullAttributePosition(objyObject, feature);
+ String nullAttributeName = getNullAttributeName(feature);
+
+ Numeric_Value isNullValue = newValue == null ? numericTrue : numericFalse;
+
+ objyObject.set_numeric(nullAttributeName /* nullPosition */, isNullValue);
+
+ // System.out.println("OID: " + objyObject.ooId().getStoreString() + " - START work");
+ if (newValue == null)
+ {
+ vArray.resize(0);
+ return;
+ }
+
+ byte byteArray[] = (byte[])newValue;
+
+ if (vArray.size() != byteArray.length)
+ {
+ vArray.resize(byteArray.length);
+ }
+
+ for (int i = 0; i < byteArray.length; i++)
+ {
+ Byte byteValue = byteArray[i];
+ Numeric_Value numericValue = new Numeric_Value(byteValue);
+ vArray.set_numeric(i, numericValue);
+ }
+ // System.out.println("OID: " + objyObject.ooId().getStoreString() + " - DONE.");
+ }
+
+ /**
+ *
+ */
+ public boolean createSchema(Proposed_Class proposedClass, EStructuralFeature feature)
+ {
+ if (TRACER_DEBUG.isEnabled())
+ {
+ TRACER_DEBUG.trace("Adding attribute " + feature.getName() + " " + this.getClass().getName());
+ }
+
+ proposedClass.add_varray_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ getAttributeName(feature), // Attribute name
+ 1, // # elements in fixed-size array
+ getObjyBaseType()); // Default value
+
+ proposedClass.add_basic_attribute(com.objy.as.app.d_Module.LAST, d_Access_Kind.d_PUBLIC, // Access kind
+ getNullAttributeName(feature), // Attribute name
+ 1, // # elements in fixed-size array
+ ooBaseType.ooBOOLEAN // Default value
+ );
+
+ return false;
+ }
+
+ public boolean validate(d_Attribute ooAttribute, EStructuralFeature feature)
+ {
+ d_Type type = ooAttribute.type_of();
+
+ return type.is_varray_basic_type();
+ }
+
+ // TODO - this is not the most optimized version fo the code.
+ // we are trying to finish functionality for now 100202:IS
+ // public void add(ObjyObject objyObject, EStructuralFeature feature,
+ // Class_Position position, int index, Object value)
+ // {
+ // if (index < size(objyObject, feature, position))
+ // {
+ // throw new UnsupportedOperationException("adding object inside VArray... Implement Me!!!");
+ // }
+ //
+ // VArray_Object vArray = objyObject.ooClassObject().get_varray(position);
+ // Numeric_Value numericValue = new Numeric_Value((Byte)value);
+ // vArray.extend(numericValue);
+ // }
+
+ public Object remove(ObjyObject objyObject, EStructuralFeature feature)
+ {
+ // TODO Auto-generated method stub
+ throw new UnsupportedOperationException("Implement me!!");
+ }
+
+ public void delete(ObjyObject objyObject, EStructuralFeature feature)
+ {
+ // TODO Auto-generated method stub
+ throw new UnsupportedOperationException("Implement me!!");
+ }
+
+ public void initialize(Class_Object classObject, EStructuralFeature feature)
+ {
+ // TODO Auto-generated method stub
+ // throw new UnsupportedOperationException("Implement me!!");
+ // at least rest the varray...
+ // Class_Position position = classObject.type_of().position_in_class(feature.getName());
+ VArray_Object vArray = classObject.nget_varray(feature.getName());
+ vArray.resize(0);
+ }
+
+ public void modifySchema(Proposed_Class proposedooClass, EStructuralFeature feature)
+ {
+ // TODO Auto-generated method stub
+ throw new UnsupportedOperationException("Implement me!!");
+ }
+
+}

Back to the top