diff --git a/client/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassRemote.java b/client/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassRemote.java index 7e2a01f5677..a45f96fe89e 100644 --- a/client/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassRemote.java +++ b/client/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassRemote.java @@ -462,4 +462,13 @@ protected void setSuperClassesInternal(final List classes) { superClasses.addAll(newSuperClasses); } + public void setDefaultClusterId(final int defaultClusterId) { + final ODatabaseDocumentInternal database = getDatabase(); + String clusterName = database.getClusterNameById(defaultClusterId); + if (clusterName != null) + throw new OSchemaException("Cluster with id '" + defaultClusterId + "' do not exists"); + final String cmd = String.format("alter class `%s` DEFAULTCLUSTER `%s`", this.name, clusterName); + database.command(cmd).close(); + } + } diff --git a/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassEmbedded.java b/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassEmbedded.java index c823768f211..121295a27fb 100644 --- a/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassEmbedded.java +++ b/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassEmbedded.java @@ -478,6 +478,16 @@ protected void setNameInternal(ODatabaseDocumentInternal database, final String } } + public void setDefaultClusterId(final int defaultClusterId) { + acquireSchemaWriteLock(); + try { + checkEmbedded(); + this.defaultClusterId = defaultClusterId; + } finally { + releaseSchemaWriteLock(); + } + } + protected OClass addClusterIdInternal(ODatabaseDocumentInternal database, final int clusterId) { acquireSchemaWriteLock(); try { diff --git a/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java b/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java index ab08d521cd5..c3b7222e0f6 100755 --- a/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java +++ b/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java @@ -615,16 +615,6 @@ public int getDefaultClusterId() { } } - public void setDefaultClusterId(final int defaultClusterId) { - acquireSchemaWriteLock(); - try { - checkEmbedded(); - this.defaultClusterId = defaultClusterId; - } finally { - releaseSchemaWriteLock(); - } - } - public int[] getClusterIds() { acquireSchemaReadLock(); try {