diff options
author | Roberto E. Escobar | 2013-06-17 21:03:35 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2013-06-17 21:56:37 +0000 |
commit | 7d934b7690f11e824a8ea1609ae13d221b8d0f44 (patch) | |
tree | 10b6c58aaad5051b65ea7ef38cc85391b1549255 | |
parent | f7cca63d005f1b881912c06035d512fda1c23aef (diff) | |
download | org.eclipse.osee-0.11.0.v201306172350_RC.tar.gz org.eclipse.osee-0.11.0.v201306172350_RC.tar.xz org.eclipse.osee-0.11.0.v201306172350_RC.zip |
refinement: Remove use of OseeDsl get/setTypeGuid0.11.0.v201306172350_REL0.11.0.v201306172350_RC
Change-Id: Idc18d8a45175d050f4f7cde1f204523727fa0415
5 files changed, 58 insertions, 65 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/OseeUtilTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/OseeUtilTest.java index 6baec2d4ce2..ccf83e999cf 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/OseeUtilTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/OseeUtilTest.java @@ -17,7 +17,6 @@ import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.data.IRelationType; import org.eclipse.osee.framework.core.data.Identity; -import org.eclipse.osee.framework.core.dsl.integration.internal.OseeUtil; import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessPermissionEnum; import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction; import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDslFactory; @@ -187,11 +186,10 @@ public class OseeUtilTest { typeToCheck.setName(name); String uuid = HexUtil.toString(expected.getGuid()); typeToCheck.setUuid(uuid); - typeToCheck.setTypeGuid(uuid); Assert.assertEquals(name, typeToCheck.getName()); Assert.assertEquals(expected.getGuid().longValue(), HexUtil.toLong(typeToCheck.getUuid())); - Assert.assertEquals(uuid, typeToCheck.getTypeGuid()); + Assert.assertEquals(uuid, typeToCheck.getUuid()); } private static void checkIsRestricted(XRelationSideEnum side, boolean expectedSideA, boolean expectedSideB) throws OseeCoreException { diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java index bdfcef700f9..7fd5428a757 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/DslAsserts.java @@ -88,7 +88,7 @@ public final class DslAsserts { public static void assertEquals(XArtifactType artifactType, String expName, String expGuid, String[] inheritsFrom, String... attributeNames) { Assert.assertEquals(expName, artifactType.getName()); - Assert.assertEquals(expGuid, artifactType.getTypeGuid()); + Assert.assertEquals(expGuid, artifactType.getUuid()); int index = 0; Assert.assertEquals(inheritsFrom.length, artifactType.getSuperArtifactTypes().size()); @@ -105,7 +105,7 @@ public final class DslAsserts { public static void assertEquals(XAttributeType type, String expName, String expGuid, String baseType, String dataProvider, String min, String max, String tagger, String description, String defaultValue, String ext) { Assert.assertEquals(expName, type.getName()); - Assert.assertEquals(expGuid, type.getTypeGuid()); + Assert.assertEquals(expGuid, type.getUuid()); Assert.assertEquals(baseType, type.getBaseAttributeType()); Assert.assertEquals(dataProvider, type.getDataProvider()); @@ -119,17 +119,17 @@ public final class DslAsserts { public static void assertEquals(XRelationType type, String expName, String expGuid, String sideA, String aName, String aGuid, String sideB, String bName, String bGuid, String orderType, RelationMultiplicityEnum mult) { Assert.assertEquals(expName, type.getName()); - Assert.assertEquals(expGuid, type.getTypeGuid()); + Assert.assertEquals(expGuid, type.getUuid()); XArtifactType aArt = type.getSideAArtifactType(); Assert.assertEquals(sideA, type.getSideAName()); Assert.assertEquals(aName, aArt.getName()); - Assert.assertEquals(aGuid, aArt.getTypeGuid()); + Assert.assertEquals(aGuid, aArt.getUuid()); XArtifactType bArt = type.getSideBArtifactType(); Assert.assertEquals(sideB, type.getSideBName()); Assert.assertEquals(bName, bArt.getName()); - Assert.assertEquals(bGuid, bArt.getTypeGuid()); + Assert.assertEquals(bGuid, bArt.getUuid()); Assert.assertEquals(orderType, type.getDefaultOrderType()); Assert.assertEquals(mult, type.getMultiplicity()); diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java index 036de68dd60..955e15cd936 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java +++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java @@ -54,30 +54,30 @@ public class ModelUtilTest { Assert.assertEquals(5, model1.getArtifactTypes().size()); Iterator<XArtifactType> type1 = model1.getArtifactTypes().iterator(); // @formatter:off - DslAsserts.assertEquals(type1.next(), "Artifact", "AAMFDh6S7gRLupAMwywA", new String[0], "Name", "Annotation"); - DslAsserts.assertEquals(type1.next(), "Requirement", "BOm4NmAq+HC1O2hkMagA", new String[] {"Artifact"}, "WordML"); - DslAsserts.assertEquals(type1.next(), "Software Requirement", "BOm+AIG2snNbAM5FFcwA", new String[] {"Requirement"}); - DslAsserts.assertEquals(type1.next(), "System Requirement", "BOnAaYTBOG68_Tw5Y_AA", new String[] {"Requirement"}); - DslAsserts.assertEquals(type1.next(), "SubSystem Requirement", "BOnBhJ1XAFGKcrku3LgA", new String[] {"Requirement"}); + DslAsserts.assertEquals(type1.next(), "Artifact", "0x0000000000000001", new String[0], "Name", "Annotation"); + DslAsserts.assertEquals(type1.next(), "Requirement", "0x0000000000000015", new String[] {"Artifact"}, "WordML"); + DslAsserts.assertEquals(type1.next(), "Software Requirement", "0x0000000000000018", new String[] {"Requirement"}); + DslAsserts.assertEquals(type1.next(), "System Requirement", "0x000000000000001E", new String[] {"Requirement"}); + DslAsserts.assertEquals(type1.next(), "SubSystem Requirement", "0x000000000000001D", new String[] {"Requirement"}); // @formatter:on Assert.assertEquals(3, model1.getAttributeTypes().size()); Iterator<XAttributeType> type2 = model1.getAttributeTypes().iterator(); - DslAsserts.assertEquals(type2.next(), "Name", "AAMFEcF1AzV7PKuHmxwA", "StringAttribute", + DslAsserts.assertEquals(type2.next(), "Name", "0x1000000000000070", "StringAttribute", "DefaultAttributeDataProvider", "1", "1", "DefaultAttributeTaggerProvider", // "Descriptive Name", "unnamed", null); - DslAsserts.assertEquals(type2.next(), "Annotation", "AAMFEcWy0xc4e3tcemQA", "CompressedContentAttribute", + DslAsserts.assertEquals(type2.next(), "Annotation", "0x1000000000000076", "CompressedContentAttribute", "UriAttributeDataProvider", "0", "unlimited", "DefaultAttributeTaggerProvider", // "the version \'1.0\' is this \"1.2.0\"", null, null); - DslAsserts.assertEquals(type2.next(), "WordML", "AAMFEcfcGS2V3SqQN2wA", "WordAttribute", + DslAsserts.assertEquals(type2.next(), "WordML", "0x100000000000007A", "WordAttribute", "UriAttributeDataProvider", "0", "1", "XmlAttributeTaggerProvider", "value must comply with WordML xml schema", "<w:p xmlns:w=\"http://schemas.microsoft.com/office/word/2003/wordml\"><w:r><w:t></w:t></w:r></w:p>", "xml"); Assert.assertEquals(1, model1.getRelationTypes().size()); Iterator<XRelationType> type3 = model1.getRelationTypes().iterator(); - DslAsserts.assertEquals(type3.next(), "Requirement Relation", "BOkzi3U9VTe2fcUz_9gA", "requirement-sideA", - "Requirement", "BOm4NmAq+HC1O2hkMagA", "subsystem-sideB", "SubSystem Requirement", "BOnBhJ1XAFGKcrku3LgA", + DslAsserts.assertEquals(type3.next(), "Requirement Relation", "0x2000000000000157", "requirement-sideA", + "Requirement", "0x0000000000000015", "subsystem-sideB", "SubSystem Requirement", "0x000000000000001D", "Lexicographical_Ascending", RelationMultiplicityEnum.ONE_TO_MANY); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); @@ -97,18 +97,18 @@ public class ModelUtilTest { OseeDsl model1 = OseeDslResourceUtil.loadModel("osee:/text.osee", rawXTextData).getModel(); Assert.assertEquals(2, model1.getArtifactTypes().size()); Iterator<XArtifactType> type1 = model1.getArtifactTypes().iterator(); - DslAsserts.assertEquals(type1.next(), "Artifact", "BZOUrxO35x+LBZkEYzAA", new String[0]); - DslAsserts.assertEquals(type1.next(), "Software Requirement", "BZO4PuM+Oz58hpAcTGwA", new String[] {"Artifact"}); + DslAsserts.assertEquals(type1.next(), "Artifact", "0x0000000000000001", new String[0]); + DslAsserts.assertEquals(type1.next(), "Software Requirement", "0x0000000000000002", new String[] {"Artifact"}); Assert.assertEquals(1, model1.getAttributeTypes().size()); Iterator<XAttributeType> type2 = model1.getAttributeTypes().iterator(); - DslAsserts.assertEquals(type2.next(), "Qualification Method", "BZPB25t9fRVnLuII6+wA", "StringAttribute", + DslAsserts.assertEquals(type2.next(), "Qualification Method", "0x1000000000000056", "StringAttribute", "DefaultAttributeDataProvider", "0", "1", null, null, "test", null); Assert.assertEquals(1, model1.getRelationTypes().size()); Iterator<XRelationType> type3 = model1.getRelationTypes().iterator(); - DslAsserts.assertEquals(type3.next(), "Requirement Relation", "BOkzi3U9VTe2fcUz_9gA", "requirement-sideA", - "Software Requirement", "BZO4PuM+Oz58hpAcTGwA", "artifact-sideB", "Artifact", "BZOUrxO35x+LBZkEYzAA", + DslAsserts.assertEquals(type3.next(), "Requirement Relation", "0x2000000000000163", "requirement-sideA", + "Software Requirement", "0x0000000000000002", "artifact-sideB", "Artifact", "0x0000000000000001", "Lexicographical_Ascending", RelationMultiplicityEnum.ONE_TO_MANY); Assert.assertEquals(3, model1.getArtifactMatchRefs().size()); diff --git a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java index 178dbcf5d08..fc70edadc2e 100644 --- a/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java +++ b/plugins/org.eclipse.osee.framework.core.dsl/src/org/eclipse/osee/framework/core/dsl/validation/OseeDslJavaValidator.java @@ -84,7 +84,7 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { @Check public void checkTypeNameValidity(OseeDsl oseeDsl) { Set<String> typeNames = new HashSet<String>(50); - Map<String, String> guidToTypeName = new HashMap<String, String>(500); + Map<String, String> uuidToTypeName = new HashMap<String, String>(500); for (XAttributeType attrType : oseeDsl.getAttributeTypes()) { if (typeNames.contains(attrType.getName())) { String message = String.format("Duplicate attribute type name [%s]", attrType.getName()); @@ -92,18 +92,17 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { } else { typeNames.add(attrType.getName()); } - if (guidToTypeName.containsKey(attrType.getTypeGuid())) { + if (uuidToTypeName.containsKey(attrType.getUuid())) { String message = - String.format("Duplicate guid [%s] for attribute types [%s] and [%s]", attrType.getTypeGuid(), - attrType.getName(), guidToTypeName.get(attrType.getTypeGuid())); - error(message, attrType, OseeDslPackage.Literals.OSEE_TYPE__TYPE_GUID, - OseeDslPackage.XATTRIBUTE_TYPE__TYPE_GUID); + String.format("Duplicate uuid [%s] for attribute types [%s] and [%s]", attrType.getUuid(), + attrType.getName(), uuidToTypeName.get(attrType.getUuid())); + error(message, attrType, OseeDslPackage.Literals.OSEE_TYPE__UUID, OseeDslPackage.XATTRIBUTE_TYPE__UUID); } else { - guidToTypeName.put(attrType.getTypeGuid(), attrType.getName()); + uuidToTypeName.put(attrType.getUuid(), attrType.getName()); } } typeNames.clear(); - guidToTypeName.clear(); + uuidToTypeName.clear(); for (XArtifactType artType : oseeDsl.getArtifactTypes()) { if (typeNames.contains(artType.getName())) { String message = String.format("Duplicate artifact type name [%s]", artType.getName()); @@ -111,18 +110,17 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { } else { typeNames.add(artType.getName()); } - if (guidToTypeName.containsKey(artType.getTypeGuid())) { + if (uuidToTypeName.containsKey(artType.getUuid())) { String message = - String.format("Duplicate guid [%s] for artifact types [%s] and [%s]", artType.getTypeGuid(), - artType.getName(), guidToTypeName.get(artType.getTypeGuid())); - error(message, artType, OseeDslPackage.Literals.OSEE_TYPE__TYPE_GUID, - OseeDslPackage.XARTIFACT_TYPE__TYPE_GUID); + String.format("Duplicate uuid [%s] for artifact types [%s] and [%s]", artType.getUuid(), + artType.getName(), uuidToTypeName.get(artType.getUuid())); + error(message, artType, OseeDslPackage.Literals.OSEE_TYPE__UUID, OseeDslPackage.XARTIFACT_TYPE__UUID); } else { - guidToTypeName.put(artType.getTypeGuid(), artType.getName()); + uuidToTypeName.put(artType.getUuid(), artType.getName()); } } typeNames.clear(); - guidToTypeName.clear(); + uuidToTypeName.clear(); for (XRelationType relType : oseeDsl.getRelationTypes()) { if (typeNames.contains(relType.getName())) { String message = String.format("Duplicate relation type name [%s]", relType.getName()); @@ -130,14 +128,13 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { } else { typeNames.add(relType.getName()); } - if (guidToTypeName.containsKey(relType.getTypeGuid())) { + if (uuidToTypeName.containsKey(relType.getUuid())) { String message = - String.format("Duplicate guid [%s] for relation types [%s] and [%s]", relType.getTypeGuid(), - relType.getName(), guidToTypeName.get(relType.getTypeGuid())); - error(message, relType, OseeDslPackage.Literals.OSEE_TYPE__TYPE_GUID, - OseeDslPackage.XRELATION_TYPE__TYPE_GUID); + String.format("Duplicate uuid [%s] for relation types [%s] and [%s]", relType.getUuid(), + relType.getName(), uuidToTypeName.get(relType.getUuid())); + error(message, relType, OseeDslPackage.Literals.OSEE_TYPE__UUID, OseeDslPackage.XRELATION_TYPE__UUID); } else { - guidToTypeName.put(relType.getTypeGuid(), relType.getName()); + uuidToTypeName.put(relType.getUuid(), relType.getName()); } } } @@ -205,17 +202,16 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { @Override public Object caseArtifactTypeRestriction(ArtifactTypeRestriction restriction) { - String guid = restriction.getArtifactTypeRef().getTypeGuid(); - XArtifactType reference = artifactTypeRestrictions.get(guid); + String uuid = restriction.getArtifactTypeRef().getUuid(); + XArtifactType reference = artifactTypeRestrictions.get(uuid); if (reference == null) { - artifactTypeRestrictions.put(guid, restriction.getArtifactTypeRef()); + artifactTypeRestrictions.put(uuid, restriction.getArtifactTypeRef()); } else { String message = String.format("Duplicate artifact type restriction [%s] in context[%s]", reference.toString(), accessContext.getName()); error(message, restriction, OseeDslPackage.Literals.ARTIFACT_TYPE_RESTRICTION__ARTIFACT_TYPE_REF, - OseeDslPackage.ACCESS_CONTEXT__ACCESS_RULES, NON_UNIQUE_ARTIFACT_TYPE_RESTRICTION, - reference.getTypeGuid()); + OseeDslPackage.ACCESS_CONTEXT__ACCESS_RULES, NON_UNIQUE_ARTIFACT_TYPE_RESTRICTION, reference.getUuid()); } return restriction; } @@ -223,15 +219,15 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { @Override public Object caseAttributeTypeRestriction(AttributeTypeRestriction object) { XArtifactType artifactType = object.getArtifactTypeRef(); - String attrGuidToMatch = object.getAttributeTypeRef().getTypeGuid(); + String attrUuidToMatch = object.getAttributeTypeRef().getUuid(); for (AttributeTypeRestriction r1 : attrTypeRetrictions) { - String storedGuid = r1.getAttributeTypeRef().getTypeGuid(); - if (attrGuidToMatch.equals(storedGuid)) { + String storedUuid = r1.getAttributeTypeRef().getUuid(); + if (attrUuidToMatch.equals(storedUuid)) { XArtifactType storedArtType = r1.getArtifactTypeRef(); boolean dispatchError = false; if (storedArtType != null && artifactType != null) { - dispatchError = storedArtType.getTypeGuid().equals(artifactType.getTypeGuid()); + dispatchError = storedArtType.getUuid().equals(artifactType.getUuid()); } else if (storedArtType == null && artifactType == null) { dispatchError = true; } @@ -242,7 +238,7 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { accessContext.getName()); error(message, object, OseeDslPackage.Literals.ATTRIBUTE_TYPE_RESTRICTION__ARTIFACT_TYPE_REF, OseeDslPackage.ACCESS_CONTEXT__ACCESS_RULES, NON_UNIQUE_ATTRIBUTE_TYPE_RESTRICTION, - r1.getAttributeTypeRef().getTypeGuid()); + r1.getAttributeTypeRef().getUuid()); } } } @@ -254,23 +250,22 @@ public class OseeDslJavaValidator extends AbstractOseeDslJavaValidator { public Object caseRelationTypeRestriction(RelationTypeRestriction restriction) { XRelationType relationTypeRef = restriction.getRelationTypeRef(); - String guid = relationTypeRef.getTypeGuid(); + String key = relationTypeRef.getUuid(); RelationTypePredicate predicate = restriction.getPredicate(); if (predicate instanceof RelationTypeArtifactPredicate) { - guid += ((RelationTypeArtifactPredicate) predicate).getArtifactMatcherRef().getName(); + key += ((RelationTypeArtifactPredicate) predicate).getArtifactMatcherRef().getName(); } else if (predicate instanceof RelationTypeArtifactTypePredicate) { - guid += ((RelationTypeArtifactTypePredicate) predicate).getArtifactTypeRef().getName(); + key += ((RelationTypeArtifactTypePredicate) predicate).getArtifactTypeRef().getName(); } - XRelationType reference = relationTypeRetrictions.get(guid); + XRelationType reference = relationTypeRetrictions.get(key); if (reference == null) { - relationTypeRetrictions.put(guid, relationTypeRef); + relationTypeRetrictions.put(key, relationTypeRef); } else { String message = String.format("Duplicate artifact type restriction [%s] in context[%s]", reference.toString(), accessContext.getName()); error(message, restriction, OseeDslPackage.Literals.RELATION_TYPE_RESTRICTION__RELATION_TYPE_REF, - OseeDslPackage.ACCESS_CONTEXT__ACCESS_RULES, NON_UNIQUE_RELATION_TYPE_RESTRICTION, - reference.getTypeGuid()); + OseeDslPackage.ACCESS_CONTEXT__ACCESS_RULES, NON_UNIQUE_RELATION_TYPE_RESTRICTION, reference.getUuid()); } return restriction; } diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/types/XTextToOseeTypeOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/types/XTextToOseeTypeOperation.java index 6d08294935c..afd16a73fe3 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/types/XTextToOseeTypeOperation.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/types/XTextToOseeTypeOperation.java @@ -198,10 +198,10 @@ public class XTextToOseeTypeOperation extends AbstractOperation { @Override public Void caseRemoveAttribute(RemoveAttribute removeOption) { XAttributeType attribute = removeOption.getAttribute(); - String guidToMatch = attribute.getTypeGuid(); + String guidToMatch = attribute.getUuid(); List<XAttributeTypeRef> toRemove = new LinkedList<XAttributeTypeRef>(); for (XAttributeTypeRef xAttributeTypeRef : validAttributeTypes) { - String itemGuid = xAttributeTypeRef.getValidAttributeType().getTypeGuid(); + String itemGuid = xAttributeTypeRef.getValidAttributeType().getUuid(); if (guidToMatch.equals(itemGuid)) { toRemove.add(xAttributeTypeRef); } @@ -213,10 +213,10 @@ public class XTextToOseeTypeOperation extends AbstractOperation { @Override public Void caseUpdateAttribute(UpdateAttribute updateAttribute) { XAttributeTypeRef refToUpdate = updateAttribute.getAttribute(); - String guidToMatch = refToUpdate.getValidAttributeType().getTypeGuid(); + String guidToMatch = refToUpdate.getValidAttributeType().getUuid(); List<XAttributeTypeRef> toRemove = new LinkedList<XAttributeTypeRef>(); for (XAttributeTypeRef xAttributeTypeRef : validAttributeTypes) { - String itemGuid = xAttributeTypeRef.getValidAttributeType().getTypeGuid(); + String itemGuid = xAttributeTypeRef.getValidAttributeType().getUuid(); if (guidToMatch.equals(itemGuid)) { toRemove.add(xAttributeTypeRef); } |