00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 package org.openmobileis.modules.common.data;
00030
00031 import org.openmobileis.common.context.ApplicationContextManager;
00032 import org.openmobileis.common.util.exception.DatabaseException;
00033 import org.openmobileis.common.util.exception.ServiceException;
00034 import org.openmobileis.common.util.collection.Array;
00035 import org.openmobileis.common.util.collection.Sort;
00036
00037 import freemarker.template.SimpleHash;
00038 import freemarker.template.SimpleList;
00039
00040
00049 public class LabelManager {
00050
00051 private static LabelManager manager;
00052 private LabelFactory factory;
00056 public LabelManager(LabelFactory factory) {
00057 super();
00058 this.factory = factory;
00059 }
00060
00061 public static void registerManager(LabelManager m) {
00062 manager = m;
00063 ApplicationContextManager.getManager().addManager(manager);
00064 }
00065
00066 public static LabelManager getManager() {
00067 return manager;
00068 }
00069
00070 public static void removeManager() {
00071 manager = null;
00072 }
00073
00074 public LabelFactory getFactory() {
00075 return this.factory;
00076 }
00077
00078 public Array getLabelListForCategorie(String categorie) {
00079 return this.factory.getLabelListForCategorie(categorie);
00080 }
00081
00082 public String[][] getCategoriesList() {
00083 return this.factory.getCategoriesList();
00084 }
00085
00086
00087 public Label getLabelWithIds(String id, String category) {
00088 return this.factory.getLabelWithIds(id, category);
00089 }
00090
00091
00092
00096 public void storeLabel(Label label) throws ServiceException, DatabaseException {
00097 this.factory.storeLabel(label);
00098 }
00099
00100 public void deleteLabel(String id, String category) throws ServiceException, DatabaseException {
00101 this.factory.deleteLabel(id, category);
00102 }
00103
00104 public Array sortLabelArray(Array labelList) {
00105 if (labelList.size() > 0) {
00106 Label label = (Label)labelList.get(0);
00107 Sort.shellsort(labelList, label);
00108 }
00109 return labelList;
00110 }
00111
00112 }