/** * 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 org.oep.ssomgt.model; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.util.ProxyUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.model.BaseModel; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.util.PortalUtil; import org.oep.ssomgt.service.ApplicationLocalServiceUtil; import org.oep.ssomgt.service.ClpSerializer; import java.io.Serializable; import java.lang.reflect.Method; import java.sql.Blob; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author trungdk */ public class ApplicationClp extends BaseModelImpl<Application> implements Application { public ApplicationClp() { } @Override public Class<?> getModelClass() { return Application.class; } @Override public String getModelClassName() { return Application.class.getName(); } @Override public long getPrimaryKey() { return _applicationId; } @Override public void setPrimaryKey(long primaryKey) { setApplicationId(primaryKey); } @Override public Serializable getPrimaryKeyObj() { return _applicationId; } @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("applicationId", getApplicationId()); attributes.put("userId", getUserId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); attributes.put("appCode", getAppCode()); attributes.put("appName", getAppName()); attributes.put("appPin", getAppPin()); attributes.put("appUrl", getAppUrl()); attributes.put("appBigIcon", getAppBigIcon()); attributes.put("appSmallIcon", getAppSmallIcon()); attributes.put("pingTime", getPingTime()); attributes.put("sequenceNo", getSequenceNo()); attributes.put("publicKey", getPublicKey()); return attributes; } @Override public void setModelAttributes(Map<String, Object> attributes) { Long applicationId = (Long)attributes.get("applicationId"); if (applicationId != null) { setApplicationId(applicationId); } Long userId = (Long)attributes.get("userId"); if (userId != null) { setUserId(userId); } Long groupId = (Long)attributes.get("groupId"); if (groupId != null) { setGroupId(groupId); } Long companyId = (Long)attributes.get("companyId"); if (companyId != null) { setCompanyId(companyId); } Date createDate = (Date)attributes.get("createDate"); if (createDate != null) { setCreateDate(createDate); } Date modifiedDate = (Date)attributes.get("modifiedDate"); if (modifiedDate != null) { setModifiedDate(modifiedDate); } String appCode = (String)attributes.get("appCode"); if (appCode != null) { setAppCode(appCode); } String appName = (String)attributes.get("appName"); if (appName != null) { setAppName(appName); } String appPin = (String)attributes.get("appPin"); if (appPin != null) { setAppPin(appPin); } String appUrl = (String)attributes.get("appUrl"); if (appUrl != null) { setAppUrl(appUrl); } Blob appBigIcon = (Blob)attributes.get("appBigIcon"); if (appBigIcon != null) { setAppBigIcon(appBigIcon); } Blob appSmallIcon = (Blob)attributes.get("appSmallIcon"); if (appSmallIcon != null) { setAppSmallIcon(appSmallIcon); } Date pingTime = (Date)attributes.get("pingTime"); if (pingTime != null) { setPingTime(pingTime); } Integer sequenceNo = (Integer)attributes.get("sequenceNo"); if (sequenceNo != null) { setSequenceNo(sequenceNo); } String publicKey = (String)attributes.get("publicKey"); if (publicKey != null) { setPublicKey(publicKey); } } @Override public long getApplicationId() { return _applicationId; } @Override public void setApplicationId(long applicationId) { _applicationId = applicationId; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setApplicationId", long.class); method.invoke(_applicationRemoteModel, applicationId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getUserId() { return _userId; } @Override public void setUserId(long userId) { _userId = userId; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setUserId", long.class); method.invoke(_applicationRemoteModel, 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 long getGroupId() { return _groupId; } @Override public void setGroupId(long groupId) { _groupId = groupId; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setGroupId", long.class); method.invoke(_applicationRemoteModel, groupId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public long getCompanyId() { return _companyId; } @Override public void setCompanyId(long companyId) { _companyId = companyId; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setCompanyId", long.class); method.invoke(_applicationRemoteModel, companyId); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Date getCreateDate() { return _createDate; } @Override public void setCreateDate(Date createDate) { _createDate = createDate; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setCreateDate", Date.class); method.invoke(_applicationRemoteModel, createDate); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Date getModifiedDate() { return _modifiedDate; } @Override public void setModifiedDate(Date modifiedDate) { _modifiedDate = modifiedDate; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setModifiedDate", Date.class); method.invoke(_applicationRemoteModel, modifiedDate); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getAppCode() { return _appCode; } @Override public void setAppCode(String appCode) { _appCode = appCode; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppCode", String.class); method.invoke(_applicationRemoteModel, appCode); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getAppName() { return _appName; } @Override public void setAppName(String appName) { _appName = appName; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppName", String.class); method.invoke(_applicationRemoteModel, appName); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getAppPin() { return _appPin; } @Override public void setAppPin(String appPin) { _appPin = appPin; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppPin", String.class); method.invoke(_applicationRemoteModel, appPin); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getAppUrl() { return _appUrl; } @Override public void setAppUrl(String appUrl) { _appUrl = appUrl; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppUrl", String.class); method.invoke(_applicationRemoteModel, appUrl); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Blob getAppBigIcon() { return _appBigIcon; } @Override public void setAppBigIcon(Blob appBigIcon) { _appBigIcon = appBigIcon; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppBigIcon", Blob.class); method.invoke(_applicationRemoteModel, appBigIcon); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Blob getAppSmallIcon() { return _appSmallIcon; } @Override public void setAppSmallIcon(Blob appSmallIcon) { _appSmallIcon = appSmallIcon; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setAppSmallIcon", Blob.class); method.invoke(_applicationRemoteModel, appSmallIcon); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public Date getPingTime() { return _pingTime; } @Override public void setPingTime(Date pingTime) { _pingTime = pingTime; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setPingTime", Date.class); method.invoke(_applicationRemoteModel, pingTime); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public int getSequenceNo() { return _sequenceNo; } @Override public void setSequenceNo(int sequenceNo) { _sequenceNo = sequenceNo; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setSequenceNo", int.class); method.invoke(_applicationRemoteModel, sequenceNo); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } @Override public String getPublicKey() { return _publicKey; } @Override public void setPublicKey(String publicKey) { _publicKey = publicKey; if (_applicationRemoteModel != null) { try { Class<?> clazz = _applicationRemoteModel.getClass(); Method method = clazz.getMethod("setPublicKey", String.class); method.invoke(_applicationRemoteModel, publicKey); } catch (Exception e) { throw new UnsupportedOperationException(e); } } } public BaseModel<?> getApplicationRemoteModel() { return _applicationRemoteModel; } public void setApplicationRemoteModel(BaseModel<?> applicationRemoteModel) { _applicationRemoteModel = applicationRemoteModel; } 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 = _applicationRemoteModel.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(_applicationRemoteModel, remoteParameterValues); if (returnValue != null) { returnValue = ClpSerializer.translateOutput(returnValue); } return returnValue; } @Override public void persist() throws SystemException { if (this.isNew()) { ApplicationLocalServiceUtil.addApplication(this); } else { ApplicationLocalServiceUtil.updateApplication(this); } } @Override public Application toEscapedModel() { return (Application)ProxyUtil.newProxyInstance(Application.class.getClassLoader(), new Class[] { Application.class }, new AutoEscapeBeanHandler(this)); } @Override public Object clone() { ApplicationClp clone = new ApplicationClp(); clone.setApplicationId(getApplicationId()); clone.setUserId(getUserId()); clone.setGroupId(getGroupId()); clone.setCompanyId(getCompanyId()); clone.setCreateDate(getCreateDate()); clone.setModifiedDate(getModifiedDate()); clone.setAppCode(getAppCode()); clone.setAppName(getAppName()); clone.setAppPin(getAppPin()); clone.setAppUrl(getAppUrl()); clone.setAppBigIcon(getAppBigIcon()); clone.setAppSmallIcon(getAppSmallIcon()); clone.setPingTime(getPingTime()); clone.setSequenceNo(getSequenceNo()); clone.setPublicKey(getPublicKey()); return clone; } @Override public int compareTo(Application application) { int value = 0; if (getSequenceNo() < application.getSequenceNo()) { value = -1; } else if (getSequenceNo() > application.getSequenceNo()) { value = 1; } else { value = 0; } if (value != 0) { return value; } return 0; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof ApplicationClp)) { return false; } ApplicationClp application = (ApplicationClp)obj; long primaryKey = application.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(31); sb.append("{applicationId="); sb.append(getApplicationId()); sb.append(", userId="); sb.append(getUserId()); sb.append(", groupId="); sb.append(getGroupId()); sb.append(", companyId="); sb.append(getCompanyId()); sb.append(", createDate="); sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); sb.append(", appCode="); sb.append(getAppCode()); sb.append(", appName="); sb.append(getAppName()); sb.append(", appPin="); sb.append(getAppPin()); sb.append(", appUrl="); sb.append(getAppUrl()); sb.append(", appBigIcon="); sb.append(getAppBigIcon()); sb.append(", appSmallIcon="); sb.append(getAppSmallIcon()); sb.append(", pingTime="); sb.append(getPingTime()); sb.append(", sequenceNo="); sb.append(getSequenceNo()); sb.append(", publicKey="); sb.append(getPublicKey()); sb.append("}"); return sb.toString(); } @Override public String toXmlString() { StringBundler sb = new StringBundler(49); sb.append("<model><model-name>"); sb.append("org.oep.ssomgt.model.Application"); sb.append("</model-name>"); sb.append( "<column><column-name>applicationId</column-name><column-value><![CDATA["); sb.append(getApplicationId()); 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>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>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>appCode</column-name><column-value><![CDATA["); sb.append(getAppCode()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>appName</column-name><column-value><![CDATA["); sb.append(getAppName()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>appPin</column-name><column-value><![CDATA["); sb.append(getAppPin()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>appUrl</column-name><column-value><![CDATA["); sb.append(getAppUrl()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>appBigIcon</column-name><column-value><![CDATA["); sb.append(getAppBigIcon()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>appSmallIcon</column-name><column-value><![CDATA["); sb.append(getAppSmallIcon()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>pingTime</column-name><column-value><![CDATA["); sb.append(getPingTime()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>sequenceNo</column-name><column-value><![CDATA["); sb.append(getSequenceNo()); sb.append("]]></column-value></column>"); sb.append( "<column><column-name>publicKey</column-name><column-value><![CDATA["); sb.append(getPublicKey()); sb.append("]]></column-value></column>"); sb.append("</model>"); return sb.toString(); } private long _applicationId; private long _userId; private String _userUuid; private long _groupId; private long _companyId; private Date _createDate; private Date _modifiedDate; private String _appCode; private String _appName; private String _appPin; private String _appUrl; private Blob _appBigIcon; private Blob _appSmallIcon; private Date _pingTime; private int _sequenceNo; private String _publicKey; private BaseModel<?> _applicationRemoteModel; private Class<?> _clpSerializerClass = org.oep.ssomgt.service.ClpSerializer.class; }