/**
* 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 de.uhh.l2g.plugins.migration.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 de.uhh.l2g.plugins.migration.service.ClpSerializer;
import de.uhh.l2g.plugins.migration.service.LegacyMetadataLocalServiceUtil;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* @author unihh
*/
public class LegacyMetadataClp extends BaseModelImpl<LegacyMetadata>
implements LegacyMetadata {
public LegacyMetadataClp() {
}
@Override
public Class<?> getModelClass() {
return LegacyMetadata.class;
}
@Override
public String getModelClassName() {
return LegacyMetadata.class.getName();
}
@Override
public long getPrimaryKey() {
return _id;
}
@Override
public void setPrimaryKey(long primaryKey) {
setId(primaryKey);
}
@Override
public Serializable getPrimaryKeyObj() {
return _id;
}
@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("id", getId());
attributes.put("URLID", getURLID());
attributes.put("format", getFormat());
attributes.put("type", getType());
attributes.put("language", getLanguage());
attributes.put("title", getTitle());
attributes.put("subject", getSubject());
attributes.put("coverage", getCoverage());
attributes.put("description", getDescription());
attributes.put("creator", getCreator());
attributes.put("publisher", getPublisher());
attributes.put("contributor", getContributor());
attributes.put("rightsHolder", getRightsHolder());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
Long id = (Long)attributes.get("id");
if (id != null) {
setId(id);
}
String URLID = (String)attributes.get("URLID");
if (URLID != null) {
setURLID(URLID);
}
String format = (String)attributes.get("format");
if (format != null) {
setFormat(format);
}
String type = (String)attributes.get("type");
if (type != null) {
setType(type);
}
String language = (String)attributes.get("language");
if (language != null) {
setLanguage(language);
}
String title = (String)attributes.get("title");
if (title != null) {
setTitle(title);
}
String subject = (String)attributes.get("subject");
if (subject != null) {
setSubject(subject);
}
String coverage = (String)attributes.get("coverage");
if (coverage != null) {
setCoverage(coverage);
}
String description = (String)attributes.get("description");
if (description != null) {
setDescription(description);
}
String creator = (String)attributes.get("creator");
if (creator != null) {
setCreator(creator);
}
String publisher = (String)attributes.get("publisher");
if (publisher != null) {
setPublisher(publisher);
}
String contributor = (String)attributes.get("contributor");
if (contributor != null) {
setContributor(contributor);
}
String rightsHolder = (String)attributes.get("rightsHolder");
if (rightsHolder != null) {
setRightsHolder(rightsHolder);
}
}
@Override
public long getId() {
return _id;
}
@Override
public void setId(long id) {
_id = id;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setId", long.class);
method.invoke(_legacyMetadataRemoteModel, id);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getURLID() {
return _URLID;
}
@Override
public void setURLID(String URLID) {
_URLID = URLID;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setURLID", String.class);
method.invoke(_legacyMetadataRemoteModel, URLID);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getFormat() {
return _format;
}
@Override
public void setFormat(String format) {
_format = format;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setFormat", String.class);
method.invoke(_legacyMetadataRemoteModel, format);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getType() {
return _type;
}
@Override
public void setType(String type) {
_type = type;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setType", String.class);
method.invoke(_legacyMetadataRemoteModel, type);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getLanguage() {
return _language;
}
@Override
public void setLanguage(String language) {
_language = language;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setLanguage", String.class);
method.invoke(_legacyMetadataRemoteModel, language);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getTitle() {
return _title;
}
@Override
public void setTitle(String title) {
_title = title;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setTitle", String.class);
method.invoke(_legacyMetadataRemoteModel, title);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getSubject() {
return _subject;
}
@Override
public void setSubject(String subject) {
_subject = subject;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setSubject", String.class);
method.invoke(_legacyMetadataRemoteModel, subject);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getCoverage() {
return _coverage;
}
@Override
public void setCoverage(String coverage) {
_coverage = coverage;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setCoverage", String.class);
method.invoke(_legacyMetadataRemoteModel, coverage);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getDescription() {
return _description;
}
@Override
public void setDescription(String description) {
_description = description;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setDescription", String.class);
method.invoke(_legacyMetadataRemoteModel, description);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getCreator() {
return _creator;
}
@Override
public void setCreator(String creator) {
_creator = creator;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setCreator", String.class);
method.invoke(_legacyMetadataRemoteModel, creator);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getPublisher() {
return _publisher;
}
@Override
public void setPublisher(String publisher) {
_publisher = publisher;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setPublisher", String.class);
method.invoke(_legacyMetadataRemoteModel, publisher);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getContributor() {
return _contributor;
}
@Override
public void setContributor(String contributor) {
_contributor = contributor;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setContributor", String.class);
method.invoke(_legacyMetadataRemoteModel, contributor);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getRightsHolder() {
return _rightsHolder;
}
@Override
public void setRightsHolder(String rightsHolder) {
_rightsHolder = rightsHolder;
if (_legacyMetadataRemoteModel != null) {
try {
Class<?> clazz = _legacyMetadataRemoteModel.getClass();
Method method = clazz.getMethod("setRightsHolder", String.class);
method.invoke(_legacyMetadataRemoteModel, rightsHolder);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
public BaseModel<?> getLegacyMetadataRemoteModel() {
return _legacyMetadataRemoteModel;
}
public void setLegacyMetadataRemoteModel(
BaseModel<?> legacyMetadataRemoteModel) {
_legacyMetadataRemoteModel = legacyMetadataRemoteModel;
}
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 = _legacyMetadataRemoteModel.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(_legacyMetadataRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() throws SystemException {
if (this.isNew()) {
LegacyMetadataLocalServiceUtil.addLegacyMetadata(this);
}
else {
LegacyMetadataLocalServiceUtil.updateLegacyMetadata(this);
}
}
@Override
public LegacyMetadata toEscapedModel() {
return (LegacyMetadata)ProxyUtil.newProxyInstance(LegacyMetadata.class.getClassLoader(),
new Class[] { LegacyMetadata.class },
new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
LegacyMetadataClp clone = new LegacyMetadataClp();
clone.setId(getId());
clone.setURLID(getURLID());
clone.setFormat(getFormat());
clone.setType(getType());
clone.setLanguage(getLanguage());
clone.setTitle(getTitle());
clone.setSubject(getSubject());
clone.setCoverage(getCoverage());
clone.setDescription(getDescription());
clone.setCreator(getCreator());
clone.setPublisher(getPublisher());
clone.setContributor(getContributor());
clone.setRightsHolder(getRightsHolder());
return clone;
}
@Override
public int compareTo(LegacyMetadata legacyMetadata) {
long primaryKey = legacyMetadata.getPrimaryKey();
if (getPrimaryKey() < primaryKey) {
return -1;
}
else if (getPrimaryKey() > primaryKey) {
return 1;
}
else {
return 0;
}
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof LegacyMetadataClp)) {
return false;
}
LegacyMetadataClp legacyMetadata = (LegacyMetadataClp)obj;
long primaryKey = legacyMetadata.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("{id=");
sb.append(getId());
sb.append(", URLID=");
sb.append(getURLID());
sb.append(", format=");
sb.append(getFormat());
sb.append(", type=");
sb.append(getType());
sb.append(", language=");
sb.append(getLanguage());
sb.append(", title=");
sb.append(getTitle());
sb.append(", subject=");
sb.append(getSubject());
sb.append(", coverage=");
sb.append(getCoverage());
sb.append(", description=");
sb.append(getDescription());
sb.append(", creator=");
sb.append(getCreator());
sb.append(", publisher=");
sb.append(getPublisher());
sb.append(", contributor=");
sb.append(getContributor());
sb.append(", rightsHolder=");
sb.append(getRightsHolder());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(43);
sb.append("<model><model-name>");
sb.append("de.uhh.l2g.plugins.migration.model.LegacyMetadata");
sb.append("</model-name>");
sb.append(
"<column><column-name>id</column-name><column-value><![CDATA[");
sb.append(getId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>URLID</column-name><column-value><![CDATA[");
sb.append(getURLID());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>format</column-name><column-value><![CDATA[");
sb.append(getFormat());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>type</column-name><column-value><![CDATA[");
sb.append(getType());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>language</column-name><column-value><![CDATA[");
sb.append(getLanguage());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>title</column-name><column-value><![CDATA[");
sb.append(getTitle());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>subject</column-name><column-value><![CDATA[");
sb.append(getSubject());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>coverage</column-name><column-value><![CDATA[");
sb.append(getCoverage());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>description</column-name><column-value><![CDATA[");
sb.append(getDescription());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>creator</column-name><column-value><![CDATA[");
sb.append(getCreator());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>publisher</column-name><column-value><![CDATA[");
sb.append(getPublisher());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>contributor</column-name><column-value><![CDATA[");
sb.append(getContributor());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>rightsHolder</column-name><column-value><![CDATA[");
sb.append(getRightsHolder());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private long _id;
private String _URLID;
private String _format;
private String _type;
private String _language;
private String _title;
private String _subject;
private String _coverage;
private String _description;
private String _creator;
private String _publisher;
private String _contributor;
private String _rightsHolder;
private BaseModel<?> _legacyMetadataRemoteModel;
private Class<?> _clpSerializerClass = de.uhh.l2g.plugins.migration.service.ClpSerializer.class;
}