1
22
23 package com.liferay.portal.service.impl;
24
25 import com.liferay.counter.service.CounterLocalServiceUtil;
26 import com.liferay.portal.PortalException;
27 import com.liferay.portal.SystemException;
28 import com.liferay.portal.kernel.util.Validator;
29 import com.liferay.portal.model.ClassName;
30 import com.liferay.portal.model.ModelHintsUtil;
31 import com.liferay.portal.model.impl.ClassNameImpl;
32 import com.liferay.portal.service.base.ClassNameLocalServiceBaseImpl;
33 import com.liferay.portal.service.persistence.ClassNameUtil;
34 import com.liferay.util.CollectionFactory;
35
36 import java.util.List;
37 import java.util.Map;
38
39
45 public class ClassNameLocalServiceImpl extends ClassNameLocalServiceBaseImpl {
46
47 public void checkClassNames() throws PortalException, SystemException {
48 List models = ModelHintsUtil.getModels();
49
50 for (int i = 0; i < models.size(); i++) {
51 String value = (String)models.get(i);
52
53 getClassName(value);
54 }
55 }
56
57 public ClassName getClassName(long classNameId)
58 throws PortalException, SystemException {
59
60 return ClassNameUtil.findByPrimaryKey(classNameId);
61 }
62
63 public ClassName getClassName(String value)
64 throws PortalException, SystemException {
65
66 if (Validator.isNull(value)) {
67 return _nullClassName;
68 }
69
70
73 ClassName classNameModel = (ClassName)_classNames.get(value);
74
75 if (classNameModel == null) {
76 classNameModel = ClassNameUtil.fetchByValue(value);
77
78 if (classNameModel == null) {
79 long classNameId = CounterLocalServiceUtil.increment();
80
81 classNameModel = ClassNameUtil.create(classNameId);
82
83 classNameModel.setValue(value);
84
85 ClassNameUtil.update(classNameModel);
86 }
87
88 _classNames.put(value, classNameModel);
89 }
90
91 return classNameModel;
92 }
93
94 private static ClassName _nullClassName = new ClassNameImpl();
95 private static Map _classNames = CollectionFactory.getSyncHashMap();
96
97 }