diff options
author | Eike Stepper | 2013-06-11 15:19:43 +0000 |
---|---|---|
committer | Eike Stepper | 2013-06-11 15:19:43 +0000 |
commit | bcee5b5481be52f6329d630585c0d9d869f2d424 (patch) | |
tree | d6cf512fa1aaafb50036dd4aa083cd14f97203fd | |
parent | 050e2a2b4d32451ce75fecb7c4cba533059d1d5a (diff) | |
download | cdo-bcee5b5481be52f6329d630585c0d9d869f2d424.tar.gz cdo-bcee5b5481be52f6329d630585c0d9d869f2d424.tar.xz cdo-bcee5b5481be52f6329d630585c0d9d869f2d424.zip |
[409057] CDOIDs are missing default constructors for (Hessian)
deserialization
https://bugs.eclipse.org/bugs/show_bug.cgi?id=409057
8 files changed, 74 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDExternalImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDExternalImpl.java index 6ad0f58ed4..bd252a6252 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDExternalImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDExternalImpl.java @@ -41,6 +41,15 @@ public final class CDOIDExternalImpl extends AbstractCDOID implements CDOIDExter this.uri = uri; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDExternalImpl() + { + uri = null; + } + @Override public void write(CDODataOutput out) throws IOException { diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongImpl.java index d7061bec92..da63413137 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongImpl.java @@ -41,6 +41,15 @@ public final class CDOIDObjectLongImpl extends AbstractCDOID implements Internal this.value = value; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDObjectLongImpl() + { + value = 0L; + } + public long getLongValue() { return value; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java index 93127e0414..3edbc4efe5 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java @@ -47,6 +47,16 @@ public final class CDOIDObjectLongWithClassifierImpl extends AbstractCDOID imple this.classifierRef = classifierRef; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDObjectLongWithClassifierImpl() + { + value = 0L; + classifierRef = null; + } + public long getLongValue() { return value; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringImpl.java index 707b0e4ae0..2fd66a574f 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringImpl.java @@ -41,6 +41,15 @@ public final class CDOIDObjectStringImpl extends AbstractCDOID implements Intern this.value = value; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDObjectStringImpl() + { + value = null; + } + @Override public void write(CDODataOutput out) throws IOException { diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java index d57acc4517..b6e780ec14 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java @@ -47,6 +47,16 @@ public final class CDOIDObjectStringWithClassifierImpl extends AbstractCDOID imp this.classifierRef = classifierRef; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDObjectStringWithClassifierImpl() + { + value = null; + classifierRef = null; + } + public String getStringValue() { return value; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectUUIDImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectUUIDImpl.java index b87052cc80..d6debfb7de 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectUUIDImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectUUIDImpl.java @@ -43,6 +43,15 @@ public final class CDOIDObjectUUIDImpl extends AbstractCDOID implements Internal this.value = value; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDObjectUUIDImpl() + { + value = null; + } + public byte[] getByteArrayValue() { return value; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectExternalImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectExternalImpl.java index 7e25a5f354..9dbdc3090b 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectExternalImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectExternalImpl.java @@ -42,6 +42,15 @@ public final class CDOIDTempObjectExternalImpl extends AbstractCDOID implements this.uri = uri; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDTempObjectExternalImpl() + { + uri = null; + } + @Override public void write(CDODataOutput out) throws IOException { diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectImpl.java index c764b7702f..b26e8e1585 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDTempObjectImpl.java @@ -40,6 +40,15 @@ public final class CDOIDTempObjectImpl extends AbstractCDOID implements CDOIDTem this.value = value; } + /** + * A private default constructor for technologies (such as Hessian) that initialize the instance fields via reflection. + * Note that {@link #readResolve()} must be called in any case to ensure value uniqueness. + */ + private CDOIDTempObjectImpl() + { + value = 0; + } + public int getIntValue() { return value; |