private static void InitializeMaps()

in CustomSecuritySample/Authorization.cs [470:654]


      private static void InitializeMaps()
      {
          // create model operation names data
          _modelItemOperNames.Add(ModelItemOperation.ReadProperties, OperationNames.OperReadProperties);

          if (_modelItemOperNames.Count != Enum.GetValues(typeof(ModelItemOperation)).Length)
          {
              //Model item name mismatch
              throw new Exception("Model item name mismatch");
          }

          // create model operation names data
          _modelOperNames.Add(ModelOperation.Delete, OperationNames.OperDelete);
          _modelOperNames.Add(ModelOperation.ReadAuthorizationPolicy, OperationNames.OperReadAuthorizationPolicy);
          _modelOperNames.Add(ModelOperation.ReadContent, OperationNames.OperReadContent);
          _modelOperNames.Add(ModelOperation.ReadDatasource, OperationNames.OperReadDatasources);
          _modelOperNames.Add(ModelOperation.ReadModelItemAuthorizationPolicies, OperationNames.OperReadModelItemSecurityPolicies);
          _modelOperNames.Add(ModelOperation.ReadProperties, OperationNames.OperReadProperties);
          _modelOperNames.Add(ModelOperation.UpdateContent, OperationNames.OperUpdateContent);
          _modelOperNames.Add(ModelOperation.UpdateDatasource, OperationNames.OperUpdateDatasources);
          _modelOperNames.Add(ModelOperation.UpdateDeleteAuthorizationPolicy, OperationNames.OperUpdateDeleteAuthorizationPolicy);
          _modelOperNames.Add(ModelOperation.UpdateModelItemAuthorizationPolicies, OperationNames.OperUpdateModelItemSecurityPolicies);
          _modelOperNames.Add(ModelOperation.UpdateProperties, OperationNames.OperUpdatePolicy);

          if (_modelOperNames.Count != Enum.GetValues(typeof(ModelOperation)).Length)
          {
              //Model name mismatch
              throw new Exception("Model name mismatch");
          }

          // create operation names data
          _catalogOperationNames.Add(CatalogOperation.CreateRoles, OperationNames.OperCreateRoles);
          _catalogOperationNames.Add(CatalogOperation.DeleteRoles, OperationNames.OperDeleteRoles);
          _catalogOperationNames.Add(CatalogOperation.ReadRoleProperties, OperationNames.OperReadRoleProperties);
          _catalogOperationNames.Add(CatalogOperation.UpdateRoleProperties, OperationNames.OperUpdateRoleProperties);
          _catalogOperationNames.Add(CatalogOperation.ReadSystemProperties, OperationNames.OperReadSystemProperties);
          _catalogOperationNames.Add(CatalogOperation.UpdateSystemProperties, OperationNames.OperUpdateSystemProperties);
          _catalogOperationNames.Add(CatalogOperation.GenerateEvents, OperationNames.OperGenerateEvents);
          _catalogOperationNames.Add(CatalogOperation.ReadSystemSecurityPolicy, OperationNames.OperReadSystemSecurityPolicy);
          _catalogOperationNames.Add(CatalogOperation.UpdateSystemSecurityPolicy, OperationNames.OperUpdateSystemSecurityPolicy);
          _catalogOperationNames.Add(CatalogOperation.CreateSchedules, OperationNames.OperCreateSchedules);
          _catalogOperationNames.Add(CatalogOperation.DeleteSchedules, OperationNames.OperDeleteSchedules);
          _catalogOperationNames.Add(CatalogOperation.ReadSchedules, OperationNames.OperReadSchedules);
          _catalogOperationNames.Add(CatalogOperation.UpdateSchedules, OperationNames.OperUpdateSchedules);
          _catalogOperationNames.Add(CatalogOperation.ListJobs, OperationNames.OperListJobs);
          _catalogOperationNames.Add(CatalogOperation.CancelJobs, OperationNames.OperCancelJobs);
          _catalogOperationNames.Add(CatalogOperation.ExecuteReportDefinition, OperationNames.ExecuteReportDefinition);

          if (_catalogOperationNames.Count != Enum.GetValues(typeof(CatalogOperation)).Length)
          {
              //Catalog name mismatch
              throw new Exception("Catalog name mismatch");
          }

          _folderOperationNames.Add(FolderOperation.CreateFolder, OperationNames.OperCreateFolder);
          _folderOperationNames.Add(FolderOperation.Delete, OperationNames.OperDelete);
          _folderOperationNames.Add(FolderOperation.ReadProperties, OperationNames.OperReadProperties);
          _folderOperationNames.Add(FolderOperation.UpdateProperties, OperationNames.OperUpdateProperties);
          _folderOperationNames.Add(FolderOperation.CreateReport, OperationNames.OperCreateReport);
          _folderOperationNames.Add(FolderOperation.CreateResource, OperationNames.OperCreateResource);
          _folderOperationNames.Add(FolderOperation.ReadAuthorizationPolicy, OperationNames.OperReadAuthorizationPolicy);
          _folderOperationNames.Add(FolderOperation.UpdateDeleteAuthorizationPolicy, OperationNames.OperUpdateDeleteAuthorizationPolicy);
          _folderOperationNames.Add(FolderOperation.CreateDatasource, OperationNames.OperCreateDatasource);
          _folderOperationNames.Add(FolderOperation.CreateModel, OperationNames.OperCreateModel);
          if (_folderOperationNames.Count != Enum.GetValues(typeof(FolderOperation)).Length)
          {
              //Folder name mismatch
              throw new Exception("Folder name mismatch");
          }

          _reportOperationNames.Add(ReportOperation.Delete, OperationNames.OperDelete);
          _reportOperationNames.Add(ReportOperation.ReadProperties, OperationNames.OperReadProperties);
          _reportOperationNames.Add(ReportOperation.UpdateProperties, OperationNames.OperUpdateProperties);
          _reportOperationNames.Add(ReportOperation.UpdateParameters, OperationNames.OperUpdateParameters);
          _reportOperationNames.Add(ReportOperation.ReadDatasource, OperationNames.OperReadDatasources);
          _reportOperationNames.Add(ReportOperation.UpdateDatasource, OperationNames.OperUpdateDatasources);
          _reportOperationNames.Add(ReportOperation.ReadReportDefinition, OperationNames.OperReadReportDefinition);
          _reportOperationNames.Add(ReportOperation.UpdateReportDefinition, OperationNames.OperUpdateReportDefinition);
          _reportOperationNames.Add(ReportOperation.CreateSubscription, OperationNames.OperCreateSubscription);
          _reportOperationNames.Add(ReportOperation.DeleteSubscription, OperationNames.OperDeleteSubscription);
          _reportOperationNames.Add(ReportOperation.ReadSubscription, OperationNames.OperReadSubscription);
          _reportOperationNames.Add(ReportOperation.UpdateSubscription, OperationNames.OperUpdateSubscription);
          _reportOperationNames.Add(ReportOperation.CreateAnySubscription, OperationNames.OperCreateAnySubscription);
          _reportOperationNames.Add(ReportOperation.DeleteAnySubscription, OperationNames.OperDeleteAnySubscription);
          _reportOperationNames.Add(ReportOperation.ReadAnySubscription, OperationNames.OperReadAnySubscription);
          _reportOperationNames.Add(ReportOperation.UpdateAnySubscription, OperationNames.OperUpdateAnySubscription);
          _reportOperationNames.Add(ReportOperation.UpdatePolicy, OperationNames.OperUpdatePolicy);
          _reportOperationNames.Add(ReportOperation.ReadPolicy, OperationNames.OperReadPolicy);
          _reportOperationNames.Add(ReportOperation.DeleteHistory, OperationNames.OperDeleteHistory);
          _reportOperationNames.Add(ReportOperation.ListHistory, OperationNames.OperListHistory);
          _reportOperationNames.Add(ReportOperation.ExecuteAndView, OperationNames.OperExecuteAndView);
          _reportOperationNames.Add(ReportOperation.CreateResource, OperationNames.OperCreateResource);
          _reportOperationNames.Add(ReportOperation.CreateSnapshot, OperationNames.OperCreateSnapshot);
          _reportOperationNames.Add(ReportOperation.ReadAuthorizationPolicy, OperationNames.OperReadAuthorizationPolicy);
          _reportOperationNames.Add(ReportOperation.UpdateDeleteAuthorizationPolicy, OperationNames.OperUpdateDeleteAuthorizationPolicy);
          _reportOperationNames.Add(ReportOperation.Execute, OperationNames.OperExecute);
          _reportOperationNames.Add(ReportOperation.CreateLink, OperationNames.OperCreateLink);
          _reportOperationNames.Add(ReportOperation.Comment, OperationNames.OperComment);
          _reportOperationNames.Add(ReportOperation.ManageComments, OperationNames.OperManageComments);

          if (_reportOperationNames.Count != Enum.GetValues(typeof(ReportOperation)).Length)
          {
              //Report name mismatch
              throw new Exception("Report name mismatch");
          }

          _resourceOperationNames.Add(ResourceOperation.Delete, OperationNames.OperDelete);
          _resourceOperationNames.Add(ResourceOperation.ReadProperties, OperationNames.OperReadProperties);
          _resourceOperationNames.Add(ResourceOperation.UpdateProperties, OperationNames.OperUpdateProperties);
          _resourceOperationNames.Add(ResourceOperation.ReadContent, OperationNames.OperReadContent);
          _resourceOperationNames.Add(ResourceOperation.UpdateContent, OperationNames.OperUpdateContent);
          _resourceOperationNames.Add(ResourceOperation.ReadAuthorizationPolicy, OperationNames.OperReadAuthorizationPolicy);
          _resourceOperationNames.Add(ResourceOperation.UpdateDeleteAuthorizationPolicy, OperationNames.OperUpdateDeleteAuthorizationPolicy);
          _resourceOperationNames.Add(ResourceOperation.Comment, OperationNames.OperComment);
          _resourceOperationNames.Add(ResourceOperation.ManageComments, OperationNames.OperManageComments);

          if (_resourceOperationNames.Count != Enum.GetValues(typeof(ResourceOperation)).Length)
          {
              //Resource name mismatch
              throw new Exception("Resource name mismatch");
          }

          _dataSourceOperationNames.Add(DatasourceOperation.Delete, OperationNames.OperDelete);
          _dataSourceOperationNames.Add(DatasourceOperation.ReadProperties, OperationNames.OperReadProperties);
          _dataSourceOperationNames.Add(DatasourceOperation.UpdateProperties, OperationNames.OperUpdateProperties);
          _dataSourceOperationNames.Add(DatasourceOperation.ReadContent, OperationNames.OperReadContent);
          _dataSourceOperationNames.Add(DatasourceOperation.UpdateContent, OperationNames.OperUpdateContent);
          _dataSourceOperationNames.Add(DatasourceOperation.ReadAuthorizationPolicy, OperationNames.OperReadAuthorizationPolicy);
          _dataSourceOperationNames.Add(DatasourceOperation.UpdateDeleteAuthorizationPolicy, OperationNames.OperUpdateDeleteAuthorizationPolicy);

          if (_dataSourceOperationNames.Count != Enum.GetValues(typeof(DatasourceOperation)).Length)
          {
              //Datasource name mismatch
              throw new Exception("Datasource name mismatch");
          }

          // Initialize permission collection.
          foreach (CatalogOperation oper in _catalogOperationNames.Keys)
          {
              if (!_fullPermissions.Contains(_catalogOperationNames[oper]))
                  _fullPermissions.Add(_catalogOperationNames[oper]);
          }

          foreach (ModelItemOperation oper in _modelItemOperNames.Keys)
          {
              if (!_fullPermissions.Contains(_modelItemOperNames[oper]))
                  _fullPermissions.Add(_modelItemOperNames[oper]);
          }

          foreach (ModelOperation oper in _modelOperNames.Keys)
          {
              if (!_fullPermissions.Contains(_modelOperNames[oper]))
                  _fullPermissions.Add(_modelOperNames[oper]);
          }

          foreach (CatalogOperation oper in _catalogOperationNames.Keys)
          {
              if (!_fullPermissions.Contains(_catalogOperationNames[oper]))
                  _fullPermissions.Add(_catalogOperationNames[oper]);
          }

          foreach (ReportOperation oper in _reportOperationNames.Keys)
          {
              if (!_fullPermissions.Contains((string)_reportOperationNames[oper]))
                  _fullPermissions.Add((string)_reportOperationNames[oper]);
          }

          foreach (FolderOperation oper in _folderOperationNames.Keys)
          {
              if (!_fullPermissions.Contains((string)_folderOperationNames[oper]))
                  _fullPermissions.Add((string)_folderOperationNames[oper]);
          }

          foreach (ResourceOperation oper in _resourceOperationNames.Keys)
          {
              if (!_fullPermissions.Contains((string)_resourceOperationNames[oper]))
                  _fullPermissions.Add((string)_resourceOperationNames[oper]);
          }

          foreach (DatasourceOperation oper in _dataSourceOperationNames.Keys)
          {
              if (!_fullPermissions.Contains((string)_dataSourceOperationNames[oper]))
                  _fullPermissions.Add((string)_dataSourceOperationNames[oper]);
          }
      }