summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/menu/MenuProperties.java
blob: 67ea3bf62507ac09e014cb6c1f724ed61f9a1317 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
 * ============LICENSE_START==========================================
 * ONAP Portal SDK
 * ===================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * ===================================================================
 *
 * Unless otherwise specified, all software contained herein is licensed
 * under the Apache License, Version 2.0 (the "License");
 * you may not use this software 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.
 *
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             https://creativecommons.org/licenses/by/4.0/
 *
 * Unless required by applicable law or agreed to in writing, documentation
 * 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.
 *
 * ============LICENSE_END============================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
package org.onap.portalsdk.core.menu;

import java.io.IOException;
import java.util.HashMap;
import java.util.Properties;

import javax.servlet.ServletContext;

import org.onap.portalsdk.core.util.SystemProperties;

/*
  MenuProperties contains a list of constants used during the creation,
  privilege screening, and rendering of the application menu.
*/
public class MenuProperties {

	// keys used to reference values in the menu.properties file
	public static final String WIDTH = "width";
	public static final String LEFT_POSITION = "left_position";
	public static final String TOP_POSITION = "top_position";
	public static final String FONT_COLOR = "font_color";
	public static final String MOUSEOVER_FONT_COLOR = "mouseover_font_color";
	public static final String BACKGROUND_COLOR = "background_color";
	public static final String MOUSEOVER_BACKGROUND_COLOR = "mouseover_background_color";
	public static final String BORDER_COLOR = "border_color";
	public static final String SEPARATOR_COLOR = "separator_color";
	public static final String IMAGE_SRC = "image_src";
	public static final String IMAGE_SRC_LEFT = "image_src_left";
	public static final String IMAGE_SRC_OVER = "image_src_over";
	public static final String IMAGE_SRC_LEFT_OVER = "image_src_left_over";
	public static final String EVALUATE_UPON_TREE_SHOW = "evaluate_upon_tree_show";
	public static final String EVALUATE_UPON_TREE_HIDE = "evaluate_upon_tree_hide";
	public static final String TOP_IS_PERMANENT = "top_is_permanent";
	public static final String TOP_IS_HORIZONTAL = "top_is_horizontal";
	public static final String TREE_IS_HORIZONTAL = "tree_is_horizontal";
	public static final String POSITION_UNDER = "position_under";
	public static final String TOP_MORE_IMAGES_VISIBLE = "top_more_images_visible";
	public static final String TREE_MORE_IMAGES_VISIBLE = "tree_more_images_visible";
	public static final String RIGHT_TO_LEFT = "right_to_left";
	public static final String DISPLAY_ON_CLICK = "display_on_click";
	public static final String TOP_IS_VARIABLE_WIDTH = "top_is_variable_width";
	public static final String TREE_IS_VARIABLE_WIDTH = "tree_is_variable_width";
	public static final String TOP_KEEP_IN_WINDOW_X = "top_keep_in_window_x";
	public static final String TOP_KEEP_IN_WINDOW_Y = "top_keep_in_window_y";
	public static final String MENU_ID_ADMIN = "menu_id_admin";
	public static final String MENU_ID_LOGOUT = "menu_id_logout";
	public static final String MENU_FRAME = "menu_frame";
	public static final String MAIN_FRAME = "main_frame";
	public static final String NESTED_MAIN_FRAME = "nested_main_frame";
	public static final String ROLE_FUNCTIONS_TAG = "role_functions_tag";
	public static final String MAX_DISPLAYABLE_ADMIN_MENU_SORT_ORDER = "max_displayable_admin_menu_sort_order";
	public static final String MENU_PROPERTIES_FILENAME_KEY = "menu_properties_filename";
	public static final String DEFAULT_SERVLET_NAME = "dispatcher";
	public static final String DEFAULT_TARGET = "_self";
	public static final String TOP_MENU_CLASS = "top_menu_class";
	public static final String TOP_MENU_LINK_CLASS = "top_menu_link_class";
	public static final String ON_MOUSE_OUT_TRAILER = "on_mouse_out_trailer";
	public static final String ON_MOUSE_OVER_TRAILER = "on_mouse_over_trailer";
	public static final String ON_CLICK_TRAILER = "on_click_trailer";
	public static final String MENU_ID_PREFIX = "menu_id_prefix";

	@SuppressWarnings("rawtypes")
	private static HashMap menuProperties = new HashMap();

	private MenuProperties() {
		// cannot instantiate
	}

	@SuppressWarnings("unchecked")
	public static void loadFromFile(ServletContext servletContext, String filename, String menuSetName)
			throws IOException {
		if (filename == null) 
			filename = SystemProperties.getProperty(SystemProperties.APPLICATION_MENU_PROPERTIES_NAME);
		Properties p = new Properties();
		p.load(servletContext.getResourceAsStream(
				SystemProperties.getProperty(SystemProperties.MENU_PROPERTIES_FILE_LOCATION) + filename));
		menuProperties.put(menuSetName, p);
	}

	public static String getProperty(String key) {
		return getProperty(key, SystemProperties.getProperty(SystemProperties.APPLICATION_MENU_SET_NAME));
	}

	public static String getProperty(String key, String menuSetName) {
		Properties p = (Properties) menuProperties.get(menuSetName);
		return p.getProperty(key);
	}

}