1
22
23 package com.liferay.portal.spring.hibernate;
24
25 import com.liferay.portal.kernel.util.StringUtil;
26 import com.liferay.portal.model.Organization;
27 import com.liferay.portal.model.User;
28 import com.liferay.portal.model.UserGroup;
29 import com.liferay.portal.util.PortalUtil;
30 import com.liferay.portal.util.PropsUtil;
31 import com.liferay.portlet.blogs.model.BlogsEntry;
32 import com.liferay.portlet.bookmarks.model.BookmarksEntry;
33 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
34 import com.liferay.portlet.imagegallery.model.IGImage;
35 import com.liferay.portlet.messageboards.model.MBMessage;
36 import com.liferay.portlet.wiki.model.WikiPage;
37
38 import java.sql.SQLException;
39
40
46 public class PortalCustomSQLUtil
47 extends com.liferay.util.dao.hibernate.CustomSQLUtil {
48
49 public PortalCustomSQLUtil() throws SQLException {
50 super(HibernateUtil.getConnection(),
51 PropsUtil.get(PropsUtil.CUSTOM_SQL_FUNCTION_ISNULL),
52 PropsUtil.get(PropsUtil.CUSTOM_SQL_FUNCTION_ISNOTNULL));
53 }
54
55 protected String[] getConfigs() {
56 return PropsUtil.getArray(PropsUtil.CUSTOM_SQL_CONFIGS);
57 }
58
59 protected String transform(String sql) {
60 sql = super.transform(sql);
61
62 long organizationClassNameId = PortalUtil.getClassNameId(
63 Organization.class);
64 long userClassNameId = PortalUtil.getClassNameId(User.class);
65 long userGroupClassNameId = PortalUtil.getClassNameId(UserGroup.class);
66 long blogsEntryClassNameId = PortalUtil.getClassNameId(
67 BlogsEntry.class);
68 long bookmarksEntryClassNameId = PortalUtil.getClassNameId(
69 BookmarksEntry.class);
70 long dlFileEntryClassNameId = PortalUtil.getClassNameId(
71 DLFileEntry.class);
72 long igImageClassNameId = PortalUtil.getClassNameId(IGImage.class);
73 long mbMessageClassNameId = PortalUtil.getClassNameId(MBMessage.class);
74 long wikiPageClassNameId = PortalUtil.getClassNameId(WikiPage.class);
75
76 sql = StringUtil.replace(
77 sql,
78 new String[] {
79 "[$CLASS_NAME_ID_COM.LIFERAY.PORTAL.MODEL.ORGANIZATION$]",
80 "[$CLASS_NAME_ID_COM.LIFERAY.PORTAL.MODEL.USER$]",
81 "[$CLASS_NAME_ID_COM.LIFERAY.PORTAL.MODEL.USERGROUP$]",
82 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.BLOGS.MODEL.BLOGSENTRY$]",
83 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.BOOKMARKS.MODEL.BOOKMARKSENTRY$]",
84 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.DOCUMENTLIBRARY.MODEL.DLFILEENTRY$]",
85 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.IMAGEGALLERY.MODEL.IGIMAGE$]",
86 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.MESSAGEBOARDS.MODEL.MBMESSAGE$]",
87 "[$CLASS_NAME_ID_COM.LIFERAY.PORTLET.WIKI.MODEL.WIKIPAGE$]"
88 },
89 new String[] {
90 String.valueOf(organizationClassNameId),
91 String.valueOf(userClassNameId),
92 String.valueOf(userGroupClassNameId),
93 String.valueOf(blogsEntryClassNameId),
94 String.valueOf(bookmarksEntryClassNameId),
95 String.valueOf(dlFileEntryClassNameId),
96 String.valueOf(igImageClassNameId),
97 String.valueOf(mbMessageClassNameId),
98 String.valueOf(wikiPageClassNameId)
99 });
100
101 return sql;
102 }
103
104 }