Mike,
Yes, the intention is to support a many-to-many mapping. Your approach sounds good to me.
Greg On Jul 30, 2009, at 11:40 AM, Mike Kucera wrote: I also have some questions regarding how service configurations are intended to work. So far in RDT we have not been using the full power of the ServiceModelManager. We are using a simplified model where each project has exactly one service configuration. The benefit of this approach is that its simple for us to manage and its simple for the user to understand, but I can see a disadvantage in that its less flexible. If the user wants to make a change to the way a particular service provider is configured, and they want that change to apply to all projects, then they would have to open the properties page for each project one at a time and make the same change over and over. >From our recent discussions, and from looking at the services API, it seems to me that the intended model is a many-to-many mapping between projects and service configurations. Is this correct? The advantage of this would be that projects can share a configuration, and if the user makes a change it will automatically apply to all the projects that use that configuration. This approach may be more flexible but I think it also adds complexity, and its further complicated by the fact that certain services only apply to certain project natures. We would need to figure how to present this model to the user in a way that won't be confusing and will be easy to manage. I'm wondering if the simpler approach wouldn't be better. We could keep the simplified RDT model and extend it by allowing each project to have multiple configurations. When the user makes a change to a configuration in one project using the properties page and they click OK we pop up a dialog that says "would you like to apply this change to other projects as well?", this dialog has a list of projects and/or configurations that the user can select and when they click OK the change is also applied to those projects. And perhaps Dave's idea of having a view that shows the complete service model would also help to manage the whole thing. Thoughts? Am I off in my understanding of how this should work? Mike Kucera Software Developer IBM Eclipse CDT Team mkucera@xxxxxxxxxx <graycol.gif>Dave Wootton ---07/30/2009 10:39:56 AM---Greg <ecblank.gif> From: | <ecblank.gif> Dave Wootton <dwootton@xxxxxxxxxx> | <ecblank.gif> To: | <ecblank.gif> ptp-dev@xxxxxxxxxxx | <ecblank.gif> Date: | <ecblank.gif> 07/30/2009 10:39 AM | <ecblank.gif> Subject: | <ecblank.gif> [ptp-dev] Service Configuration preference page questions | Greg I have an initial version of the Service Configuration preference page working and have some questions When I create a new service configuration, I'm calling ServiceModelManager.getInstance().newServiceConfiguration("name") then creating a new ServiceConfigurationWizard obejct using that service configuration. This requires me to code the name of the service configuration in the call to newServiceConfiguration(), and no way to change that name. If I cancel the WizardDialog, the service configuration is still in the list of service configurations since newServiceConfiguration() ceates the service configuration and adds it to the list. I think this should be two steps, with a method to create the service configuration and then a second call to add it to the list. I think the wizard needs somewhere to specify the name as well. I have a couple places in my preference page where I need to get a service configuration by name, to edit or remove a service configuration. I call ServiceModelManager.getConfigurations() and iterate over the set until I find what I want. Is it reasonable to add this method to ServiceModelManager and return null if no match? I don't fully understand how a service configuration gets added to the list of service configurations for a project. Are add and delete buttons required on the properties page, or is there another path intended to do this? If I need an add buttton, then I think I need to craete a popup dialog from the properties page, displaying a list of service configurations to select from, where that list should exclude the ones already used by the project. The other way would be two service configuration lists in the properties page with '-->' and '<--' buttons between them to move them from the complete list to the project's list, but I think that's not the right way to do it. Dave _______________________________________________ ptp-dev mailing list ptp-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/ptp-dev _______________________________________________ ptp-dev mailing list ptp-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/ptp-dev
|