001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.expando.kernel.model.ExpandoBridge;
020    import com.liferay.expando.kernel.util.ExpandoBridgeFactoryUtil;
021    
022    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
023    import com.liferay.portal.kernel.exception.PortalException;
024    import com.liferay.portal.kernel.model.CacheModel;
025    import com.liferay.portal.kernel.model.User;
026    import com.liferay.portal.kernel.model.UserTracker;
027    import com.liferay.portal.kernel.model.UserTrackerModel;
028    import com.liferay.portal.kernel.model.impl.BaseModelImpl;
029    import com.liferay.portal.kernel.service.ServiceContext;
030    import com.liferay.portal.kernel.service.UserLocalServiceUtil;
031    import com.liferay.portal.kernel.util.GetterUtil;
032    import com.liferay.portal.kernel.util.ProxyUtil;
033    import com.liferay.portal.kernel.util.StringBundler;
034    import com.liferay.portal.kernel.util.StringPool;
035    
036    import java.io.Serializable;
037    
038    import java.sql.Types;
039    
040    import java.util.Date;
041    import java.util.HashMap;
042    import java.util.Map;
043    
044    /**
045     * The base model implementation for the UserTracker service. Represents a row in the "UserTracker" database table, with each column mapped to a property of this class.
046     *
047     * <p>
048     * This implementation and its corresponding interface {@link UserTrackerModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link UserTrackerImpl}.
049     * </p>
050     *
051     * @author Brian Wing Shun Chan
052     * @see UserTrackerImpl
053     * @see UserTracker
054     * @see UserTrackerModel
055     * @generated
056     */
057    @ProviderType
058    public class UserTrackerModelImpl extends BaseModelImpl<UserTracker>
059            implements UserTrackerModel {
060            /*
061             * NOTE FOR DEVELOPERS:
062             *
063             * Never modify or reference this class directly. All methods that expect a user tracker model instance should use the {@link UserTracker} interface instead.
064             */
065            public static final String TABLE_NAME = "UserTracker";
066            public static final Object[][] TABLE_COLUMNS = {
067                            { "mvccVersion", Types.BIGINT },
068                            { "userTrackerId", Types.BIGINT },
069                            { "companyId", Types.BIGINT },
070                            { "userId", Types.BIGINT },
071                            { "modifiedDate", Types.TIMESTAMP },
072                            { "sessionId", Types.VARCHAR },
073                            { "remoteAddr", Types.VARCHAR },
074                            { "remoteHost", Types.VARCHAR },
075                            { "userAgent", Types.VARCHAR }
076                    };
077            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
078    
079            static {
080                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
081                    TABLE_COLUMNS_MAP.put("userTrackerId", Types.BIGINT);
082                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
083                    TABLE_COLUMNS_MAP.put("userId", Types.BIGINT);
084                    TABLE_COLUMNS_MAP.put("modifiedDate", Types.TIMESTAMP);
085                    TABLE_COLUMNS_MAP.put("sessionId", Types.VARCHAR);
086                    TABLE_COLUMNS_MAP.put("remoteAddr", Types.VARCHAR);
087                    TABLE_COLUMNS_MAP.put("remoteHost", Types.VARCHAR);
088                    TABLE_COLUMNS_MAP.put("userAgent", Types.VARCHAR);
089            }
090    
091            public static final String TABLE_SQL_CREATE = "create table UserTracker (mvccVersion LONG default 0 not null,userTrackerId LONG not null primary key,companyId LONG,userId LONG,modifiedDate DATE null,sessionId VARCHAR(200) null,remoteAddr VARCHAR(75) null,remoteHost VARCHAR(75) null,userAgent VARCHAR(200) null)";
092            public static final String TABLE_SQL_DROP = "drop table UserTracker";
093            public static final String ORDER_BY_JPQL = " ORDER BY userTracker.userTrackerId ASC";
094            public static final String ORDER_BY_SQL = " ORDER BY UserTracker.userTrackerId ASC";
095            public static final String DATA_SOURCE = "liferayDataSource";
096            public static final String SESSION_FACTORY = "liferaySessionFactory";
097            public static final String TX_MANAGER = "liferayTransactionManager";
098            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
099                                    "value.object.entity.cache.enabled.com.liferay.portal.kernel.model.UserTracker"),
100                            true);
101            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
102                                    "value.object.finder.cache.enabled.com.liferay.portal.kernel.model.UserTracker"),
103                            true);
104            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
105                                    "value.object.column.bitmask.enabled.com.liferay.portal.kernel.model.UserTracker"),
106                            true);
107            public static final long COMPANYID_COLUMN_BITMASK = 1L;
108            public static final long SESSIONID_COLUMN_BITMASK = 2L;
109            public static final long USERID_COLUMN_BITMASK = 4L;
110            public static final long USERTRACKERID_COLUMN_BITMASK = 8L;
111            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
112                                    "lock.expiration.time.com.liferay.portal.kernel.model.UserTracker"));
113    
114            public UserTrackerModelImpl() {
115            }
116    
117            @Override
118            public long getPrimaryKey() {
119                    return _userTrackerId;
120            }
121    
122            @Override
123            public void setPrimaryKey(long primaryKey) {
124                    setUserTrackerId(primaryKey);
125            }
126    
127            @Override
128            public Serializable getPrimaryKeyObj() {
129                    return _userTrackerId;
130            }
131    
132            @Override
133            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
134                    setPrimaryKey(((Long)primaryKeyObj).longValue());
135            }
136    
137            @Override
138            public Class<?> getModelClass() {
139                    return UserTracker.class;
140            }
141    
142            @Override
143            public String getModelClassName() {
144                    return UserTracker.class.getName();
145            }
146    
147            @Override
148            public Map<String, Object> getModelAttributes() {
149                    Map<String, Object> attributes = new HashMap<String, Object>();
150    
151                    attributes.put("mvccVersion", getMvccVersion());
152                    attributes.put("userTrackerId", getUserTrackerId());
153                    attributes.put("companyId", getCompanyId());
154                    attributes.put("userId", getUserId());
155                    attributes.put("modifiedDate", getModifiedDate());
156                    attributes.put("sessionId", getSessionId());
157                    attributes.put("remoteAddr", getRemoteAddr());
158                    attributes.put("remoteHost", getRemoteHost());
159                    attributes.put("userAgent", getUserAgent());
160    
161                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
162                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
163    
164                    return attributes;
165            }
166    
167            @Override
168            public void setModelAttributes(Map<String, Object> attributes) {
169                    Long mvccVersion = (Long)attributes.get("mvccVersion");
170    
171                    if (mvccVersion != null) {
172                            setMvccVersion(mvccVersion);
173                    }
174    
175                    Long userTrackerId = (Long)attributes.get("userTrackerId");
176    
177                    if (userTrackerId != null) {
178                            setUserTrackerId(userTrackerId);
179                    }
180    
181                    Long companyId = (Long)attributes.get("companyId");
182    
183                    if (companyId != null) {
184                            setCompanyId(companyId);
185                    }
186    
187                    Long userId = (Long)attributes.get("userId");
188    
189                    if (userId != null) {
190                            setUserId(userId);
191                    }
192    
193                    Date modifiedDate = (Date)attributes.get("modifiedDate");
194    
195                    if (modifiedDate != null) {
196                            setModifiedDate(modifiedDate);
197                    }
198    
199                    String sessionId = (String)attributes.get("sessionId");
200    
201                    if (sessionId != null) {
202                            setSessionId(sessionId);
203                    }
204    
205                    String remoteAddr = (String)attributes.get("remoteAddr");
206    
207                    if (remoteAddr != null) {
208                            setRemoteAddr(remoteAddr);
209                    }
210    
211                    String remoteHost = (String)attributes.get("remoteHost");
212    
213                    if (remoteHost != null) {
214                            setRemoteHost(remoteHost);
215                    }
216    
217                    String userAgent = (String)attributes.get("userAgent");
218    
219                    if (userAgent != null) {
220                            setUserAgent(userAgent);
221                    }
222            }
223    
224            @Override
225            public long getMvccVersion() {
226                    return _mvccVersion;
227            }
228    
229            @Override
230            public void setMvccVersion(long mvccVersion) {
231                    _mvccVersion = mvccVersion;
232            }
233    
234            @Override
235            public long getUserTrackerId() {
236                    return _userTrackerId;
237            }
238    
239            @Override
240            public void setUserTrackerId(long userTrackerId) {
241                    _userTrackerId = userTrackerId;
242            }
243    
244            @Override
245            public long getCompanyId() {
246                    return _companyId;
247            }
248    
249            @Override
250            public void setCompanyId(long companyId) {
251                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
252    
253                    if (!_setOriginalCompanyId) {
254                            _setOriginalCompanyId = true;
255    
256                            _originalCompanyId = _companyId;
257                    }
258    
259                    _companyId = companyId;
260            }
261    
262            public long getOriginalCompanyId() {
263                    return _originalCompanyId;
264            }
265    
266            @Override
267            public long getUserId() {
268                    return _userId;
269            }
270    
271            @Override
272            public void setUserId(long userId) {
273                    _columnBitmask |= USERID_COLUMN_BITMASK;
274    
275                    if (!_setOriginalUserId) {
276                            _setOriginalUserId = true;
277    
278                            _originalUserId = _userId;
279                    }
280    
281                    _userId = userId;
282            }
283    
284            @Override
285            public String getUserUuid() {
286                    try {
287                            User user = UserLocalServiceUtil.getUserById(getUserId());
288    
289                            return user.getUuid();
290                    }
291                    catch (PortalException pe) {
292                            return StringPool.BLANK;
293                    }
294            }
295    
296            @Override
297            public void setUserUuid(String userUuid) {
298            }
299    
300            public long getOriginalUserId() {
301                    return _originalUserId;
302            }
303    
304            @Override
305            public Date getModifiedDate() {
306                    return _modifiedDate;
307            }
308    
309            @Override
310            public void setModifiedDate(Date modifiedDate) {
311                    _modifiedDate = modifiedDate;
312            }
313    
314            @Override
315            public String getSessionId() {
316                    if (_sessionId == null) {
317                            return StringPool.BLANK;
318                    }
319                    else {
320                            return _sessionId;
321                    }
322            }
323    
324            @Override
325            public void setSessionId(String sessionId) {
326                    _columnBitmask |= SESSIONID_COLUMN_BITMASK;
327    
328                    if (_originalSessionId == null) {
329                            _originalSessionId = _sessionId;
330                    }
331    
332                    _sessionId = sessionId;
333            }
334    
335            public String getOriginalSessionId() {
336                    return GetterUtil.getString(_originalSessionId);
337            }
338    
339            @Override
340            public String getRemoteAddr() {
341                    if (_remoteAddr == null) {
342                            return StringPool.BLANK;
343                    }
344                    else {
345                            return _remoteAddr;
346                    }
347            }
348    
349            @Override
350            public void setRemoteAddr(String remoteAddr) {
351                    _remoteAddr = remoteAddr;
352            }
353    
354            @Override
355            public String getRemoteHost() {
356                    if (_remoteHost == null) {
357                            return StringPool.BLANK;
358                    }
359                    else {
360                            return _remoteHost;
361                    }
362            }
363    
364            @Override
365            public void setRemoteHost(String remoteHost) {
366                    _remoteHost = remoteHost;
367            }
368    
369            @Override
370            public String getUserAgent() {
371                    if (_userAgent == null) {
372                            return StringPool.BLANK;
373                    }
374                    else {
375                            return _userAgent;
376                    }
377            }
378    
379            @Override
380            public void setUserAgent(String userAgent) {
381                    _userAgent = userAgent;
382            }
383    
384            public long getColumnBitmask() {
385                    return _columnBitmask;
386            }
387    
388            @Override
389            public ExpandoBridge getExpandoBridge() {
390                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
391                            UserTracker.class.getName(), getPrimaryKey());
392            }
393    
394            @Override
395            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
396                    ExpandoBridge expandoBridge = getExpandoBridge();
397    
398                    expandoBridge.setAttributes(serviceContext);
399            }
400    
401            @Override
402            public UserTracker toEscapedModel() {
403                    if (_escapedModel == null) {
404                            _escapedModel = (UserTracker)ProxyUtil.newProxyInstance(_classLoader,
405                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
406                    }
407    
408                    return _escapedModel;
409            }
410    
411            @Override
412            public Object clone() {
413                    UserTrackerImpl userTrackerImpl = new UserTrackerImpl();
414    
415                    userTrackerImpl.setMvccVersion(getMvccVersion());
416                    userTrackerImpl.setUserTrackerId(getUserTrackerId());
417                    userTrackerImpl.setCompanyId(getCompanyId());
418                    userTrackerImpl.setUserId(getUserId());
419                    userTrackerImpl.setModifiedDate(getModifiedDate());
420                    userTrackerImpl.setSessionId(getSessionId());
421                    userTrackerImpl.setRemoteAddr(getRemoteAddr());
422                    userTrackerImpl.setRemoteHost(getRemoteHost());
423                    userTrackerImpl.setUserAgent(getUserAgent());
424    
425                    userTrackerImpl.resetOriginalValues();
426    
427                    return userTrackerImpl;
428            }
429    
430            @Override
431            public int compareTo(UserTracker userTracker) {
432                    long primaryKey = userTracker.getPrimaryKey();
433    
434                    if (getPrimaryKey() < primaryKey) {
435                            return -1;
436                    }
437                    else if (getPrimaryKey() > primaryKey) {
438                            return 1;
439                    }
440                    else {
441                            return 0;
442                    }
443            }
444    
445            @Override
446            public boolean equals(Object obj) {
447                    if (this == obj) {
448                            return true;
449                    }
450    
451                    if (!(obj instanceof UserTracker)) {
452                            return false;
453                    }
454    
455                    UserTracker userTracker = (UserTracker)obj;
456    
457                    long primaryKey = userTracker.getPrimaryKey();
458    
459                    if (getPrimaryKey() == primaryKey) {
460                            return true;
461                    }
462                    else {
463                            return false;
464                    }
465            }
466    
467            @Override
468            public int hashCode() {
469                    return (int)getPrimaryKey();
470            }
471    
472            @Override
473            public boolean isEntityCacheEnabled() {
474                    return ENTITY_CACHE_ENABLED;
475            }
476    
477            @Override
478            public boolean isFinderCacheEnabled() {
479                    return FINDER_CACHE_ENABLED;
480            }
481    
482            @Override
483            public void resetOriginalValues() {
484                    UserTrackerModelImpl userTrackerModelImpl = this;
485    
486                    userTrackerModelImpl._originalCompanyId = userTrackerModelImpl._companyId;
487    
488                    userTrackerModelImpl._setOriginalCompanyId = false;
489    
490                    userTrackerModelImpl._originalUserId = userTrackerModelImpl._userId;
491    
492                    userTrackerModelImpl._setOriginalUserId = false;
493    
494                    userTrackerModelImpl._originalSessionId = userTrackerModelImpl._sessionId;
495    
496                    userTrackerModelImpl._columnBitmask = 0;
497            }
498    
499            @Override
500            public CacheModel<UserTracker> toCacheModel() {
501                    UserTrackerCacheModel userTrackerCacheModel = new UserTrackerCacheModel();
502    
503                    userTrackerCacheModel.mvccVersion = getMvccVersion();
504    
505                    userTrackerCacheModel.userTrackerId = getUserTrackerId();
506    
507                    userTrackerCacheModel.companyId = getCompanyId();
508    
509                    userTrackerCacheModel.userId = getUserId();
510    
511                    Date modifiedDate = getModifiedDate();
512    
513                    if (modifiedDate != null) {
514                            userTrackerCacheModel.modifiedDate = modifiedDate.getTime();
515                    }
516                    else {
517                            userTrackerCacheModel.modifiedDate = Long.MIN_VALUE;
518                    }
519    
520                    userTrackerCacheModel.sessionId = getSessionId();
521    
522                    String sessionId = userTrackerCacheModel.sessionId;
523    
524                    if ((sessionId != null) && (sessionId.length() == 0)) {
525                            userTrackerCacheModel.sessionId = null;
526                    }
527    
528                    userTrackerCacheModel.remoteAddr = getRemoteAddr();
529    
530                    String remoteAddr = userTrackerCacheModel.remoteAddr;
531    
532                    if ((remoteAddr != null) && (remoteAddr.length() == 0)) {
533                            userTrackerCacheModel.remoteAddr = null;
534                    }
535    
536                    userTrackerCacheModel.remoteHost = getRemoteHost();
537    
538                    String remoteHost = userTrackerCacheModel.remoteHost;
539    
540                    if ((remoteHost != null) && (remoteHost.length() == 0)) {
541                            userTrackerCacheModel.remoteHost = null;
542                    }
543    
544                    userTrackerCacheModel.userAgent = getUserAgent();
545    
546                    String userAgent = userTrackerCacheModel.userAgent;
547    
548                    if ((userAgent != null) && (userAgent.length() == 0)) {
549                            userTrackerCacheModel.userAgent = null;
550                    }
551    
552                    return userTrackerCacheModel;
553            }
554    
555            @Override
556            public String toString() {
557                    StringBundler sb = new StringBundler(19);
558    
559                    sb.append("{mvccVersion=");
560                    sb.append(getMvccVersion());
561                    sb.append(", userTrackerId=");
562                    sb.append(getUserTrackerId());
563                    sb.append(", companyId=");
564                    sb.append(getCompanyId());
565                    sb.append(", userId=");
566                    sb.append(getUserId());
567                    sb.append(", modifiedDate=");
568                    sb.append(getModifiedDate());
569                    sb.append(", sessionId=");
570                    sb.append(getSessionId());
571                    sb.append(", remoteAddr=");
572                    sb.append(getRemoteAddr());
573                    sb.append(", remoteHost=");
574                    sb.append(getRemoteHost());
575                    sb.append(", userAgent=");
576                    sb.append(getUserAgent());
577                    sb.append("}");
578    
579                    return sb.toString();
580            }
581    
582            @Override
583            public String toXmlString() {
584                    StringBundler sb = new StringBundler(31);
585    
586                    sb.append("<model><model-name>");
587                    sb.append("com.liferay.portal.kernel.model.UserTracker");
588                    sb.append("</model-name>");
589    
590                    sb.append(
591                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
592                    sb.append(getMvccVersion());
593                    sb.append("]]></column-value></column>");
594                    sb.append(
595                            "<column><column-name>userTrackerId</column-name><column-value><![CDATA[");
596                    sb.append(getUserTrackerId());
597                    sb.append("]]></column-value></column>");
598                    sb.append(
599                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
600                    sb.append(getCompanyId());
601                    sb.append("]]></column-value></column>");
602                    sb.append(
603                            "<column><column-name>userId</column-name><column-value><![CDATA[");
604                    sb.append(getUserId());
605                    sb.append("]]></column-value></column>");
606                    sb.append(
607                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
608                    sb.append(getModifiedDate());
609                    sb.append("]]></column-value></column>");
610                    sb.append(
611                            "<column><column-name>sessionId</column-name><column-value><![CDATA[");
612                    sb.append(getSessionId());
613                    sb.append("]]></column-value></column>");
614                    sb.append(
615                            "<column><column-name>remoteAddr</column-name><column-value><![CDATA[");
616                    sb.append(getRemoteAddr());
617                    sb.append("]]></column-value></column>");
618                    sb.append(
619                            "<column><column-name>remoteHost</column-name><column-value><![CDATA[");
620                    sb.append(getRemoteHost());
621                    sb.append("]]></column-value></column>");
622                    sb.append(
623                            "<column><column-name>userAgent</column-name><column-value><![CDATA[");
624                    sb.append(getUserAgent());
625                    sb.append("]]></column-value></column>");
626    
627                    sb.append("</model>");
628    
629                    return sb.toString();
630            }
631    
632            private static final ClassLoader _classLoader = UserTracker.class.getClassLoader();
633            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
634                            UserTracker.class
635                    };
636            private long _mvccVersion;
637            private long _userTrackerId;
638            private long _companyId;
639            private long _originalCompanyId;
640            private boolean _setOriginalCompanyId;
641            private long _userId;
642            private long _originalUserId;
643            private boolean _setOriginalUserId;
644            private Date _modifiedDate;
645            private String _sessionId;
646            private String _originalSessionId;
647            private String _remoteAddr;
648            private String _remoteHost;
649            private String _userAgent;
650            private long _columnBitmask;
651            private UserTracker _escapedModel;
652    }