public override void Initialize(IArgument[] properties) { base.Initialize(properties); var engineApiAccess = (IEngine)_engineApiAccess; var outputExchangeItemCount = engineApiAccess.GetOutputExchangeItemCount(); for (var i = 0; i < outputExchangeItemCount; i++) { // initialize data operations var outputExchangeItem = engineApiAccess.GetOutputExchangeItem(i); //Add dataoperations to outputExchangeItems var dataOperations = ElementMapper.GetAvailableDataOperations(outputExchangeItem.ElementSet.ElementType); var linearConversionDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputExchangeItem.DataOperations) { if (LinearConversionDataOperation.LinearConversionId == existingDataOperation.ID) { linearConversionDataOperationExists = true; } } if (!linearConversionDataOperationExists) { outputExchangeItem.AddDataOperation(new LinearConversionDataOperation()); } bool smartBufferDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputExchangeItem.DataOperations) { if (SmartBufferDataOperation.SmartBufferDataOperationId == existingDataOperation.ID) { smartBufferDataOperationExists = true; } } if (!smartBufferDataOperationExists) { outputExchangeItem.AddDataOperation(new SmartBufferDataOperation()); } foreach (var dataOperation in dataOperations) { outputExchangeItem.DataOperations.Add(dataOperation); } } }
public void GetAvailableDataOperations() { ElementMapper elementMapper = new ElementMapper(); Console.WriteLine("=========================FROM XYPoint===================================="); var dataOperationsXYPoint = ElementMapper.GetAvailableDataOperations(ElementType.XYPoint); foreach (IDataOperation operation in dataOperationsXYPoint) { Console.WriteLine(" "); Console.WriteLine("------------------------------------"); Console.WriteLine("DataOperationID: " + operation.ID); for (int i = 0; i < operation.ArgumentCount; i++) { Console.WriteLine(" "); Console.WriteLine("Key: " + operation.GetArgument(i).Key); Console.WriteLine("Value: " + operation.GetArgument(i).Value); Console.WriteLine("ReadOnly: " + operation.GetArgument(i).ReadOnly.ToString()); Console.WriteLine("Description: " + operation.GetArgument(i).Description); } } Console.WriteLine(" "); Console.WriteLine("========================= FROM XYLine ===================================="); var dataOperationsXYLine = ElementMapper.GetAvailableDataOperations(ElementType.XYLine); foreach (IDataOperation operation in dataOperationsXYLine) { Console.WriteLine(" "); Console.WriteLine("------------------------------------"); Console.WriteLine("DataOperationID: " + operation.ID); for (int i = 0; i < operation.ArgumentCount; i++) { Console.WriteLine(" "); Console.WriteLine("Key: " + operation.GetArgument(i).Key); Console.WriteLine("Value: " + operation.GetArgument(i).Value); Console.WriteLine("ReadOnly: " + operation.GetArgument(i).ReadOnly.ToString()); Console.WriteLine("Description: " + operation.GetArgument(i).Description); } } Console.WriteLine(" "); Console.WriteLine("========================= FROM XYPolyLine ===================================="); var dataOperationsXYPolyLine = ElementMapper.GetAvailableDataOperations(ElementType.XYPolyLine); foreach (IDataOperation operation in dataOperationsXYPolyLine) { Console.WriteLine(" "); Console.WriteLine("------------------------------------"); Console.WriteLine("DataOperationID: " + operation.ID); for (int i = 0; i < operation.ArgumentCount; i++) { Console.WriteLine(" "); Console.WriteLine("Key: " + operation.GetArgument(i).Key); Console.WriteLine("Value: " + operation.GetArgument(i).Value); Console.WriteLine("ReadOnly: " + operation.GetArgument(i).ReadOnly.ToString()); Console.WriteLine("Description: " + operation.GetArgument(i).Description); } } Console.WriteLine(" "); Console.WriteLine("=========================FROM XYPolygon===================================="); var dataOperationsXYPolygon = ElementMapper.GetAvailableDataOperations(ElementType.XYPolygon); foreach (IDataOperation operation in dataOperationsXYPolygon) { Console.WriteLine(" "); Console.WriteLine("------------------------------------"); Console.WriteLine("DataOperationID: " + operation.ID); for (int i = 0; i < operation.ArgumentCount; i++) { Console.WriteLine(" "); Console.WriteLine("Key: " + operation.GetArgument(i).Key); Console.WriteLine("Value: " + operation.GetArgument(i).Value); Console.WriteLine("ReadOnly: " + operation.GetArgument(i).ReadOnly.ToString()); Console.WriteLine("Description: " + operation.GetArgument(i).Description); } } bool operationWasFound = false; bool IDWasFound = false; bool descriptionWasFound = false; bool typeWasFound = false; bool fromElementTypeWasFound = false; bool toElementTypeWasFound = false; foreach (IDataOperation operation in dataOperationsXYPolygon) { if (operation.ID == "ElementMapper801") { operationWasFound = true; for (int i = 0; i < operation.ArgumentCount; i++) { if (operation.GetArgument(i).Key == "ID") { Assert.AreEqual("801", operation.GetArgument(i).Value); IDWasFound = true; } if (operation.GetArgument(i).Key == "Description") { Assert.AreEqual("Weighted Sum", operation.GetArgument(i).Value); descriptionWasFound = true; } if (operation.GetArgument(i).Key == "Type") { Assert.AreEqual("SpatialMapping", operation.GetArgument(i).Value); typeWasFound = true; } if (operation.GetArgument(i).Key == "FromElementType") { Assert.AreEqual("XYPolygon", operation.GetArgument(i).Value); fromElementTypeWasFound = true; } if (operation.GetArgument(i).Key == "ToElementType") { Assert.AreEqual("XYPolygon", operation.GetArgument(i).Value); toElementTypeWasFound = true; } } } } Assert.AreEqual(true, operationWasFound); Assert.AreEqual(true, IDWasFound); Assert.AreEqual(true, descriptionWasFound); Assert.AreEqual(true, typeWasFound); Assert.AreEqual(true, fromElementTypeWasFound); Assert.AreEqual(true, toElementTypeWasFound); }
private OutputExchangeItem addDataOperations(OutputExchangeItem outputexchangeitem) { //Add dataoperations to outputexchangeitems ElementMapper elementMapper = new ElementMapper(); ArrayList dataOperations = new ArrayList(); dataOperations = elementMapper.GetAvailableDataOperations(outputexchangeitem.ElementSet.ElementType); bool spatialDataOperationExists; bool linearConversionDataOperationExists; bool smartBufferDataOperationExists; foreach (IDataOperation dataOperation in dataOperations) { spatialDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputexchangeitem.DataOperations) { if (dataOperation.ID == existingDataOperation.ID) { spatialDataOperationExists = true; } } if (!spatialDataOperationExists) { outputexchangeitem.AddDataOperation(dataOperation); } } IDataOperation linearConversionDataOperation = new LinearConversionDataOperation(); linearConversionDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputexchangeitem.DataOperations) { if (linearConversionDataOperation.ID == existingDataOperation.ID) { linearConversionDataOperationExists = true; } } if (!linearConversionDataOperationExists) { outputexchangeitem.AddDataOperation(new LinearConversionDataOperation()); } IDataOperation smartBufferDataOperaion = new SmartBufferDataOperation(); smartBufferDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputexchangeitem.DataOperations) { if (smartBufferDataOperaion.ID == existingDataOperation.ID) { smartBufferDataOperationExists = true; } } if (!smartBufferDataOperationExists) { outputexchangeitem.AddDataOperation(new SmartBufferDataOperation()); } return(outputexchangeitem); }
/// <summary> /// get a output exchange item /// </summary> /// <param name="index">index number of the requested output exchange item</param> /// <returns>The requested exchange item</returns> public override IOutputExchangeItem GetOutputExchangeItem(int index) { OutputExchangeItem outputExchangeItem = ((IEngine)_engineApiAccess).GetOutputExchangeItem(index); //Add dataoperations to outputExchangeItems ElementMapper elementMapper = new ElementMapper(); ArrayList dataOperations = new ArrayList(); dataOperations = elementMapper.GetAvailableDataOperations(outputExchangeItem.ElementSet.ElementType); bool spatialDataOperationExists; bool linearConversionDataOperationExists; bool smartBufferDataOperationExists; foreach (IDataOperation dataOperation in dataOperations) { spatialDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputExchangeItem.DataOperations) { if (dataOperation.ID == existingDataOperation.ID) { spatialDataOperationExists = true; } } if (!spatialDataOperationExists) { outputExchangeItem.AddDataOperation(dataOperation); } } IDataOperation linearConversionDataOperation = new LinearConversionDataOperation(); linearConversionDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputExchangeItem.DataOperations) { if (linearConversionDataOperation.ID == existingDataOperation.ID) { linearConversionDataOperationExists = true; } } if (!linearConversionDataOperationExists) { outputExchangeItem.AddDataOperation(new LinearConversionDataOperation()); } IDataOperation smartBufferDataOperaion = new SmartBufferDataOperation(); smartBufferDataOperationExists = false; foreach (IDataOperation existingDataOperation in outputExchangeItem.DataOperations) { if (smartBufferDataOperaion.ID == existingDataOperation.ID) { smartBufferDataOperationExists = true; } } if (!smartBufferDataOperationExists) { outputExchangeItem.AddDataOperation(new SmartBufferDataOperation()); } return((IOutputExchangeItem)outputExchangeItem); }