/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.knowledgebase.model; import com.liferay.knowledgebase.service.ClpSerializer; import com.liferay.knowledgebase.service.KBCommentLocalServiceUtil; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.lar.StagedModelType; import com.liferay.portal.kernel.util.DateUtil; import com.liferay.portal.kernel.util.ProxyUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.BaseModel; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.util.PortalUtil; import java.io.Serializable; import java.lang.reflect.Method; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author Brian Wing Shun Chan */ public class KBCommentClp extends BaseModelImpl<KBComment> implements KBComment { public KBCommentClp() { } @Override public Class<?> getModelClass() { return KBComment.class; } @Override public String getModelClassName() { return KBComment.class.getName(); } @Override public long getPrimaryKey() { return _kbCommentId; } @Override public void setPrimaryKey(long primaryKey) { setKbCommentId(primaryKey); } @Override public Serializable getPrimaryKeyObj() { return _kbCommentId; } @Override public void setPrimaryKeyObj(Serializable primaryKeyObj) { setPrimaryKey(((Long)primaryKeyObj).longValue()); } @Override public Map<String, Object> getModelAttributes() { Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put("uuid", getUuid()); attributes.put("kbCommentId", getKbCommentId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); attributes.put("userId", getUserId()); attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); attributes.put("classNameId", getClassNameId()); attributes.put("classPK", getClassPK()); attributes.put("content", getContent()); attributes.put("userRating", getUserRating()); attributes.put("status", getStatus()); return attributes; } @Override public void setModelAttributes(Map<String, Object> attributes) { String uuid = (String)attributes.get("uuid"); if (uuid != null) { setUuid(uuid); } Long kbCommentId = (Long)attributes.get("kbCommentId"); if (kbCommentId != null) { setKbCommentId(kbCommentId); } Long groupId = (Long)attributes.get("groupId"); if (groupId != null) { setGroupId(groupId); } Long companyId = (Long)attributes.get("companyId"); if (companyId != null) { setCompanyId(companyId); } Long userId = (Long)attributes.get("userId"); if (userId != null) { setUserId(userId); } String userName = (String)attributes.get("userName"); if (userName != null) { setUserName(userName); } Date createDate = (Date)attributes.get("createDate"); if (createDate != null) { setCreateDate(createDate); } Date modifiedDate = (Date)attributes.get("modifiedDate"); if (modifiedDate != null) { setModifiedDate(modifiedDate); } Long classNameId = (Long)attributes.get("classNameId"); if (classNameId != null) { setClassNameId(classNameId); } Long classPK = (Long)attributes.get("classPK"); if (classPK != null) { setClassPK(classPK); } String content = (String)attributes.get("content"); if (content != null) { setContent(content); } Integer userRating = (Integer)attributes.get("userRating"); if (userRating != null) { setUserRating(userRating); } Integer status = (Integer)attributes.get("status"); if (status != null) { setStatus(status); } } @Override public String getUuid() { return _uuid; } @Override public void setUuid(String uuid) { _uuid = uuid; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setUuid", String.class); method.invoke(_kbCommentRemoteModel, uuid); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getKbCommentId() { return _kbCommentId; } @Override public void setKbCommentId(long kbCommentId) { _kbCommentId = kbCommentId; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setKbCommentId", long.class); method.invoke(_kbCommentRemoteModel, kbCommentId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getGroupId() { return _groupId; } @Override public void setGroupId(long groupId) { _groupId = groupId; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setGroupId", long.class); method.invoke(_kbCommentRemoteModel, groupId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getCompanyId() { return _companyId; } @Override public void setCompanyId(long companyId) { _companyId = companyId; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setCompanyId", long.class); method.invoke(_kbCommentRemoteModel, companyId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getUserId() { return _userId; } @Override public void setUserId(long userId) { _userId = userId; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setUserId", long.class); method.invoke(_kbCommentRemoteModel, userId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getUserUuid() throws SystemException { return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); } @Override public void setUserUuid(String userUuid) { _userUuid = userUuid; } @Override public String getUserName() { return _userName; } @Override public void setUserName(String userName) { _userName = userName; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setUserName", String.class); method.invoke(_kbCommentRemoteModel, userName); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Date getCreateDate() { return _createDate; } @Override public void setCreateDate(Date createDate) { _createDate = createDate; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setCreateDate", Date.class); method.invoke(_kbCommentRemoteModel, createDate); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Date getModifiedDate() { return _modifiedDate; } @Override public void setModifiedDate(Date modifiedDate) { _modifiedDate = modifiedDate; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setModifiedDate", Date.class); method.invoke(_kbCommentRemoteModel, modifiedDate); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getClassName() { if (getClassNameId() <= 0) { return StringPool.BLANK; } return PortalUtil.getClassName(getClassNameId()); } @Override public void setClassName(String className) { long classNameId = 0; if (Validator.isNotNull(className)) { classNameId = PortalUtil.getClassNameId(className); } setClassNameId(classNameId); } @Override public long getClassNameId() { return _classNameId; } @Override public void setClassNameId(long classNameId) { _classNameId = classNameId; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setClassNameId", long.class); method.invoke(_kbCommentRemoteModel, classNameId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getClassPK() { return _classPK; } @Override public void setClassPK(long classPK) { _classPK = classPK; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setClassPK", long.class); method.invoke(_kbCommentRemoteModel, classPK); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getContent() { return _content; } @Override public void setContent(String content) { _content = content; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setContent", String.class); method.invoke(_kbCommentRemoteModel, content); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public int getUserRating() { return _userRating; } @Override public void setUserRating(int userRating) { _userRating = userRating; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setUserRating", int.class); method.invoke(_kbCommentRemoteModel, userRating); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public int getStatus() { return _status; } @Override public void setStatus(int status) { _status = status; if (_kbCommentRemoteModel != null) { try { Class<?> clazz = _kbCommentRemoteModel.getClass(); Method method = clazz.getMethod("setStatus", int.class); method.invoke(_kbCommentRemoteModel, status); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public StagedModelType getStagedModelType() { return new StagedModelType(PortalUtil.getClassNameId( KBComment.class.getName()), getClassNameId()); } public BaseModel<?> getKBCommentRemoteModel() { return _kbCommentRemoteModel; } public void setKBCommentRemoteModel(BaseModel<?> kbCommentRemoteModel) { _kbCommentRemoteModel = kbCommentRemoteModel; } public Object invokeOnRemoteModel(String methodName, Class<?>[] parameterTypes, Object[] parameterValues) throws Exception { Object[] remoteParameterValues = new Object[parameterValues.length]; for (int i = 0; i < parameterValues.length; i++) { if (parameterValues[i] != null) { remoteParameterValues[i] = ClpSerializer.translateInput(parameterValues[i]); } } Class<?> remoteModelClass = _kbCommentRemoteModel.getClass(); ClassLoader remoteModelClassLoader = remoteModelClass.getClassLoader(); Class<?>[] remoteParameterTypes = new Class[parameterTypes.length]; for (int i = 0; i < parameterTypes.length; i++) { if (parameterTypes[i].isPrimitive()) { remoteParameterTypes[i] = parameterTypes[i]; } else { String parameterTypeName = parameterTypes[i].getName(); remoteParameterTypes[i] = remoteModelClassLoader.loadClass(parameterTypeName); } } Method method = remoteModelClass.getMethod(methodName, remoteParameterTypes); Object returnValue = method.invoke(_kbCommentRemoteModel, remoteParameterValues); if (returnValue != null) { returnValue = ClpSerializer.translateOutput(returnValue); } return returnValue; } @Override public void persist() throws SystemException { if (this.isNew()) { KBCommentLocalServiceUtil.addKBComment(this); } else { KBCommentLocalServiceUtil.updateKBComment(this); } } @Override public KBComment toEscapedModel() { return (KBComment)ProxyUtil.newProxyInstance(KBComment.class.getClassLoader(), new Class[] { KBComment.class }, new AutoEscapeBeanHandler(this)); } @Override public Object clone() { KBCommentClp clone = new KBCommentClp(); clone.setUuid(getUuid()); clone.setKbCommentId(getKbCommentId()); clone.setGroupId(getGroupId()); clone.setCompanyId(getCompanyId()); clone.setUserId(getUserId()); clone.setUserName(getUserName()); clone.setCreateDate(getCreateDate()); clone.setModifiedDate(getModifiedDate()); clone.setClassNameId(getClassNameId()); clone.setClassPK(getClassPK()); clone.setContent(getContent()); clone.setUserRating(getUserRating()); clone.setStatus(getStatus()); return clone; } @Override public int compareTo(KBComment kbComment) { int value = 0; value = DateUtil.compareTo(getModifiedDate(), kbComment.getModifiedDate()); value = value * -1; if (value != 0) { return value; } return 0; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof KBCommentClp)) { return false; } KBCommentClp kbComment = (KBCommentClp)obj; long primaryKey = kbComment.getPrimaryKey(); if (getPrimaryKey() == primaryKey) { return true; } else { return false; } } public Class<?> getClpSerializerClass() { return _clpSerializerClass; } @Override public int hashCode() { return (int)getPrimaryKey(); } @Override public String toString() { StringBundler sb = new StringBundler(27); sb.append("{uuid="); sb.append(getUuid()); sb.append(", kbCommentId="); sb.append(getKbCommentId()); sb.append(", groupId="); sb.append(getGroupId()); sb.append(", companyId="); sb.append(getCompanyId()); sb.append(", userId="); sb.append(getUserId()); sb.append(", userName="); sb.append(getUserName()); sb.append(", createDate="); sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); sb.append(", classNameId="); sb.append(getClassNameId()); sb.append(", classPK="); sb.append(getClassPK()); sb.append(", content="); sb.append(getContent()); sb.append(", userRating="); sb.append(getUserRating()); sb.append(", status="); sb.append(getStatus()); sb.append("}"); return sb.toString(); } @Override public String toXmlString() { StringBundler sb = new StringBundler(43); sb.append("<model><model-name>"); sb.append("com.liferay.knowledgebase.model.KBComment"); sb.append("</model-name>"); sb.append( "<column><column-name>uuid</column-name><column-value><![CDATA["); sb.append(getUuid()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>kbCommentId</column-name><column-value><![CDATA["); sb.append(getKbCommentId()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>groupId</column-name><column-value><![CDATA["); sb.append(getGroupId()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>companyId</column-name><column-value><![CDATA["); sb.append(getCompanyId()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>userId</column-name><column-value><![CDATA["); sb.append(getUserId()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>userName</column-name><column-value><![CDATA["); sb.append(getUserName()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>createDate</column-name><column-value><![CDATA["); sb.append(getCreateDate()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>modifiedDate</column-name><column-value><![CDATA["); sb.append(getModifiedDate()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>classNameId</column-name><column-value><![CDATA["); sb.append(getClassNameId()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>classPK</column-name><column-value><![CDATA["); sb.append(getClassPK()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>content</column-name><column-value><![CDATA["); sb.append(getContent()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>userRating</column-name><column-value><![CDATA["); sb.append(getUserRating()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>status</column-name><column-value><![CDATA["); sb.append(getStatus()); sb.append("]]></column-value></column>"); sb.append("</model>"); return sb.toString(); } private String _uuid; private long _kbCommentId; private long _groupId; private long _companyId; private long _userId; private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; private long _classNameId; private long _classPK; private String _content; private int _userRating; private int _status; private BaseModel<?> _kbCommentRemoteModel; private Class<?> _clpSerializerClass = com.liferay.knowledgebase.service.ClpSerializer.class; }