public override void Bind(IEditorService service) { _edsvc = service; _edsvc.RegisterCustomNotifier(this); try { _fsvc = (IFusionService)_edsvc.GetService((int)ServiceType.Fusion); if (service.CurrentConnection.ProviderName.ToUpper() == "MAESTRO.HTTP") { _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE { _baseUrl += "/"; //NOXLATE } } } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } _edsvc.Saved += OnSaved; _flexLayout = (IApplicationDefinition)service.GetEditedResource(); TextBoxBinder.BindText(txtTemplateUrl, _flexLayout, "TemplateUrl"); //NOXLATE TextBoxBinder.BindText(txtTitle, _flexLayout, "Title"); //NOXLATE var templates = _fsvc.GetApplicationTemplates(); InitializeTemplateList(templates); GeneratePreviewUrl(); }
internal string[] GetDockableWidgetNames(IApplicationDefinition appDef) { //Key the dockable types var dict = new Dictionary <string, IWidgetInfo>(); foreach (var winfo in GetAllWidgets()) { if (winfo.StandardUi) { dict[winfo.Type] = winfo; } } var result = new List <string>(); foreach (var wset in appDef.WidgetSets) { foreach (var wgt in wset.Widgets) { if (dict.ContainsKey(wgt.Type)) { result.Add(wgt.Name); } } } return(result.ToArray()); }
public override void Bind(IEditorService service) { service.RegisterCustomNotifier(this); try { _fsvc = (IFusionService)service.GetService((int)ServiceType.Fusion); if (service.CurrentConnection.ProviderName.ToUpper() == "MAESTRO.HTTP") { _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE { _baseUrl += "/"; //NOXLATE } } } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } _edsvc = service; _edsvc.RegisterCustomNotifier(this); _flexLayout = (IApplicationDefinition)service.GetEditedResource(); foreach (var grp in _flexLayout.MapSet.MapGroups) { AddMap(grp); } }
/// <summary> /// Gets whether a widget with the specified name already exists /// </summary> /// <param name="appDef"></param> /// <param name="name"></param> /// <returns></returns> public static bool WidgetNameExists(this IApplicationDefinition appDef, string name) { Check.NotNull(appDef, "appDef"); Check.NotEmpty(name, "name"); return(appDef.FindWidget(name) != null); }
public override void Bind(IEditorService service) { try { _edsvc = service; _fsvc = (IFusionService)_edsvc.GetService((int)ServiceType.Fusion); _context = new FlexibleLayoutEditorContext(_fsvc); if (service.CurrentConnection.ProviderName.ToUpper() == "MAESTRO.HTTP") { _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE { _baseUrl += "/"; //NOXLATE } } } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } service.RegisterCustomNotifier(this); _flexLayout = (IApplicationDefinition)service.GetEditedResource(); InitWidgetSet(); }
/// <summary> /// Sets the initial state of this editor and sets up any databinding /// within such that user interface changes will propagate back to the /// model. /// </summary> /// <param name="service"></param> public override void Bind(IEditorService service) { _flexLayout = (IApplicationDefinition)service.GetEditedResource(); settingsCtrl.Bind(service); mapsCtrl.Bind(service); widgetsCtrl.Bind(service); }
public Root(IApplicationDefinition app, IServiceProvider provider) { foreach (var domain in app.Contexts.Where(i => i.Queries.Any())) { var graphDomain = new GraphDomain(domain, provider); AddField(graphDomain.GetFieldType()); } }
public EventFlyBuilder(IServiceCollection services) { Services = services; ApplicationDefinition = new ApplicationDefinition(); Services .AddSingleton(ApplicationDefinition) .AddSingleton <IDefinitionToManagerRegistry, DefinitionToManagerRegistry>(); }
public NewWidgetDialog(IApplicationDefinition appDef, FlexibleLayoutEditorContext context) { InitializeComponent(); _appDef = appDef; _context = context; cmbWidgets.DisplayMember = "Type"; //NOXLATE cmbWidgets.DataSource = _context.GetAllWidgets(); }
public CommandsApiDescriptionGroupCollectionProvider( IApplicationDefinition applicationDefinition, EventFlyWebApiOptions options, IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, IEnumerable <IApiDescriptionProvider> apiDescriptionProviders) { _options = options; _metadata = applicationDefinition; _internal = new ApiDescriptionGroupCollectionProvider(actionDescriptorCollectionProvider, apiDescriptionProviders); }
public void ApplicationDefinitionDeserializationWithFullContentModel() { IResource res = ObjectFactory.DeserializeXml(Properties.Resources.AppDef_1_0_0); Assert.NotNull(res); Assert.AreEqual(res.ResourceType, "ApplicationDefinition"); Assert.AreEqual(res.ResourceVersion, new Version(1, 0, 0)); IApplicationDefinition appDef = res as IApplicationDefinition; Assert.NotNull(appDef); }
public void ApplicationDefinitionDeserializationWithFullContentModel() { IResource res = ObjectFactory.DeserializeXml(Utils.ReadAllText($"Resources{System.IO.Path.DirectorySeparatorChar}AppDef-1.0.txt")); Assert.NotNull(res); Assert.Equal("ApplicationDefinition", res.ResourceType); Assert.Equal(res.ResourceVersion, new Version(1, 0, 0)); IApplicationDefinition appDef = res as IApplicationDefinition; Assert.NotNull(appDef); }
public static bool ValidData(string value, int row, ColumnMapping mapping, IVisualCollection collection, Dictionary <string, IEntityObject> navProperties, List <string> errorList) { bool bValid = false; IEntityType targetEntityType = mapping.TableField.EntityType; //Need to grab the entity set and check number of results we get IApplicationDefinition appModel = collection.Screen.Details.Application.Details.GetModel(); IEntityContainerDefinition entityContainerDefinition = (from ecd in appModel.GlobalItems.OfType <IEntityContainerDefinition>() where ecd.EntitySets.Any(es => object.ReferenceEquals(es.EntityType, targetEntityType)) select ecd).FirstOrDefault(); if (entityContainerDefinition == null) { throw new Exception("Could not find an entity container representing the entity type: " + targetEntityType.Name); } IEntitySetDefinition entitySetDefinition = (from es in entityContainerDefinition.EntitySets where object.ReferenceEquals(es.EntityType, targetEntityType) select es).First(); var dataService = (IDataService)collection.Screen.Details.DataWorkspace.Details.Properties[entityContainerDefinition.Name].Value; var entitySet = (IEntitySet)dataService.Details.Properties[entitySetDefinition.Name].Value; var dsQuery = entitySet.GetQuery(); //Search for the matching entity for the relationship IEnumerable<IEntityObject> var results = SearchEntityMethodInfo().MakeGenericMethod(dsQuery.ElementType).Invoke(null, new object[] { dsQuery, value, targetEntityType }) as IEnumerable <IEntityObject>; int searchCount = results.Count(); if (searchCount == 0) { bValid = false; errorList.Add(String.Format("Column:{0} Row:{1} Cannot find a matching '{2}' for '{3}'", mapping.OfficeColumn, row, mapping.TableField.DisplayName, value)); } else if (searchCount > 1) { bValid = true; errorList.Add(String.Format("Column:{0} Row:{1} Multiple matching '{2}' for '{3}'. Will select first match.", mapping.OfficeColumn, row, mapping.TableField.DisplayName, value)); navProperties[String.Format("{0}_{1}", mapping.TableField.Name, value)] = results.FirstOrDefault(); } else { bValid = true; navProperties[String.Format("{0}_{1}", mapping.TableField.Name, value)] = results.FirstOrDefault(); } return(bValid); }
public WidgetReferenceCtrl(IWidgetItem item, IEditorService edsvc) : this() { _widgetRef = item; _flexLayout = (IApplicationDefinition)edsvc.GetEditedResource(); _fsvc = (IFusionService)edsvc.GetService((int)ServiceType.Fusion); _context = new FlexibleLayoutEditorContext(_fsvc); cmbWidgetRefs.DataSource = _context.GetDockableWidgetNames(_flexLayout); cmbWidgetRefs.SelectedItem = item.Widget; _init = false; }
public RabbitMqEventProvider(IRabbitMqEventProviderConfiguration configuration, IApplicationDefinition applicationDefinition, IDomainEventFactory domainEventFactory, IDomainEventBus domainEventBus) { _configuration = configuration; _rabbitMqMessageFactory = new RabbitMqMessageFactory(); _applicationDefinition = applicationDefinition; _domainEventFactory = domainEventFactory; _domainEventBus = domainEventBus; _connectionFactory = new ConnectionFactory { Uri = _configuration.Connection }; }
public MapCtrl(IApplicationDefinition appDef, IMapGroup group, IEditorService edService, IMapWidget widget) : this() { _appDef = appDef; _widget = widget; _group = group; _edSvc = edService; _edSvc.RegisterCustomNotifier(this); _models = new BindingList <MapModel>(); lstMaps.DataSource = _models; UpdateMapList(); txtMapId.Text = group.id; LoadMapOptions(); }
/// <summary> /// Gets the first widget set of this application definition. /// </summary> /// <param name="appDef"></param> /// <returns></returns> public static IWidgetSet GetFirstWidgetSet(this IApplicationDefinition appDef) { Check.NotNull(appDef, "appDef"); //NOXLATE IWidgetSet set = null; foreach (var wgt in appDef.WidgetSets) { if (set == null) { set = wgt; break; } } return(set); }
private void ValidateWidgetReferencesForMenu(IApplicationDefinition fusionApp, IMenu menu, List <ValidationIssue> issues, ResourceValidationContext context, IResource resource) { foreach (var item in menu.Items) { var subMenu = item as IMenu; var widgetRef = item as IWidgetItem; if (subMenu != null) { ValidateWidgetReferencesForMenu(fusionApp, subMenu, issues, context, resource); } else if (widgetRef != null) { var id = widgetRef.Widget; var wgt = fusionApp.FindWidget(id); var uiWgt = wgt as IUIWidget; string parentName = "<unknown>"; //NOXLATE var cnt = menu as IWidgetContainer; var fly = menu as IFlyoutItem; if (cnt != null) { parentName = cnt.Name; } else if (fly != null) { parentName = fly.Label; } if (wgt == null) { issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_InvalidWidgetReference, string.Format(Strings.ADF_InvalidWidgetReferenceInContainer, id, parentName))); } else { if (uiWgt == null) { issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_NonStandardUiWidgetAttachedToContainer, string.Format(Strings.ADF_NonUiWidgetAttachedToContainer, id, parentName))); } else { if (string.IsNullOrEmpty(uiWgt.Label) && string.IsNullOrEmpty(uiWgt.ImageUrl)) { issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_NoLabelOnWidget, string.Format(Strings.ADF_ReferencedWidgetInMenuHasNoLabel, id, parentName))); } } } } } }
/// <summary> /// Gets the widget of the specified name /// </summary> /// <param name="appDef"></param> /// <param name="name"></param> /// <returns></returns> public static IWidget FindWidget(this IApplicationDefinition appDef, string name) { Check.NotNull(appDef, "appDef"); Check.NotEmpty(name, "name"); foreach (var set in appDef.WidgetSets) { foreach (var wgt in set.Widgets) { if (wgt.Name == name) { return(wgt); } } } return(null); }
public WidgetManagementDialog(IApplicationDefinition appDef, IEditorService edsvc, FlexibleLayoutEditorContext context) { InitializeComponent(); edsvc.RegisterCustomNotifier(this); grdWidgets.AutoGenerateColumns = false; _items = new BindingList<WidgetItem>(); _appDef = appDef; _context = context; _edsvc = edsvc; grdWidgets.DataSource = _items; txtMapWidgetXml.SetHighlighting("XML"); //NOXLATE var wset = appDef.GetFirstWidgetSet(); SetupMapWidget(wset.MapWidget); foreach (var wgt in wset.Widgets) { AddWidgetItem(wgt); } this.Disposed += new EventHandler(OnDisposed); }
public WidgetManagementDialog(IApplicationDefinition appDef, IEditorService edsvc, FlexibleLayoutEditorContext context) { InitializeComponent(); edsvc.RegisterCustomNotifier(this); grdWidgets.AutoGenerateColumns = false; _items = new BindingList <WidgetItem>(); _appDef = appDef; _context = context; _edsvc = edsvc; grdWidgets.DataSource = _items; txtMapWidgetXml.SetHighlighting("XML"); //NOXLATE var wset = appDef.GetFirstWidgetSet(); SetupMapWidget(wset.MapWidget); foreach (var wgt in wset.Widgets) { AddWidgetItem(wgt); } this.Disposed += new EventHandler(OnDisposed); }
public DefinitionToManagerRegistry(ActorSystem actorSystem, IApplicationDefinition applicationDefinition) { _system = actorSystem; foreach (var context in applicationDefinition.Contexts) { DefinitionToAggregateManager = DefinitionToAggregateManager.Union(RegisterAggregateManagers(context.Aggregates.Select(a => a.ManagerDefinition).ToList(), context.Name)).ToDictionary(k => k.Key, v => v.Value); DefinitionToQueryManager = DefinitionToQueryManager.Union(RegisterQueryManagers(context.Queries.Select(a => a.ManagerDefinition).ToList(), context.Name)).ToDictionary(k => k.Key, v => v.Value); DefinitionToReadModelManager = DefinitionToReadModelManager.Union(RegisterReadModelManagers(context.ReadModels.Select(a => a.ManagerDefinition).ToList(), context.Name)).ToDictionary(k => k.Key, v => v.Value); DefinitionToSagaManager = DefinitionToSagaManager.Union(RegisterSagaManagers(context.Sagas.Select(a => a.ManagerDefinition).ToList(), context.Name)).ToDictionary(k => k.Key, v => v.Value); DefinitionToDomainServiceManager = DefinitionToDomainServiceManager.Union(RegisterDomainServiceManagers(context.DomainServices.Select(a => a.ManagerDefinition).ToList(), context.Name)).ToDictionary(k => k.Key, v => v.Value); DefinitionToJobManager = DefinitionToJobManager .Union(RegisterJobManagers(context.Jobs.Select(a => a.ManagerDefinition).ToList(), context.Name)) .ToDictionary(k => k.Key, v => v.Value); } DefinitionToJobManager = DefinitionToJobManager .Union(RegisterCommandsScheduler("common")) .Union(RegisterEventsScheduler("common")) .ToDictionary(k => k.Key, v => v.Value); RegisterDomainEventSubscribers(applicationDefinition.DomainEventSubscribers); }
public override void Bind(IEditorService service) { _edsvc = service; _edsvc.RegisterCustomNotifier(this); try { _fsvc = (IFusionService)_edsvc.GetService((int)ServiceType.Fusion); _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE _baseUrl += "/"; //NOXLATE } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } _edsvc.Saved += OnSaved; _flexLayout = (IApplicationDefinition)service.GetEditedResource(); TextBoxBinder.BindText(txtTemplateUrl, _flexLayout, "TemplateUrl"); //NOXLATE TextBoxBinder.BindText(txtTitle, _flexLayout, "Title"); //NOXLATE var templates = _fsvc.GetApplicationTemplates(); InitializeTemplateList(templates); GeneratePreviewUrl(); }
public SerializedCommandPublisher(IApplicationDefinition applicationDefinition, ICommandBus bus) { _applicationDefinition = applicationDefinition; _bus = bus; }
public SerializedQueryExecutor(IApplicationDefinition applicationDefinition, IQueryProcessor queryProcessor) { _applicationDefinition = applicationDefinition; _queryProcessor = queryProcessor; }
public override void Bind(IEditorService service) { try { _edsvc = service; _fsvc = (IFusionService)_edsvc.GetService((int)ServiceType.Fusion); _context = new FlexibleLayoutEditorContext(_fsvc); _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE _baseUrl += "/"; //NOXLATE } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } service.RegisterCustomNotifier(this); _flexLayout = (IApplicationDefinition)service.GetEditedResource(); InitWidgetSet(); }
public MapCtrl(IApplicationDefinition appDef, IMapGroup group, IEditorService edService, IMapWidget widget) : this() { _edsvc = edService; _edsvc.RegisterCustomNotifier(this); _appDef = appDef; _group = group; _widget = widget; foreach (var map in group.Map) { if (map.Type.Equals("MapGuide")) //NOXLATE { _map = map; } else { var cmsOpts = map.CmsMapOptions; if (cmsOpts != null) { switch (cmsOpts.Type) { case G_HYBRID_MAP: chkGoogHybrid.Checked = true; break; case G_NORMAL_MAP: chkGoogStreets.Checked = true; break; case G_SATELLITE_MAP: chkGoogSatellite.Checked = true; break; case G_PHYSICAL_MAP: chkGoogTerrain.Checked = true; break; case BING_AERIAL: chkBingSatellite.Checked = true; break; case BING_HYBRID: chkBingHybrid.Checked = true; break; case BING_ROAD: chkBingStreets.Checked = true; break; case YAHOO_MAP_HYB: chkYahooHybrid.Checked = true; break; case YAHOO_MAP_REG: chkYahooStreets.Checked = true; break; case YAHOO_MAP_SAT: chkYahooSatellite.Checked = true; break; } } } } string googUrl = _appDef.GetValue("GoogleScript"); //NOXLATE string yahooUrl = _appDef.GetValue("YahooScript"); //NOXLATE if (!string.IsNullOrEmpty(yahooUrl)) { txtYahooApiKey.Text = yahooUrl.Substring(YAHOO_URL.Length); } EvaluateCmsStates(); _initialView = _group.InitialView; _cmsMaps = new Dictionary<string, CmsMap>(); chkOverride.Checked = (_initialView != null); InitCmsMaps(group); Debug.Assert(_cmsMaps.Count == 13); if (_initialView == null) _initialView = group.CreateInitialView(0.0, 0.0, 0.0); txtViewX.Text = _initialView.CenterX.ToString(CultureInfo.InvariantCulture); txtViewY.Text = _initialView.CenterY.ToString(CultureInfo.InvariantCulture); txtViewScale.Text = _initialView.Scale.ToString(CultureInfo.InvariantCulture); txtViewX.TextChanged += (s, e) => { double d; if (double.TryParse(txtViewX.Text, out d)) { _initialView.CenterX = d; OnResourceChanged(); } }; txtViewY.TextChanged += (s, e) => { double d; if (double.TryParse(txtViewY.Text, out d)) { _initialView.CenterY = d; OnResourceChanged(); } }; txtViewScale.TextChanged += (s, e) => { double d; if (double.TryParse(txtViewScale.Text, out d)) { _initialView.Scale = d; OnResourceChanged(); } }; TextBoxBinder.BindText(txtMapId, group, "id"); //NOXLATE txtMapDefinition.Text = _map.GetMapDefinition(); txtMapDefinition.TextChanged += (s, e) => { _map.SetMapDefinition(txtMapDefinition.Text); OnResourceChanged(); }; CheckBoxBinder.BindChecked(chkSingleTiled, _map, "SingleTile"); //NOXLATE var selOverlay = _map.GetValue("SelectionAsOverlay"); //NOXLATE var selColor = _map.GetValue("SelectionColor"); //NOXLATE if (!string.IsNullOrEmpty(selColor)) cmbSelectionColor.CurrentColor = Utility.ParseHTMLColorRGBA(selColor.Substring(2)); //Strip the "0x" part if (!string.IsNullOrEmpty(selOverlay)) { bool b = true; if (bool.TryParse(selOverlay, out b)) chkSelectionAsOverlay.Checked = b; } cmbSelectionColor.SelectedIndexChanged += (s, e) => { _map.SetValue("SelectionColor", "0x" + Utility.SerializeHTMLColorRGBA(cmbSelectionColor.CurrentColor, true)); //NOXLATE OnResourceChanged(); }; chkSelectionAsOverlay.CheckedChanged += (s, e) => { _map.SetValue("SelectionAsOverlay", chkSelectionAsOverlay.Checked.ToString().ToLower()); //NOXLATE OnResourceChanged(); }; _noEvents = false; }
public override void Bind(IEditorService service) { service.RegisterCustomNotifier(this); try { _fsvc = (IFusionService)service.GetService((int)ServiceType.Fusion); _baseUrl = service.GetCustomProperty("BaseUrl").ToString(); //NOXLATE if (!_baseUrl.EndsWith("/")) //NOXLATE _baseUrl += "/"; //NOXLATE } catch { throw new NotSupportedException(Strings.IncompatibleConnection); } _edsvc = service; _edsvc.RegisterCustomNotifier(this); _flexLayout = (IApplicationDefinition)service.GetEditedResource(); foreach (var grp in _flexLayout.MapSet.MapGroups) { AddMap(grp); } }
/// <summary> /// Validats the specified resources for common issues associated with this /// resource type /// </summary> /// <param name="context"></param> /// <param name="resource"></param> /// <param name="recurse"></param> /// <returns></returns> public ValidationIssue[] Validate(ResourceValidationContext context, IResource resource, bool recurse) { if (resource.ResourceType != ResourceTypes.ApplicationDefinition.ToString()) { return(null); } //TODO: Other items to check for // // - References to non-existent widgets // - MapWidget checks // - Ensure map id checks out // - Ensure context menu id checks out // - Verify containers of template are all referenced within this flexible layout // - Check required parameters of widgets are satisfied List <ValidationIssue> issues = new List <ValidationIssue>(); IApplicationDefinition fusionApp = resource as IApplicationDefinition; if (fusionApp.MapSet == null || fusionApp.MapSet.MapGroupCount == 0) { issues.Add(new ValidationIssue(fusionApp, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_MissingMap, string.Format(Strings.ADF_MapMissingError))); } else { foreach (IMapGroup mapGroup in fusionApp.MapSet.MapGroups) { bool checkCmsProjection = false; List <IMapDefinition> mapDefsInGroup = new List <IMapDefinition>(); foreach (IMap map in mapGroup.Map) { if (IsCommercialOverlay(map)) { checkCmsProjection = true; } if (map.Type.ToLower() == "virtualearth") { //As of July 1, 2017 we need an API key on Bing Maps var bingMapsKey = fusionApp.GetValue("BingMapKey"); if (string.IsNullOrEmpty(bingMapsKey)) { issues.Add(new ValidationIssue(fusionApp, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_BingMapsMissingApiKey, Strings.ADF_BingMapsMissingApiKey)); } //If this is still referencing the "Hybrid" base layer type, that no longer exists in the v8 API if (map.CmsMapOptions.Type == "Hybrid") { issues.Add(new ValidationIssue(fusionApp, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_BingMapsHybridBaseLayerNoLongerAvailable, Strings.ADF_BingMapsHybridLayerNoLongerAvailable)); } } try { if (map.Type.ToLower() == "mapguide") //NOXLATE { var mdfId = map.GetMapDefinition(); if (string.IsNullOrEmpty(mdfId) || !this.Connection.ResourceService.ResourceExists(mdfId)) { issues.Add(new ValidationIssue(fusionApp, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_InvalidMap, string.Format(Strings.ADF_MapInvalidError, mapGroup.id))); } else { IMapDefinition mdef = (IMapDefinition)context.GetResource(mdfId); mapDefsInGroup.Add(mdef); IEnvelope mapEnv = ObjectFactory.CreateEnvelope(mdef.Extents.MinX, mdef.Extents.MinY, mdef.Extents.MaxX, mdef.Extents.MaxY); if (mapGroup.InitialView != null) { if (!mapEnv.Contains(mapGroup.InitialView.CenterX, mapGroup.InitialView.CenterY)) { issues.Add(new ValidationIssue(mdef, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_InitialViewOutsideMapExtents, string.Format(Strings.ADF_ViewOutsideMapExtents))); } } if (recurse) { issues.AddRange(ResourceValidatorSet.Validate(context, mdef, recurse)); } } } } catch (Exception ex) { string msg = NestedExceptionMessageProcessor.GetFullMessage(ex); issues.Add(new ValidationIssue(fusionApp, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_MapValidationError, string.Format(Strings.ADF_MapValidationError, mapGroup.id, msg))); } } if (checkCmsProjection) { foreach (var mdf in mapDefsInGroup) { var wkt = mdf.CoordinateSystem; var csCode = this.Connection.CoordinateSystemCatalog.ConvertWktToCoordinateSystemCode(wkt); if (csCode.ToUpper() != "WGS84.PSEUDOMERCATOR") //NOXLATE { issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_MapCoordSysIncompatibleWithCommericalLayers, string.Format(Strings.ADF_MapWithIncompatibleCommericalCs, mdf.ResourceID))); } } } } } //Check labels of referenced widgets foreach (var wset in fusionApp.WidgetSets) { foreach (var cnt in wset.Containers) { var menu = cnt as IMenu; if (menu != null) { ValidateWidgetReferencesForMenu(fusionApp, menu, issues, context, resource); } } } context.MarkValidated(resource.ResourceID); return(issues.ToArray()); }
protected AbstractExternalEventProvider(IApplicationDefinition applicationDefinition, IDomainEventBus eventBus) { _eventTypes = applicationDefinition.ExternalEvents.GetAllDefinitions().Select(d => d.Type).ToList(); _eventBus = eventBus; }
public SecurityService(IServiceProvider serviceProvider, IApplicationDefinition definition) { _permissionProvider = serviceProvider.GetService <IPermissionProvider>(); _definition = definition; }
/// <summary> /// Gets the name of the fusion template /// </summary> /// <param name="appDef"></param> /// <returns></returns> public static string GetTemplateName(this IApplicationDefinition appDef) { string[] tokens = appDef.TemplateUrl.Split('/'); // fusion/templates/mapguide/{templateName}/index.html return(tokens[tokens.Length - 2]); }
private void ValidateWidgetReferencesForMenu(IApplicationDefinition fusionApp, IMenu menu, List<ValidationIssue> issues, ResourceValidationContext context, IResource resource) { foreach (var item in menu.Items) { var subMenu = item as IMenu; var widgetRef = item as IWidgetItem; if (subMenu != null) { ValidateWidgetReferencesForMenu(fusionApp, subMenu, issues, context, resource); } else if (widgetRef != null) { var id = widgetRef.Widget; var wgt = fusionApp.FindWidget(id); var uiWgt = wgt as IUIWidget; string parentName = "<unknown>"; //NOXLATE var cnt = menu as IWidgetContainer; var fly = menu as IFlyoutItem; if (cnt != null) parentName = cnt.Name; else if (fly != null) parentName = fly.Label; if (wgt == null) { issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_Fusion_InvalidWidgetReference, string.Format(Strings.ADF_InvalidWidgetReferenceInContainer, id, parentName))); } else { if (uiWgt == null) { issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_NonStandardUiWidgetAttachedToContainer, string.Format(Strings.ADF_NonUiWidgetAttachedToContainer, id, parentName))); } else { if (string.IsNullOrEmpty(uiWgt.Label) && string.IsNullOrEmpty(uiWgt.ImageUrl)) { issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_Fusion_NoLabelOnWidget, string.Format(Strings.ADF_ReferencedWidgetInMenuHasNoLabel, id, parentName))); } } } } } }
internal string[] GetDockableWidgetNames(IApplicationDefinition appDef) { //Key the dockable types var dict = new Dictionary<string, IWidgetInfo>(); foreach (var winfo in GetAllWidgets()) { if (winfo.StandardUi) { dict[winfo.Type] = winfo; } } var result = new List<string>(); foreach (var wset in appDef.WidgetSets) { foreach (var wgt in wset.Widgets) { if (dict.ContainsKey(wgt.Type)) result.Add(wgt.Name); } } return result.ToArray(); }
/// <summary> /// Removes the specified widget from this /// </summary> /// <param name="appDef">The app definition.</param> /// <param name="widgetName">Name of the widget to remove.</param> /// <param name="deleteReferences">if set to <c>true</c> [deletes any references to the widget to be deleted].</param> public static void RemoveWidget(this IApplicationDefinition appDef, string widgetName, bool deleteReferences) { Check.NotNull(appDef, "appDef"); //NOXLATE Check.NotEmpty(widgetName, "widgetName"); //NOXLATE IWidgetSet matchingSet = null; IWidget matchingWidget = null; foreach (var set in appDef.WidgetSets) { if (matchingSet == null) { foreach (var wgt in set.Widgets) { if (wgt.Name == widgetName) { matchingSet = set; matchingWidget = wgt; break; } } } } int removed = 0; if (matchingSet != null && matchingWidget != null) { matchingSet.RemoveWidget(matchingWidget); if (deleteReferences) { foreach (var set in appDef.WidgetSets) { foreach (var cnt in set.Containers) { var uicnt = cnt as IUIItemContainer; if (uicnt != null) { List <IWidgetItem> removeMe = new List <IWidgetItem>(); foreach (var uiitem in uicnt.Items) { IWidgetItem witem = uiitem as IWidgetItem; if (witem != null && witem.Widget == widgetName) { removeMe.Add(witem); System.Diagnostics.Trace.TraceInformation("Found widget reference in container: " + uicnt.Name); //NOXLATE } } if (removeMe.Count > 0) { foreach (var rm in removeMe) { uicnt.RemoveItem(rm); removed++; } } } } } } } if (deleteReferences) { System.Diagnostics.Trace.TraceInformation(removed + " widget references removed"); //NOXLATE } }