Liferay Portal 7.0 introduced a new API (ConfigurationProvider) that expands OSGi's Configuration Admin adding support for Liferay's configuration scopes (portlet instance, group, company). However it did so only for configuration objects which are not factories.
The goal of this story is to expand ConfigurationProvider (with new methods, through a sister class, ...) so that it's possible to retrieve all factory instances of a configuration for an specific company.
One open question that should be defined during this story is related to the what will be the relationship between instances at the system (global) level vs the company level. If there are no instances at the company level it seems clear that the instances at the system level should be returned (otherwise they would never be used). But if there are some instances at the company level, should the ones at the system level be returned as well? Should the consumer decide?