public OpenImportConnectionResults OpenImportConnection(KeyedCollection <string, ConfigParameter> configParameters, Schema types, OpenImportConnectionRunStep importRunStep) { OpenImportConnectionResults openImportConnectionResults = new OpenImportConnectionResults(); _lastRunTimeStamp = openImportConnectionResults.CustomData = importRunStep.CustomData; _currentRuntimeStamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"); _currentPageSize = importRunStep.PageSize; try { _lastRunTimeStamp = openImportConnectionResults.CustomData = importRunStep.CustomData; _peopleDiscovery = new RESTHandler(configParameters[_API_KEY].Value, configParameters[_BASE_URI].Value, configParameters[_LANG].Value, configParameters[_NOPAGESRTN].Value); _personDiscoveryList = _peopleDiscovery.ReadObjects(); _moviesList = new List <MovieDiscoveryJsonTypes.Result>(); _objectCount = 0; _personCount = 0; _skipPeople = false; } catch (Exception ex) { LogEvent(ex.ToString()); throw new ExtensibleExtensionException(ex.ToString()); } return(openImportConnectionResults); }
/// <summary> /// Configures the import session at the beginning of an import /// </summary> /// <param name="configParameters">The configuration parameters supplied to this management agent</param> /// <param name="types">The schema types that apply to this import run</param> /// <param name="importRunStep">The definition of the current run step</param> /// <returns>Results of the import setup</returns> OpenImportConnectionResults IMAExtensible2CallImport.OpenImportConnection(KeyedCollection <string, ConfigParameter> configParameters, Schema types, OpenImportConnectionRunStep importRunStep) { try { ManagementAgent.MAParameters = new MAParameters(configParameters); Logger.LogPath = ManagementAgent.MAParameters.LogPath; Logger.WriteSeparatorLine('*'); Logger.WriteLine("Starting Import"); MAConfig.Load(ManagementAgent.MAParameters.MAConfigurationFilePath); SshConnection.OpenSshConnection(ManagementAgent.MAParameters); OperationBase operation; this.ImportType = importRunStep.ImportType; this.schemaTypes = types.Types; this.importPageSize = importRunStep.PageSize; if (importRunStep.ImportType == OperationType.Delta) { operation = MAConfig.GlobalOperations.FirstOrDefault(t => t is ImportDeltaStartOperation); } else { operation = MAConfig.GlobalOperations.FirstOrDefault(t => t is ImportFullStartOperation); } if (operation != null) { try { SshConnection.ExecuteOperation(operation); } catch (Exception ex) { Logger.WriteLine("Could not perform import start operation"); Logger.WriteException(ex); throw new ExtensibleExtensionException("Import start operation failed", ex); } } this.importEnumerator = CSEntryImport.GetObjects(this.schemaTypes, importRunStep.ImportType).GetEnumerator(); } catch (ExtensibleExtensionException) { throw; } catch (Exception ex) { Logger.WriteLine("A exception occured during the open import connection operartion"); Logger.WriteException(ex); throw new ExtensibleExtensionException("An exception occured during the open import connection operation", ex); } OpenImportConnectionResults results = new OpenImportConnectionResults(); return(new OpenImportConnectionResults()); }
public OpenImportConnectionResults OpenImportConnectionDetached(KeyedCollection <string, ConfigParameter> configParameters, Schema types, OpenImportConnectionRunStep importRunStep) { Tracer.Enter(nameof(OpenImportConnectionDetached)); OpenImportConnectionResults result = new OpenImportConnectionResults(); try { if (importRunStep != null) // only use when attached to FIM { InitializeConfigParameters(configParameters); ImportType = importRunStep.ImportType; CustomData = ImportType == OperationType.Delta ? importRunStep.CustomData : null; PageSize = importRunStep.PageSize; } Tracer.TraceInformation("import-type {0}", ImportType); Tracer.TraceInformation("customdata {0}", CustomData); Tracer.TraceInformation("pagesize {0}", PageSize); Schema = types; importCsEntryQueue = new List <CSEntryChange>(); methods.OpenConnection(); if (Configuration.RunBeforeImport) { List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("importtype", ImportType.ToString())); parameters.Add(new SqlParameter("customdata", CustomData)); methods.RunStoredProcedure(Configuration.ImportCommandBefore, parameters); parameters.Clear(); parameters = null; } } catch (Exception ex) { Tracer.TraceError(nameof(OpenImportConnectionDetached), ex); throw; } finally { Tracer.Exit(nameof(OpenImportConnectionDetached)); } return(result); }
public OpenImportConnectionResults OpenImportConnection( KeyedCollection <string, ConfigParameter> configParameters, Schema types, OpenImportConnectionRunStep importRunStep) { _schemaTypes = types; _objectSources = GetRepositoryContainers(configParameters); _setImportPageSize = importRunStep.PageSize > 0 ? importRunStep.PageSize : ImportDefaultPageSize; var importResults = new OpenImportConnectionResults(); _objectImportsDictionary = new Dictionary <IObjectSource <IExternalObject>, List <IExternalObject> >(); foreach (IObjectSource <IExternalObject> repoContainer in _objectSources) { List <IExternalObject> allExternalObjects = repoContainer.GetAll(); _objectImportsDictionary.Add(repoContainer, allExternalObjects); } return(importResults); }
public OpenImportConnectionResults OpenImportConnection(System.Collections.ObjectModel.KeyedCollection <string, ConfigParameter> configParameters, Schema types, OpenImportConnectionRunStep openImportRunStep) { Tracer.Enter("openimportconnection"); try { Tracer.TraceInformation("getting-schema"); try { foreach (SchemaType type in types.Types) { foreach (SchemaAttribute attr in type.AnchorAttributes) { //Tracer.TraceInformation("{0}-anchor-attribute {1} [{2}]", type.Name, attr.Name, attr.DataType); objectTypeAnchorAttributeNames.Add(type.Name, attr.Name); } foreach (SchemaAttribute attr in type.Attributes) { //Tracer.TraceInformation("{0}-attribute {1} [{2}]", type.Name, attr.Name, attr.DataType); } } InitializeSchemaVariables(types); } catch (Exception ex) { Tracer.TraceError("getting-schema", ex); } finally { Tracer.TraceInformation("got-schema"); } InitializeConfigParameters(configParameters); //SetupImpersonationToken(); OpenRunspace(); Tracer.TraceInformation("resetting-pipeline-results-and-counters"); importResults = new List <PSObject>(); pageToken = ""; OpenImportConnectionResults oicr = new OpenImportConnectionResults(); ImportRunStepPageSize = openImportRunStep.PageSize; Tracer.TraceInformation("openimportrunstep-pagesize '{0}'", ImportRunStepPageSize); oicr.CustomData = openImportRunStep.ImportType == OperationType.Full ? "" : openImportRunStep.CustomData; Tracer.TraceInformation("openimportrunstep-customdata '{0}'", oicr.CustomData); importOperationType = openImportRunStep.ImportType; Tracer.TraceInformation("openimportrunstep-importtype '{0}'", importOperationType); return(oicr); } catch (Exception ex) { Tracer.TraceError("openimportconnection", ex); throw; } finally { Tracer.Exit("openimportconnection"); } }