CarbonException{
if (component != null) {
ServiceReference reference =
bundleContext.getServiceReference(CustomUIDefenitions.class.getName());
CustomUIDefenitions customUIDefinitions = null;
if (reference != null) {
customUIDefinitions = (CustomUIDefenitions) bundleContext.getService(reference);
}
if (customUIDefinitions == null) {
String msg = "Custom UI defenitions service is not available.";
log.error(msg);
throw new CarbonException(msg);
}
Iterator<String> viewMediaTypes = component.getCustomViewUIMap().keySet().iterator();
while (viewMediaTypes.hasNext()) {
String mediaType = viewMediaTypes.next();
String uiPath = component.getCustomViewUIMap().get(mediaType);
if (CarbonConstants.ADD_UI_COMPONENT.equals(action)) {
if (customUIDefinitions.getCustomViewUI(mediaType) == null) {
customUIDefinitions.addCustomViewUI(mediaType, uiPath);
if (log.isDebugEnabled()) {
log.debug("Registered the custom view UI media type: " + mediaType + ", UI path: " + uiPath);
}
} else {
String msg = "Custom view UI is already registered for media type: " + mediaType +
". Custom UI with media type: " + mediaType + " and UI path: " +
uiPath + " will not be registered.";
log.error(msg);
}
}else if (CarbonConstants.REMOVE_UI_COMPONENT.equals(action)){
//TODO
}
}
Iterator<String> addMediaTypes = component.getCustomAddUIMap().keySet().iterator();
while (addMediaTypes.hasNext()) {
String mediaType = addMediaTypes.next();
String uiPath = component.getCustomAddUIMap().get(mediaType);
if (CarbonConstants.ADD_UI_COMPONENT.equals(action)) {
if (customUIDefinitions.getCustomAddUI(mediaType) == null) {
customUIDefinitions.addCustomAddUI(mediaType, uiPath);
if (log.isDebugEnabled()) {
log.debug("Registered the custom add UI media type: " + mediaType + ", UI path: " + uiPath);
}
} else {
String msg = "Custom add UI is already registered for media type: " + mediaType +