public void SchemaWriter_DeleteNodeType() { IntegrationTest(() => { var ed = new SchemaEditor(); ed.Load(); var nodeTypeName = "NT1-" + Guid.NewGuid(); ed.CreateNodeType(null, nodeTypeName, "NT1Class"); ed.Register(); var nodeTypeCountBefore = StorageSchema.NodeTypes.Count; var nodeTypeId = StorageSchema.NodeTypes[nodeTypeName].Id; // ACTION ed = new SchemaEditor(); ed.Load(); var nt = ed.NodeTypes[nodeTypeName]; ed.DeleteNodeType(nt); ed.Register(); // ASSERT Assert.AreEqual(nodeTypeCountBefore - 1, StorageSchema.NodeTypes.Count); Assert.IsNull(StorageSchema.NodeTypes[nodeTypeName]); Assert.IsNull(StorageSchema.NodeTypes.GetItemById(nodeTypeId)); }); }
public void SchemaEditor_RemoveNodeType_WrongContext() { //-- rossz context SchemaEditor editor1 = new SchemaEditor(); SchemaEditor editor2 = new SchemaEditor(); NodeType nt = editor1.CreateNodeType(null, "NT", "T"); editor2.DeleteNodeType(nt); }
public void SchemaEditor_RemoveNodeType() { SchemaEditor editor = new SchemaEditor(); NodeType nt1 = editor.CreateNodeType(null, "NT1", "T1"); NodeType nt2 = editor.CreateNodeType(nt1, "NT2", "T2"); NodeType nt3 = editor.CreateNodeType(nt2, "NT3", "T3"); PropertyType slot1 = editor.CreatePropertyType("Slot1", DataType.String); PropertyType slot2 = editor.CreatePropertyType("Slot2", DataType.String); PropertyType slot3 = editor.CreatePropertyType("Slot3", DataType.String); editor.AddPropertyTypeToPropertySet(slot1, nt1); editor.AddPropertyTypeToPropertySet(slot2, nt2); editor.AddPropertyTypeToPropertySet(slot3, nt3); editor.DeleteNodeType(editor.NodeTypes["NT2"]); Assert.IsTrue(editor.NodeTypes.Count == 1, "#1"); }
public void SchEd_WriterCalling_ReCreateNodeType() { Test(() => { SchemaEditor ed1 = new SchemaEditor(); SchemaEditor ed2 = new SchemaEditor(); SchemaEditorAccessor ed2Acc = new SchemaEditorAccessor(ed2); TestSchemaWriter wr = new TestSchemaWriter(); //-- create original ed1.CreatePropertyType("PT1", DataType.String); SetSchemaItemId(ed1.PropertyTypes["PT1"], 1); ed1.CreateNodeType(null, "NT1", "T1"); SetSchemaItemId(ed1.NodeTypes["NT1"], 1); ed1.AddPropertyTypeToPropertySet(ed1.PropertyTypes["PT1"], ed1.NodeTypes["NT1"]); //-- create current ed2.CreatePropertyType("PT1", DataType.String); SetSchemaItemId(ed2.PropertyTypes["PT1"], 1); ed2.CreateNodeType(null, "NT1", "T1"); SetSchemaItemId(ed2.NodeTypes["NT1"], 1); ed2.AddPropertyTypeToPropertySet(ed2.PropertyTypes["PT1"], ed2.NodeTypes["NT1"]); //-- edit ed2.DeleteNodeType(ed2.NodeTypes["NT1"]); ed2.CreateNodeType(null, "NT1", "T1"); ed2.AddPropertyTypeToPropertySet(ed2.PropertyTypes["PT1"], ed2.NodeTypes["NT1"]); //-- register ed2Acc.RegisterSchema(ed1, wr); //-- test string expectedLog = @" Open(); DeleteNodeType(nodeType=<NT1>); CreateNodeType(parent=<[null]>, name=<NT1>, className=<T1>); AddPropertyTypeToPropertySet(propertyType=<PT1>, owner=<NT1>, isDeclared=<True>); Close(); " .Replace("\r\n", "").Replace("\t", "").Replace(" ", ""); string log = wr.Log.Replace("\r\n", "").Replace(" ", ""); Assert.IsTrue(log == expectedLog); }); }
private void RemoveContentType(ContentType contentType, SchemaEditor editor) { // Remove recursive foreach (FieldSetting fieldSetting in contentType.FieldSettings) { if (fieldSetting.Owner == contentType) { fieldSetting.ParentFieldSetting = null; } } foreach (ContentType childType in contentType.ChildTypes) { RemoveContentType(childType, editor); } NodeType nodeType = editor.NodeTypes[contentType.Name]; if (nodeType != null) { editor.DeleteNodeType(nodeType); } _contentTypes.Remove(contentType.Name); _contentPaths.Remove(contentType.Name); }
private void RemoveContentType(ContentType contentType, SchemaEditor editor) { //-- Remove recursive foreach (FieldSetting fieldSetting in contentType.FieldSettings) if (fieldSetting.Owner == contentType) fieldSetting.ParentFieldSetting = null; foreach (ContentType childType in contentType.ChildTypes) RemoveContentType(childType, editor); NodeType nodeType = editor.NodeTypes[contentType.Name]; if (nodeType != null) editor.DeleteNodeType(nodeType); _contentTypes.Remove(contentType.Name); _contentPaths.Remove(contentType.Name); }
public void SchemaEditor_RemoveNodeType() { SchemaEditor editor = new SchemaEditor(); NodeType nt1 = editor.CreateNodeType(null, "NT1"); NodeType nt2 = editor.CreateNodeType(nt1, "NT2"); NodeType nt3 = editor.CreateNodeType(nt2, "NT3"); PropertyType slot1 = editor.CreatePropertyType("Slot1", DataType.String); PropertyType slot2 = editor.CreatePropertyType("Slot2", DataType.String); PropertyType slot3 = editor.CreatePropertyType("Slot3", DataType.String); editor.AddPropertyTypeToPropertySet(slot1, nt1); editor.AddPropertyTypeToPropertySet(slot2, nt2); editor.AddPropertyTypeToPropertySet(slot3, nt3); editor.DeleteNodeType(editor.NodeTypes["NT2"]); Assert.IsTrue(editor.NodeTypes.Count == 1, "#1"); }
public void SchemaEditor_RemoveNodeType_WrongContext() { //-- hiba: rossz context SchemaEditor editor1 = new SchemaEditor(); SchemaEditor editor2 = new SchemaEditor(); NodeType nt = editor1.CreateNodeType(null, "NT"); editor2.DeleteNodeType(nt); }
public void SchEd_WriterCalling_ReCreateNodeType() { SchemaEditor ed1 = new SchemaEditor(); SchemaEditor ed2 = new SchemaEditor(); SchemaEditorAccessor ed2Acc = new SchemaEditorAccessor(ed2); TestSchemaWriter wr = new TestSchemaWriter(); //-- create original ed1.CreatePropertyType("PT1", DataType.String); SetSchemaItemId(ed1.PropertyTypes["PT1"], 1); ed1.CreateNodeType(null, "NT1"); SetSchemaItemId(ed1.NodeTypes["NT1"], 1); ed1.AddPropertyTypeToPropertySet(ed1.PropertyTypes["PT1"], ed1.NodeTypes["NT1"]); //-- create current ed2.CreatePropertyType("PT1", DataType.String); SetSchemaItemId(ed2.PropertyTypes["PT1"], 1); ed2.CreateNodeType(null, "NT1"); SetSchemaItemId(ed2.NodeTypes["NT1"], 1); ed2.AddPropertyTypeToPropertySet(ed2.PropertyTypes["PT1"], ed2.NodeTypes["NT1"]); //-- edit ed2.DeleteNodeType(ed2.NodeTypes["NT1"]); ed2.CreateNodeType(null, "NT1"); ed2.AddPropertyTypeToPropertySet(ed2.PropertyTypes["PT1"], ed2.NodeTypes["NT1"]); //-- register ed2Acc.RegisterSchema(ed1, wr); //-- test string expectedLog = @" Open(); DeleteNodeType(nodeType=<NT1>); CreateNodeType(parent=<[null]>, name=<NT1>, className=<>); AddPropertyTypeToPropertySet(propertyType=<PT1>, owner=<NT1>, isDeclared=<True>); Close(); ".Replace("\r\n", "").Replace("\t", "").Replace(" ", ""); string log = wr.Log.Replace("\r\n", "").Replace(" ", ""); Assert.IsTrue(log == expectedLog); }