/* * Copyright (c) 2010-2013 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.evolveum.midpoint.web.util; import com.evolveum.midpoint.gui.api.GuiStyleConstants; import com.evolveum.midpoint.schema.constants.ObjectTypes; import com.evolveum.midpoint.schema.constants.SchemaConstants; import javax.xml.namespace.QName; /** * @author lazyman */ public enum ObjectTypeGuiDescriptor { CONNECTOR(ObjectTypes.CONNECTOR, "ObjectTypeGuiDescriptor.connector", "silk-link", "silk-link"), CONNECTOR_HOST(ObjectTypes.CONNECTOR_HOST, "ObjectTypeGuiDescriptor.connectorHost", "silk-driver_link", "silk-driver_link"), GENERIC_OBJECT(ObjectTypes.GENERIC_OBJECT, "ObjectTypeGuiDescriptor.genericObject", "silk-page_white_code", "silk-page_white_code"), RESOURCE(ObjectTypes.RESOURCE, "ObjectTypeGuiDescriptor.resource", GuiStyleConstants.CLASS_OBJECT_RESOURCE_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_RESOURCE_ICON), USER(ObjectTypes.USER, "ObjectTypeGuiDescriptor.user", GuiStyleConstants.CLASS_OBJECT_USER_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_USER_ICON), OBJECT_TEMPLATE(ObjectTypes.OBJECT_TEMPLATE, "ObjectTypeGuiDescriptor.objectTemplate", "silk-layout", "silk-layout"), SYSTEM_CONFIGURATION(ObjectTypes.SYSTEM_CONFIGURATION, "ObjectTypeGuiDescriptor.systemConfiguration", "silk-page_white_gear", "silk-page_white_gear"), TASK(ObjectTypes.TASK, "ObjectTypeGuiDescriptor.task", GuiStyleConstants.CLASS_OBJECT_TASK_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_TASK_ICON), SHADOW(ObjectTypes.SHADOW, "ObjectTypeGuiDescriptor.shadow", "silk-status_online", "silk-status_online"), OBJECT(ObjectTypes.OBJECT, "ObjectTypeGuiDescriptor.object", "silk-page_white", "silk-page_white"), ROLE(ObjectTypes.ROLE, "ObjectTypeGuiDescriptor.role", GuiStyleConstants.CLASS_OBJECT_ROLE_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_ROLE_ICON), VALUE_POLICY(ObjectTypes.PASSWORD_POLICY, "ObjectTypeGuiDescriptor.valuePolicy", "silk-lock", "silk-lock"), NODE(ObjectTypes.NODE, "ObjectTypeGuiDescriptor.node", "silk-computer", "silk-computer"), FORM(ObjectTypes.FORM, "ObjectTypeGuiDescriptor.form", "", ""), ORG(ObjectTypes.ORG, "ObjectTypeGuiDescriptor.org", GuiStyleConstants.CLASS_OBJECT_ORG_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_ORG_ICON), ABSTRACT_ROLE(ObjectTypes.ABSTRACT_ROLE, "ObjectTypeGuiDescriptor.abstractRole", "silk-award_star_gold_3", "silk-award_star_gold_3"), FOCUS(ObjectTypes.FOCUS_TYPE, "ObjectTypeGuiDescriptor.focus", "", ""), REPORT(ObjectTypes.REPORT, "ObjectTypeGuiDescriptor.report", "", ""), REPORT_OUTPUT(ObjectTypes.REPORT_OUTPUT, "ObjectTypeGuiDescriptor.reportOutput", "", ""), SECURITY_POLICY(ObjectTypes.SECURITY_POLICY, "ObjectTypeGuiDescriptor.securityPolicy", "", ""), USER_ORG_MANAGER(SchemaConstants.ORG_MANAGER, "ObjectTypeGuiDescriptor.orgManager", "silk-user_red", "silk-user_red"), LOOKUP_TABLE(ObjectTypes.LOOKUP_TABLE, "ObjectTypeGuiDescriptor.lookupTable", "", ""), ACCESS_CERTIFICATION_DEFINITION(ObjectTypes.ACCESS_CERTIFICATION_DEFINITION, "ObjectTypeGuiDescriptor.accessCertificationDefinition", "", ""), ACCESS_CERTIFICATION_CAMPAIGN(ObjectTypes.ACCESS_CERTIFICATION_CAMPAIGN, "ObjectTypeGuiDescriptor.accessCertificationCampaign", "", ""), SEQUENCE(ObjectTypes.SEQUENCE, "ObjectTypeGuiDescriptor.sequence", "", ""), SERVICE(ObjectTypes.SERVICE, "ObjectTypeGuiDescriptor.service", GuiStyleConstants.CLASS_OBJECT_SERVICE_ICON_COLORED, GuiStyleConstants.CLASS_OBJECT_SERVICE_ICON), CASE(ObjectTypes.CASE, "ObjectTypeGuiDescriptor.case", "", ""); // TODO icons public static final String ERROR_ICON = "silk-error"; public static final String ERROR_LOCALIZATION_KEY = "ObjectTypeGuiDescriptor.unknown"; private ObjectTypes type; private QName relation; private String localizationKey; private String coloredIcon; private String blackIcon; ObjectTypeGuiDescriptor(ObjectTypes type, String localizationKey, String coloredIcon, String blackIcon) { this.coloredIcon = coloredIcon; this.blackIcon = blackIcon; this.localizationKey = localizationKey; this.type = type; } ObjectTypeGuiDescriptor(QName relation, String localizationKey, String coloredIcon, String blackIcon) { this.coloredIcon = coloredIcon; this.blackIcon = blackIcon; this.localizationKey = localizationKey; this.relation = relation; } @SuppressWarnings("unused") public String getColoredIcon() { return coloredIcon; } public String getBlackIcon() { return blackIcon; } public String getLocalizationKey() { return localizationKey; } public ObjectTypes getType() { return type; } public QName getRelation() { return relation; } public static ObjectTypeGuiDescriptor getDescriptor(Class type) { for (ObjectTypeGuiDescriptor descr : ObjectTypeGuiDescriptor.values()) { if (descr.getType() != null && descr.getType().getClassDefinition().equals(type)) { return descr; } } return null; } public static ObjectTypeGuiDescriptor getDescriptor(ObjectTypes type) { if (type == null) { return null; } for (ObjectTypeGuiDescriptor descr : ObjectTypeGuiDescriptor.values()) { if (descr.getType() != null && descr.getType().equals(type)) { return descr; } } return null; } public static ObjectTypeGuiDescriptor getDescriptor(QName relation) { for (ObjectTypeGuiDescriptor descr : ObjectTypeGuiDescriptor.values()) { if (descr.getRelation() != null && descr.getRelation().equals(relation)) { return descr; } } return null; } }