From ee0022fe512d9411e48075675a6ea2328b0572f9 Mon Sep 17 00:00:00 2001 From: Adam Victor Nazareth Brandizzi Date: Wed, 5 Mar 2014 17:27:04 -0300 Subject: [PATCH 1/5] LPS-44831 Providing service method which updates event from offset and duration --- .../impl/CalendarBookingServiceImpl.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java index c86caafa9a80..5f8adb288e4d 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java @@ -20,6 +20,7 @@ import com.liferay.calendar.service.permission.CalendarPermission; import com.liferay.calendar.util.ActionKeys; import com.liferay.calendar.util.CalendarUtil; +import com.liferay.calendar.util.JCalendarUtil; import com.liferay.calendar.util.RSSUtil; import com.liferay.calendar.workflow.CalendarBookingApprovalWorkflow; import com.liferay.portal.kernel.bean.BeanReference; @@ -432,6 +433,60 @@ public CalendarBooking updateCalendarBooking( secondReminderType, status, serviceContext); } + @Override + public CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, + Map titleMap, Map descriptionMap, + String location, long offset, long duration, boolean allDay, + String recurrence, long firstReminder, String firstReminderType, + long secondReminder, String secondReminderType, int status, + ServiceContext serviceContext) + throws PortalException, SystemException { + + CalendarBooking calendarBooking = + calendarBookingPersistence.fetchByPrimaryKey(calendarBookingId); + + java.util.Calendar startTimeJCalendar = JCalendarUtil.getJCalendar( + calendarBooking.getStartTime() + offset); + + java.util.Calendar endTimeJCalendar = JCalendarUtil.getJCalendar( + startTimeJCalendar.getTimeInMillis() + duration); + + return calendarBookingService.updateCalendarBooking( + calendarBookingId, calendarId, childCalendarIds, titleMap, + descriptionMap, location, startTimeJCalendar.getTimeInMillis(), + endTimeJCalendar.getTimeInMillis(), allDay, recurrence, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); + } + + @Override + public CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + Map titleMap, Map descriptionMap, + String location, long offset, long duration, boolean allDay, + String recurrence, long firstReminder, String firstReminderType, + long secondReminder, String secondReminderType, int status, + ServiceContext serviceContext) + throws PortalException, SystemException { + + CalendarBooking calendarBooking = + calendarBookingPersistence.fetchByPrimaryKey(calendarBookingId); + + java.util.Calendar startTimeJCalendar = JCalendarUtil.getJCalendar( + calendarBooking.getStartTime() + offset); + + java.util.Calendar endTimeJCalendar = JCalendarUtil.getJCalendar( + startTimeJCalendar.getTimeInMillis() + duration); + + return calendarBookingService.updateCalendarBooking( + calendarBookingId, calendarId, titleMap, descriptionMap, location, + startTimeJCalendar.getTimeInMillis(), + endTimeJCalendar.getTimeInMillis(), allDay, recurrence, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); + } + @Override public CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, From 6881a93a84bd20028ebab609808212d54db33569 Mon Sep 17 00:00:00 2001 From: Adam Victor Nazareth Brandizzi Date: Wed, 5 Mar 2014 17:04:03 -0300 Subject: [PATCH 2/5] LPS-44831 Calculating offset and duration in JavaScript --- .../calendar-portlet/docroot/js/javascript.js | 95 ++++++------------- 1 file changed, 28 insertions(+), 67 deletions(-) diff --git a/portlets/calendar-portlet/docroot/js/javascript.js b/portlets/calendar-portlet/docroot/js/javascript.js index ccc330d37b40..6c61f5265963 100644 --- a/portlets/calendar-portlet/docroot/js/javascript.js +++ b/portlets/calendar-portlet/docroot/js/javascript.js @@ -451,38 +451,6 @@ AUI.add( return A.JSON.stringify(map); }, - getNewStartTimeAndDurationCalendarBooking: function(calendarBookingId, offset, duration, success) { - var instance = this; - - var schedulerEvent = null; - - instance.invokeService( - { - '/calendar-portlet.calendarbooking/get-new-start-time-and-duration-calendar-booking': { - calendarBookingId: calendarBookingId, - offset: offset, - duration: duration - } - }, - { - success: function(data) { - if (data) { - if (data.exception) { - return; - } - else { - schedulerEvent = instance.createSchedulerEvent(data); - } - } - - if (success) { - success.call(this, schedulerEvent); - } - } - } - ); - }, - hasChildCalendarBookings: function(schedulerEvent, callback) { var instance = this; @@ -684,27 +652,26 @@ AUI.add( return DateMath.subtract(date, DateMath.MINUTES, date.getTimezoneOffset()); }, - updateEvent: function(schedulerEvent, success) { + updateEvent: function(schedulerEvent, offset, duration, success) { var instance = this; instance.invokeService( { - '/calendar-portlet.calendarbooking/update-calendar-booking': { + '/calendar-portlet.calendarbooking/update-calendar-booking-by-offset-and-duration': { allDay: schedulerEvent.get('allDay'), calendarBookingId: schedulerEvent.get('calendarBookingId'), calendarId: schedulerEvent.get('calendarId'), descriptionMap: instance.getLocalizationMap(schedulerEvent.get('description')), - endTime: CalendarUtil.toUTC(schedulerEvent.get('endDate')).getTime(), + duration: duration, firstReminder: schedulerEvent.get('firstReminder'), firstReminderType: schedulerEvent.get('firstReminderType'), location: schedulerEvent.get('location'), + offset: offset, recurrence: schedulerEvent.get('recurrence'), secondReminder: schedulerEvent.get('secondReminder'), secondReminderType: schedulerEvent.get('secondReminderType'), - startTime: CalendarUtil.toUTC(schedulerEvent.get('startDate')).getTime(), status: schedulerEvent.get('status'), - titleMap: instance.getLocalizationMap(Liferay.Util.unescapeHTML(schedulerEvent.get('content'))), - userId: USER_ID + titleMap: instance.getLocalizationMap(Liferay.Util.unescapeHTML(schedulerEvent.get('content'))) } }, { @@ -1394,25 +1361,24 @@ AUI.add( } }, - _getNewStartTimeAndDurationCalendarBookingPromise: function(schedulerEvent, changedAttributes) { + _getCalendarBookingDuration: function(schedulerEvent) { var instance = this; - return A.Promise( - function(resolve) { - var calendarbookingId = schedulerEvent.get('calendarBookingId'); + var duration = schedulerEvent.getSecondsDuration()*Time.SECOND; - var offset = 0; - var duration = schedulerEvent.getSecondsDuration()*Time.SECOND; + return duration; + }, - if (changedAttributes.startDate) { - offset = changedAttributes.startDate.newVal.getTime() - changedAttributes.startDate.prevVal.getTime(); - } + _getCalendarBookingOffset: function(schedulerEvent, changedAttributes) { + var instance = this; - CalendarUtil.getNewStartTimeAndDurationCalendarBooking(calendarbookingId, offset, duration, function(rootSchedulerEvent) { - resolve(rootSchedulerEvent); - }); - } - ); + var offset = 0; + + if (changedAttributes.startDate) { + offset = changedAttributes.startDate.newVal.getTime() - changedAttributes.startDate.prevVal.getTime(); + } + + return offset; }, _hasChildCalendarBookingsPromise: function(schedulerEvent) { @@ -1519,7 +1485,8 @@ AUI.add( A.batch( schedulerEvent, - instance._getNewStartTimeAndDurationCalendarBookingPromise(schedulerEvent, changedAttributes), + instance._getCalendarBookingOffset(schedulerEvent, changedAttributes), + instance._getCalendarBookingDuration(schedulerEvent), instance._hasChildCalendarBookingsPromise(schedulerEvent), answers ) @@ -1533,7 +1500,7 @@ AUI.add( _promptSchedulerEventUpdate: function(data) { var instance = this; - var hasChild = data[2]; + var hasChild = data[3]; var schedulerEvent = data[0]; instance.queue = new A.AsyncQueue(); @@ -1600,8 +1567,9 @@ AUI.add( _queueableQuestionResolver: function(data) { var instance = this; - var answers = data[3]; - var rootSchedulerEvent = data[1]; + var answers = data[4]; + var duration = data[2]; + var offset = data[1]; var schedulerEvent = data[0]; var showNextQuestion = A.bind(instance.queue.run, instance.queue); @@ -1613,21 +1581,14 @@ AUI.add( CalendarUtil.updateEventInstance(schedulerEvent, !!answers.allFollowing, showNextQuestion); } else { - schedulerEvent.copyDates( - rootSchedulerEvent, - { - silent: true - } - ); - - CalendarUtil.updateEvent(schedulerEvent, showNextQuestion); + CalendarUtil.updateEvent(schedulerEvent, offset, duration, showNextQuestion); } }, _queueableQuestionUpdateAllInvited: function(data) { var instance = this; - var answers = data[3]; + var answers = data[4]; var showNextQuestion = A.bind(instance.queue.run, instance.queue); @@ -1654,7 +1615,7 @@ AUI.add( _queueableQuestionUpdateRecurring: function(data) { var instance = this; - var answers = data[3]; + var answers = data[4]; var showNextQuestion = A.bind(instance.queue.run, instance.queue); @@ -1690,7 +1651,7 @@ AUI.add( _queueableQuestionUserCalendarOnly: function(data) { var instance = this; - var answers = data[3]; + var answers = data[4]; var schedulerEvent = data[0]; var showNextQuestion = A.bind(instance.queue.run, instance.queue); From 38d4784e82322273774ed90a500013ea17b7900b Mon Sep 17 00:00:00 2001 From: Adam Victor Nazareth Brandizzi Date: Wed, 5 Mar 2014 17:45:02 -0300 Subject: [PATCH 3/5] LPS-44831 Regenerate --- .../WEB-INF/lib/calendar-portlet-service.jar | Bin 282721 -> 285554 bytes .../service/CalendarBookingService.java | 24 +++ .../service/CalendarBookingServiceClp.java | 184 +++++++++++++++++- .../service/CalendarBookingServiceUtil.java | 37 ++++ .../CalendarBookingServiceWrapper.java | 37 ++++ .../model/impl/CalendarBookingModelImpl.java | 25 +-- .../model/impl/CalendarModelImpl.java | 14 +- ...CalendarNotificationTemplateModelImpl.java | 14 +- .../model/impl/CalendarResourceModelImpl.java | 14 +- .../CalendarBookingServiceClpInvoker.java | 72 ++++++- .../http/CalendarBookingServiceSoap.java | 66 +++++++ 11 files changed, 424 insertions(+), 63 deletions(-) diff --git a/portlets/calendar-portlet/docroot/WEB-INF/lib/calendar-portlet-service.jar b/portlets/calendar-portlet/docroot/WEB-INF/lib/calendar-portlet-service.jar index a9052f2c9f2200b81e7af136e0db12462d3c7b6a..e2a3f8300921195fc14ec3f8c877953842b3b775 100644 GIT binary patch delta 28571 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 B)?EMq delta 25745 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 J3N#~){{vS+N#p titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java index faed7477962c..06cbd1380349 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java @@ -162,9 +162,29 @@ public CalendarBookingServiceClp(InvokableService invokableService) { "com.liferay.portal.service.ServiceContext" }; - _methodName26 = "updateCalendarBookingInstance"; + _methodName26 = "updateCalendarBookingByOffsetAndDuration"; _methodParameterTypes26 = new String[] { + "long", "long", "long[][]", "java.util.Map", "java.util.Map", + "java.lang.String", "long", "long", "boolean", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", + "com.liferay.portal.service.ServiceContext" + }; + + _methodName27 = "updateCalendarBookingByOffsetAndDuration"; + + _methodParameterTypes27 = new String[] { + "long", "long", "java.util.Map", "java.util.Map", + "java.lang.String", "long", "long", "boolean", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", + "com.liferay.portal.service.ServiceContext" + }; + + _methodName28 = "updateCalendarBookingInstance"; + + _methodParameterTypes28 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -172,9 +192,9 @@ public CalendarBookingServiceClp(InvokableService invokableService) { "com.liferay.portal.service.ServiceContext" }; - _methodName27 = "updateCalendarBookingInstance"; + _methodName29 = "updateCalendarBookingInstance"; - _methodParameterTypes27 = new String[] { + _methodParameterTypes29 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -1278,6 +1298,152 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( return (com.liferay.calendar.model.CalendarBooking)ClpSerializer.translateOutput(returnObj); } + @Override + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableService.invokeMethod(_methodName26, + _methodParameterTypes26, + new Object[] { + calendarBookingId, + + calendarId, + + ClpSerializer.translateInput(childCalendarIds), + + ClpSerializer.translateInput(titleMap), + + ClpSerializer.translateInput(descriptionMap), + + ClpSerializer.translateInput(location), + + offset, + + duration, + + allDay, + + ClpSerializer.translateInput(recurrence), + + firstReminder, + + ClpSerializer.translateInput(firstReminderType), + + secondReminder, + + ClpSerializer.translateInput(secondReminderType), + + status, + + ClpSerializer.translateInput(serviceContext) + }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (com.liferay.calendar.model.CalendarBooking)ClpSerializer.translateOutput(returnObj); + } + + @Override + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableService.invokeMethod(_methodName27, + _methodParameterTypes27, + new Object[] { + calendarBookingId, + + calendarId, + + ClpSerializer.translateInput(titleMap), + + ClpSerializer.translateInput(descriptionMap), + + ClpSerializer.translateInput(location), + + offset, + + duration, + + allDay, + + ClpSerializer.translateInput(recurrence), + + firstReminder, + + ClpSerializer.translateInput(firstReminderType), + + secondReminder, + + ClpSerializer.translateInput(secondReminderType), + + status, + + ClpSerializer.translateInput(serviceContext) + }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (com.liferay.calendar.model.CalendarBooking)ClpSerializer.translateOutput(returnObj); + } + @Override public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, @@ -1293,8 +1459,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( Object returnObj = null; try { - returnObj = _invokableService.invokeMethod(_methodName26, - _methodParameterTypes26, + returnObj = _invokableService.invokeMethod(_methodName28, + _methodParameterTypes28, new Object[] { calendarBookingId, @@ -1369,8 +1535,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( Object returnObj = null; try { - returnObj = _invokableService.invokeMethod(_methodName27, - _methodParameterTypes27, + returnObj = _invokableService.invokeMethod(_methodName29, + _methodParameterTypes29, new Object[] { calendarBookingId, @@ -1483,4 +1649,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( private String[] _methodParameterTypes26; private String _methodName27; private String[] _methodParameterTypes27; + private String _methodName28; + private String[] _methodParameterTypes28; + private String _methodName29; + private String[] _methodParameterTypes29; } \ No newline at end of file diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java index a60fda16e161..1a501ee31ec5 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java @@ -296,6 +296,43 @@ public static com.liferay.calendar.model.CalendarBooking updateCalendarBooking( secondReminderType, status, serviceContext); } + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService() + .updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, childCalendarIds, titleMap, descriptionMap, location, + offset, duration, allDay, recurrence, firstReminder, + firstReminderType, secondReminder, secondReminderType, status, + serviceContext); + } + + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService() + .updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, duration, + allDay, recurrence, firstReminder, firstReminderType, + secondReminder, secondReminderType, status, serviceContext); + } + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java index 30398e2ddd5c..8d0e0ff6c30a 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java @@ -307,6 +307,43 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( secondReminder, secondReminderType, status, serviceContext); } + @Override + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _calendarBookingService.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, childCalendarIds, titleMap, descriptionMap, location, + offset, duration, allDay, recurrence, firstReminder, + firstReminderType, secondReminder, secondReminderType, status, + serviceContext); + } + + @Override + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + java.util.Map titleMap, + java.util.Map descriptionMap, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _calendarBookingService.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, duration, + allDay, recurrence, firstReminder, firstReminderType, + secondReminder, secondReminderType, status, serviceContext); + } + @Override public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java index 0b0194ce0643..bc8f6cad7903 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java @@ -38,10 +38,8 @@ import com.liferay.portal.model.CacheModel; import com.liferay.portal.model.ContainerModel; import com.liferay.portal.model.TrashedModel; -import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; -import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -539,18 +537,12 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - try { - User user = UserLocalServiceUtil.getUserById(getUserId()); - - return user.getUuid(); - } - catch (PortalException pe) { - return StringPool.BLANK; - } + return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); } @Override public void setUserUuid(String userUuid) { + _userUuid = userUuid; } @JSON @@ -1049,18 +1041,13 @@ public void setStatusByUserId(long statusByUserId) { @Override public String getStatusByUserUuid() throws SystemException { - try { - User user = UserLocalServiceUtil.getUserById(getStatusByUserId()); - - return user.getUuid(); - } - catch (PortalException pe) { - return StringPool.BLANK; - } + return PortalUtil.getUserValue(getStatusByUserId(), "uuid", + _statusByUserUuid); } @Override public void setStatusByUserUuid(String statusByUserUuid) { + _statusByUserUuid = statusByUserUuid; } @JSON @@ -1865,6 +1852,7 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; + private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; @@ -1897,6 +1885,7 @@ public String toXmlString() { private int _originalStatus; private boolean _setOriginalStatus; private long _statusByUserId; + private String _statusByUserUuid; private String _statusByUserName; private Date _statusDate; private long _columnBitmask; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java index 39d5379d0957..9871447bfde2 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java @@ -20,7 +20,6 @@ import com.liferay.portal.LocaleException; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; -import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -32,10 +31,8 @@ import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; -import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; -import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -427,18 +424,12 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - try { - User user = UserLocalServiceUtil.getUserById(getUserId()); - - return user.getUuid(); - } - catch (PortalException pe) { - return StringPool.BLANK; - } + return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); } @Override public void setUserUuid(String userUuid) { + _userUuid = userUuid; } @JSON @@ -1221,6 +1212,7 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; + private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java index f518b0e9f1ab..3b1bcd789135 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java @@ -19,7 +19,6 @@ import com.liferay.calendar.model.CalendarNotificationTemplateSoap; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; -import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -28,10 +27,8 @@ import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.model.CacheModel; -import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; -import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -409,18 +406,12 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - try { - User user = UserLocalServiceUtil.getUserById(getUserId()); - - return user.getUuid(); - } - catch (PortalException pe) { - return StringPool.BLANK; - } + return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); } @Override public void setUserUuid(String userUuid) { + _userUuid = userUuid; } @JSON @@ -935,6 +926,7 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; + private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java index e0fb7bc83208..84c7b50b2919 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java @@ -20,7 +20,6 @@ import com.liferay.portal.LocaleException; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; -import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -32,10 +31,8 @@ import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; -import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; -import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -429,18 +426,12 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - try { - User user = UserLocalServiceUtil.getUserById(getUserId()); - - return user.getUuid(); - } - catch (PortalException pe) { - return StringPool.BLANK; - } + return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); } @Override public void setUserUuid(String userUuid) { + _userUuid = userUuid; } @JSON @@ -1281,6 +1272,7 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; + private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java index ac24d7e35076..eb0f95952382 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java @@ -162,9 +162,29 @@ public CalendarBookingServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName127 = "updateCalendarBookingInstance"; + _methodName127 = "updateCalendarBookingByOffsetAndDuration"; _methodParameterTypes127 = new String[] { + "long", "long", "long[][]", "java.util.Map", "java.util.Map", + "java.lang.String", "long", "long", "boolean", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", + "com.liferay.portal.service.ServiceContext" + }; + + _methodName128 = "updateCalendarBookingByOffsetAndDuration"; + + _methodParameterTypes128 = new String[] { + "long", "long", "java.util.Map", "java.util.Map", + "java.lang.String", "long", "long", "boolean", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", + "com.liferay.portal.service.ServiceContext" + }; + + _methodName129 = "updateCalendarBookingInstance"; + + _methodParameterTypes129 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -172,9 +192,9 @@ public CalendarBookingServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName128 = "updateCalendarBookingInstance"; + _methodName130 = "updateCalendarBookingInstance"; - _methodParameterTypes128 = new String[] { + _methodParameterTypes130 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -414,6 +434,44 @@ public Object invokeMethod(String name, String[] parameterTypes, if (_methodName127.equals(name) && Arrays.deepEquals(_methodParameterTypes127, parameterTypes)) { + return CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue(), (long[])arguments[2], + (java.util.Map)arguments[3], + (java.util.Map)arguments[4], + (java.lang.String)arguments[5], + ((Long)arguments[6]).longValue(), + ((Long)arguments[7]).longValue(), + ((Boolean)arguments[8]).booleanValue(), + (java.lang.String)arguments[9], + ((Long)arguments[10]).longValue(), + (java.lang.String)arguments[11], + ((Long)arguments[12]).longValue(), + (java.lang.String)arguments[13], + ((Integer)arguments[14]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[15]); + } + + if (_methodName128.equals(name) && + Arrays.deepEquals(_methodParameterTypes128, parameterTypes)) { + return CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue(), + (java.util.Map)arguments[2], + (java.util.Map)arguments[3], + (java.lang.String)arguments[4], + ((Long)arguments[5]).longValue(), + ((Long)arguments[6]).longValue(), + ((Boolean)arguments[7]).booleanValue(), + (java.lang.String)arguments[8], + ((Long)arguments[9]).longValue(), + (java.lang.String)arguments[10], + ((Long)arguments[11]).longValue(), + (java.lang.String)arguments[12], + ((Integer)arguments[13]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[14]); + } + + if (_methodName129.equals(name) && + Arrays.deepEquals(_methodParameterTypes129, parameterTypes)) { return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (long[])arguments[2], (java.util.Map)arguments[3], @@ -432,8 +490,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.service.ServiceContext)arguments[16]); } - if (_methodName128.equals(name) && - Arrays.deepEquals(_methodParameterTypes128, parameterTypes)) { + if (_methodName130.equals(name) && + Arrays.deepEquals(_methodParameterTypes130, parameterTypes)) { return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (java.util.Map)arguments[2], @@ -509,4 +567,8 @@ public Object invokeMethod(String name, String[] parameterTypes, private String[] _methodParameterTypes127; private String _methodName128; private String[] _methodParameterTypes128; + private String _methodName129; + private String[] _methodParameterTypes129; + private String _methodName130; + private String[] _methodParameterTypes130; } \ No newline at end of file diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java index 270b6573155a..2a46b02b3873 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java @@ -479,6 +479,72 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki } } + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, + java.lang.String[] titleMapLanguageIds, + java.lang.String[] titleMapValues, + java.lang.String[] descriptionMapLanguageIds, + java.lang.String[] descriptionMapValues, java.lang.String location, + long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws RemoteException { + try { + Map titleMap = LocalizationUtil.getLocalizationMap(titleMapLanguageIds, + titleMapValues); + Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, + descriptionMapValues); + + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, childCalendarIds, titleMap, descriptionMap, + location, offset, duration, allDay, recurrence, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); + + return com.liferay.calendar.model.CalendarBookingSoap.toSoapModel(returnValue); + } + catch (Exception e) { + _log.error(e, e); + + throw new RemoteException(e.getMessage()); + } + } + + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingByOffsetAndDuration( + long calendarBookingId, long calendarId, + java.lang.String[] titleMapLanguageIds, + java.lang.String[] titleMapValues, + java.lang.String[] descriptionMapLanguageIds, + java.lang.String[] descriptionMapValues, java.lang.String location, + long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, + com.liferay.portal.service.ServiceContext serviceContext) + throws RemoteException { + try { + Map titleMap = LocalizationUtil.getLocalizationMap(titleMapLanguageIds, + titleMapValues); + Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, + descriptionMapValues); + + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, + duration, allDay, recurrence, firstReminder, + firstReminderType, secondReminder, secondReminderType, + status, serviceContext); + + return com.liferay.calendar.model.CalendarBookingSoap.toSoapModel(returnValue); + } + catch (Exception e) { + _log.error(e, e); + + throw new RemoteException(e.getMessage()); + } + } + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.lang.String[] titleMapLanguageIds, From 59249d7aade55ca66c0c53e5f05d86d9a0f6fa5b Mon Sep 17 00:00:00 2001 From: Eduardo Lundgren Date: Thu, 6 Mar 2014 14:15:54 -0300 Subject: [PATCH 4/5] LPS-44831 Source formatting --- .../impl/CalendarBookingLocalServiceImpl.java | 57 ++++++----- .../impl/CalendarBookingServiceImpl.java | 96 +++++++++---------- .../calendar-portlet/docroot/js/javascript.js | 2 +- 3 files changed, 74 insertions(+), 81 deletions(-) diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingLocalServiceImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingLocalServiceImpl.java index 1056d961d37e..faeb6a7f591f 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingLocalServiceImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingLocalServiceImpl.java @@ -497,6 +497,34 @@ public List getChildCalendarBookings( parentCalendarBookingId, status); } + public long[] getChildCalendarIds(long calendarBookingId, long calendarId) + throws PortalException, SystemException { + + CalendarBooking calendarBooking = + calendarBookingPersistence.findByPrimaryKey(calendarBookingId); + + List childCalendarBookings = + calendarBookingPersistence.findByParentCalendarBookingId( + calendarBookingId); + + long[] childCalendarIds = new long[childCalendarBookings.size()]; + + for (int i = 0; i < childCalendarIds.length; i++) { + CalendarBooking childCalendarBooking = childCalendarBookings.get(i); + + if (childCalendarBooking.getCalendarId() == + calendarBooking.getCalendarId()) { + + childCalendarIds[i] = calendarId; + } + else { + childCalendarIds[i] = childCalendarBooking.getCalendarId(); + } + } + + return childCalendarIds; + } + @Override public CalendarBooking moveCalendarBookingToTrash( long userId, CalendarBooking calendarBooking) @@ -1081,35 +1109,6 @@ protected void addChildCalendarBookings( } } - protected long[] getChildCalendarIds( - long calendarBookingId, long calendarId) - throws PortalException, SystemException { - - CalendarBooking calendarBooking = - calendarBookingPersistence.findByPrimaryKey(calendarBookingId); - - List childCalendarBookings = - calendarBookingPersistence.findByParentCalendarBookingId( - calendarBookingId); - - long[] childCalendarIds = new long[childCalendarBookings.size()]; - - for (int i = 0; i < childCalendarIds.length; i++) { - CalendarBooking childCalendarBooking = childCalendarBookings.get(i); - - if (childCalendarBooking.getCalendarId() == - calendarBooking.getCalendarId()) { - - childCalendarIds[i] = calendarId; - } - else { - childCalendarIds[i] = childCalendarBooking.getCalendarId(); - } - } - - return childCalendarIds; - } - protected String getExtraDataJSON(CalendarBooking calendarBooking) { JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java index 5f8adb288e4d..64aefbb408ea 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/impl/CalendarBookingServiceImpl.java @@ -434,35 +434,50 @@ public CalendarBooking updateCalendarBooking( } @Override - public CalendarBooking updateCalendarBookingByOffsetAndDuration( + public CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, Map titleMap, Map descriptionMap, - String location, long offset, long duration, boolean allDay, - String recurrence, long firstReminder, String firstReminderType, - long secondReminder, String secondReminderType, int status, + String location, long startTime, long endTime, boolean allDay, + String recurrence, boolean allFollowing, long firstReminder, + String firstReminderType, long secondReminder, + String secondReminderType, int status, ServiceContext serviceContext) throws PortalException, SystemException { - CalendarBooking calendarBooking = - calendarBookingPersistence.fetchByPrimaryKey(calendarBookingId); + CalendarPermission.check( + getPermissionChecker(), calendarId, ActionKeys.MANAGE_BOOKINGS); - java.util.Calendar startTimeJCalendar = JCalendarUtil.getJCalendar( - calendarBooking.getStartTime() + offset); + return calendarBookingLocalService.updateCalendarBookingInstance( + getUserId(), calendarBookingId, calendarId, childCalendarIds, + titleMap, descriptionMap, location, startTime, endTime, allDay, + recurrence, allFollowing, firstReminder, firstReminderType, + secondReminder, secondReminderType, status, serviceContext); + } - java.util.Calendar endTimeJCalendar = JCalendarUtil.getJCalendar( - startTimeJCalendar.getTimeInMillis() + duration); + @Override + public CalendarBooking updateCalendarBookingInstance( + long calendarBookingId, long calendarId, + Map titleMap, Map descriptionMap, + String location, long startTime, long endTime, boolean allDay, + String recurrence, boolean allFollowing, long firstReminder, + String firstReminderType, long secondReminder, + String secondReminderType, int status, + ServiceContext serviceContext) + throws PortalException, SystemException { - return calendarBookingService.updateCalendarBooking( - calendarBookingId, calendarId, childCalendarIds, titleMap, - descriptionMap, location, startTimeJCalendar.getTimeInMillis(), - endTimeJCalendar.getTimeInMillis(), allDay, recurrence, - firstReminder, firstReminderType, secondReminder, + CalendarPermission.check( + getPermissionChecker(), calendarId, ActionKeys.MANAGE_BOOKINGS); + + return calendarBookingLocalService.updateCalendarBookingInstance( + getUserId(), calendarBookingId, calendarId, titleMap, + descriptionMap, location, startTime, endTime, allDay, recurrence, + allFollowing, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } @Override - public CalendarBooking updateCalendarBookingByOffsetAndDuration( - long calendarBookingId, long calendarId, + public CalendarBooking updateCalendarBookingOffsetAndDuration( + long calendarBookingId, long calendarId, long[] childCalendarIds, Map titleMap, Map descriptionMap, String location, long offset, long duration, boolean allDay, String recurrence, long firstReminder, String firstReminderType, @@ -480,52 +495,31 @@ public CalendarBooking updateCalendarBookingByOffsetAndDuration( startTimeJCalendar.getTimeInMillis() + duration); return calendarBookingService.updateCalendarBooking( - calendarBookingId, calendarId, titleMap, descriptionMap, location, - startTimeJCalendar.getTimeInMillis(), + calendarBookingId, calendarId, childCalendarIds, titleMap, + descriptionMap, location, startTimeJCalendar.getTimeInMillis(), endTimeJCalendar.getTimeInMillis(), allDay, recurrence, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } @Override - public CalendarBooking updateCalendarBookingInstance( - long calendarBookingId, long calendarId, long[] childCalendarIds, - Map titleMap, Map descriptionMap, - String location, long startTime, long endTime, boolean allDay, - String recurrence, boolean allFollowing, long firstReminder, - String firstReminderType, long secondReminder, - String secondReminderType, int status, - ServiceContext serviceContext) - throws PortalException, SystemException { - - CalendarPermission.check( - getPermissionChecker(), calendarId, ActionKeys.MANAGE_BOOKINGS); - - return calendarBookingLocalService.updateCalendarBookingInstance( - getUserId(), calendarBookingId, calendarId, childCalendarIds, - titleMap, descriptionMap, location, startTime, endTime, allDay, - recurrence, allFollowing, firstReminder, firstReminderType, - secondReminder, secondReminderType, status, serviceContext); - } - - @Override - public CalendarBooking updateCalendarBookingInstance( + public CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, Map titleMap, Map descriptionMap, - String location, long startTime, long endTime, boolean allDay, - String recurrence, boolean allFollowing, long firstReminder, - String firstReminderType, long secondReminder, - String secondReminderType, int status, + String location, long offset, long duration, boolean allDay, + String recurrence, long firstReminder, String firstReminderType, + long secondReminder, String secondReminderType, int status, ServiceContext serviceContext) throws PortalException, SystemException { - CalendarPermission.check( - getPermissionChecker(), calendarId, ActionKeys.MANAGE_BOOKINGS); + long[] childCalendarIds = + calendarBookingLocalService.getChildCalendarIds( + calendarBookingId, calendarId); - return calendarBookingLocalService.updateCalendarBookingInstance( - getUserId(), calendarBookingId, calendarId, titleMap, - descriptionMap, location, startTime, endTime, allDay, recurrence, - allFollowing, firstReminder, firstReminderType, secondReminder, + return updateCalendarBookingOffsetAndDuration( + calendarBookingId, calendarId, childCalendarIds, titleMap, + descriptionMap, location, offset, duration, allDay, recurrence, + firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } diff --git a/portlets/calendar-portlet/docroot/js/javascript.js b/portlets/calendar-portlet/docroot/js/javascript.js index 6c61f5265963..6ea1137624c5 100644 --- a/portlets/calendar-portlet/docroot/js/javascript.js +++ b/portlets/calendar-portlet/docroot/js/javascript.js @@ -657,7 +657,7 @@ AUI.add( instance.invokeService( { - '/calendar-portlet.calendarbooking/update-calendar-booking-by-offset-and-duration': { + '/calendar-portlet.calendarbooking/update-calendar-booking-offset-and-duration': { allDay: schedulerEvent.get('allDay'), calendarBookingId: schedulerEvent.get('calendarBookingId'), calendarId: schedulerEvent.get('calendarId'), From 01411c82f5198d5029c5a9ea453f788b1f6e658e Mon Sep 17 00:00:00 2001 From: Eduardo Lundgren Date: Thu, 6 Mar 2014 14:16:10 -0300 Subject: [PATCH 5/5] LPS-44831 Regenerate --- .../WEB-INF/lib/calendar-portlet-service.jar | Bin 285554 -> 285762 bytes .../service/CalendarBookingLocalService.java | 5 + .../CalendarBookingLocalServiceClp.java | 152 +++++++++++------- .../CalendarBookingLocalServiceUtil.java | 7 + .../CalendarBookingLocalServiceWrapper.java | 8 + .../service/CalendarBookingService.java | 40 ++--- .../service/CalendarBookingServiceClp.java | 88 +++++----- .../service/CalendarBookingServiceUtil.java | 68 ++++---- .../CalendarBookingServiceWrapper.java | 68 ++++---- .../model/impl/CalendarBookingModelImpl.java | 25 ++- .../model/impl/CalendarModelImpl.java | 14 +- ...CalendarNotificationTemplateModelImpl.java | 14 +- .../model/impl/CalendarResourceModelImpl.java | 14 +- ...CalendarBookingLocalServiceClpInvoker.java | 116 +++++++------ .../CalendarBookingServiceClpInvoker.java | 84 +++++----- .../http/CalendarBookingServiceSoap.java | 52 +++--- 16 files changed, 431 insertions(+), 324 deletions(-) diff --git a/portlets/calendar-portlet/docroot/WEB-INF/lib/calendar-portlet-service.jar b/portlets/calendar-portlet/docroot/WEB-INF/lib/calendar-portlet-service.jar index e2a3f8300921195fc14ec3f8c877953842b3b775..33a103f808b7173eb6ef96885b3fc574bdc08419 100644 GIT binary patch delta 44228 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 Rh|+OEHaBprdBM=I{{z=0&!+$Y delta 43982 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 diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalService.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalService.java index 99828f3e7957..81140ee26439 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalService.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalService.java @@ -388,6 +388,11 @@ public java.util.List getChildCalend long parentCalendarBookingId, int status) throws com.liferay.portal.kernel.exception.SystemException; + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public long[] getChildCalendarIds(long calendarBookingId, long calendarId) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( long userId, com.liferay.calendar.model.CalendarBooking calendarBooking) throws com.liferay.portal.kernel.exception.PortalException, diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceClp.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceClp.java index dcfd1e93a231..2bf5b2ec3ef4 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceClp.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceClp.java @@ -199,62 +199,66 @@ public CalendarBookingLocalServiceClp( _methodParameterTypes37 = new String[] { "long", "int" }; - _methodName38 = "moveCalendarBookingToTrash"; + _methodName38 = "getChildCalendarIds"; - _methodParameterTypes38 = new String[] { - "long", "com.liferay.calendar.model.CalendarBooking" - }; + _methodParameterTypes38 = new String[] { "long", "long" }; _methodName39 = "moveCalendarBookingToTrash"; - _methodParameterTypes39 = new String[] { "long", "long" }; + _methodParameterTypes39 = new String[] { + "long", "com.liferay.calendar.model.CalendarBooking" + }; - _methodName40 = "restoreCalendarBookingFromTrash"; + _methodName40 = "moveCalendarBookingToTrash"; _methodParameterTypes40 = new String[] { "long", "long" }; - _methodName41 = "search"; + _methodName41 = "restoreCalendarBookingFromTrash"; - _methodParameterTypes41 = new String[] { + _methodParameterTypes41 = new String[] { "long", "long" }; + + _methodName42 = "search"; + + _methodParameterTypes42 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "long", "long", "boolean", "int[][]", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName42 = "search"; + _methodName43 = "search"; - _methodParameterTypes42 = new String[] { + _methodParameterTypes43 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "java.lang.String", "java.lang.String", "long", "long", "boolean", "int[][]", "boolean", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName43 = "searchCount"; + _methodName44 = "searchCount"; - _methodParameterTypes43 = new String[] { + _methodParameterTypes44 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "long", "long", "int[][]" }; - _methodName44 = "searchCount"; + _methodName45 = "searchCount"; - _methodParameterTypes44 = new String[] { + _methodParameterTypes45 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "java.lang.String", "java.lang.String", "long", "long", "int[][]", "boolean" }; - _methodName45 = "updateAsset"; + _methodName46 = "updateAsset"; - _methodParameterTypes45 = new String[] { + _methodParameterTypes46 = new String[] { "long", "com.liferay.calendar.model.CalendarBooking", "long[][]", "java.lang.String[][]", "long[][]" }; - _methodName46 = "updateCalendarBooking"; + _methodName47 = "updateCalendarBooking"; - _methodParameterTypes46 = new String[] { + _methodParameterTypes47 = new String[] { "long", "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "long", "java.lang.String", "long", @@ -262,9 +266,9 @@ public CalendarBookingLocalServiceClp( "com.liferay.portal.service.ServiceContext" }; - _methodName47 = "updateCalendarBooking"; + _methodName48 = "updateCalendarBooking"; - _methodParameterTypes47 = new String[] { + _methodParameterTypes48 = new String[] { "long", "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "long", "java.lang.String", "long", @@ -272,9 +276,9 @@ public CalendarBookingLocalServiceClp( "com.liferay.portal.service.ServiceContext" }; - _methodName48 = "updateCalendarBookingInstance"; + _methodName49 = "updateCalendarBookingInstance"; - _methodParameterTypes48 = new String[] { + _methodParameterTypes49 = new String[] { "long", "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -282,9 +286,9 @@ public CalendarBookingLocalServiceClp( "com.liferay.portal.service.ServiceContext" }; - _methodName49 = "updateCalendarBookingInstance"; + _methodName50 = "updateCalendarBookingInstance"; - _methodParameterTypes49 = new String[] { + _methodParameterTypes50 = new String[] { "long", "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -292,16 +296,16 @@ public CalendarBookingLocalServiceClp( "com.liferay.portal.service.ServiceContext" }; - _methodName50 = "updateStatus"; + _methodName51 = "updateStatus"; - _methodParameterTypes50 = new String[] { + _methodParameterTypes51 = new String[] { "long", "com.liferay.calendar.model.CalendarBooking", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName51 = "updateStatus"; + _methodName52 = "updateStatus"; - _methodParameterTypes51 = new String[] { + _methodParameterTypes52 = new String[] { "long", "long", "int", "com.liferay.portal.service.ServiceContext" }; @@ -1505,8 +1509,7 @@ public java.util.List getChildCalend } @Override - public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( - long userId, com.liferay.calendar.model.CalendarBooking calendarBooking) + public long[] getChildCalendarIds(long calendarBookingId, long calendarId) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; @@ -1514,6 +1517,41 @@ public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( try { returnObj = _invokableLocalService.invokeMethod(_methodName38, _methodParameterTypes38, + new Object[] { calendarBookingId, calendarId }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (long[])ClpSerializer.translateOutput(returnObj); + } + + @Override + public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( + long userId, com.liferay.calendar.model.CalendarBooking calendarBooking) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName39, + _methodParameterTypes39, new Object[] { userId, @@ -1551,8 +1589,8 @@ public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName39, - _methodParameterTypes39, + returnObj = _invokableLocalService.invokeMethod(_methodName40, + _methodParameterTypes40, new Object[] { userId, calendarBookingId }); } catch (Throwable t) { @@ -1586,8 +1624,8 @@ public com.liferay.calendar.model.CalendarBooking restoreCalendarBookingFromTras Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName40, - _methodParameterTypes40, + returnObj = _invokableLocalService.invokeMethod(_methodName41, + _methodParameterTypes41, new Object[] { userId, calendarBookingId }); } catch (Throwable t) { @@ -1624,8 +1662,8 @@ public java.util.List search( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName41, - _methodParameterTypes41, + returnObj = _invokableLocalService.invokeMethod(_methodName42, + _methodParameterTypes42, new Object[] { companyId, @@ -1686,8 +1724,8 @@ public java.util.List search( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName42, - _methodParameterTypes42, + returnObj = _invokableLocalService.invokeMethod(_methodName43, + _methodParameterTypes43, new Object[] { companyId, @@ -1749,8 +1787,8 @@ public int searchCount(long companyId, long[] groupIds, long[] calendarIds, Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName43, - _methodParameterTypes43, + returnObj = _invokableLocalService.invokeMethod(_methodName44, + _methodParameterTypes44, new Object[] { companyId, @@ -1800,8 +1838,8 @@ public int searchCount(long companyId, long[] groupIds, long[] calendarIds, Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName44, - _methodParameterTypes44, + returnObj = _invokableLocalService.invokeMethod(_methodName45, + _methodParameterTypes45, new Object[] { companyId, @@ -1855,8 +1893,8 @@ public void updateAsset(long userId, throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName45, - _methodParameterTypes45, + _invokableLocalService.invokeMethod(_methodName46, + _methodParameterTypes46, new Object[] { userId, @@ -1906,8 +1944,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName46, - _methodParameterTypes46, + returnObj = _invokableLocalService.invokeMethod(_methodName47, + _methodParameterTypes47, new Object[] { userId, @@ -1982,8 +2020,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName47, - _methodParameterTypes47, + returnObj = _invokableLocalService.invokeMethod(_methodName48, + _methodParameterTypes48, new Object[] { userId, @@ -2057,8 +2095,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName48, - _methodParameterTypes48, + returnObj = _invokableLocalService.invokeMethod(_methodName49, + _methodParameterTypes49, new Object[] { userId, @@ -2135,8 +2173,8 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName49, - _methodParameterTypes49, + returnObj = _invokableLocalService.invokeMethod(_methodName50, + _methodParameterTypes50, new Object[] { userId, @@ -2206,8 +2244,8 @@ public com.liferay.calendar.model.CalendarBooking updateStatus( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName50, - _methodParameterTypes50, + returnObj = _invokableLocalService.invokeMethod(_methodName51, + _methodParameterTypes51, new Object[] { userId, @@ -2250,8 +2288,8 @@ public com.liferay.calendar.model.CalendarBooking updateStatus( Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName51, - _methodParameterTypes51, + returnObj = _invokableLocalService.invokeMethod(_methodName52, + _methodParameterTypes52, new Object[] { userId, @@ -2388,4 +2426,6 @@ public com.liferay.calendar.model.CalendarBooking updateStatus( private String[] _methodParameterTypes50; private String _methodName51; private String[] _methodParameterTypes51; + private String _methodName52; + private String[] _methodParameterTypes52; } \ No newline at end of file diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceUtil.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceUtil.java index 33c6c23f4485..7ebc185bcd96 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceUtil.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceUtil.java @@ -454,6 +454,13 @@ public static java.util.List getChil .getChildCalendarBookings(parentCalendarBookingId, status); } + public static long[] getChildCalendarIds(long calendarBookingId, + long calendarId) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService().getChildCalendarIds(calendarBookingId, calendarId); + } + public static com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( long userId, com.liferay.calendar.model.CalendarBooking calendarBooking) throws com.liferay.portal.kernel.exception.PortalException, diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceWrapper.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceWrapper.java index fce94c75b449..c760f405a971 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceWrapper.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingLocalServiceWrapper.java @@ -489,6 +489,14 @@ public java.util.List getChildCalend status); } + @Override + public long[] getChildCalendarIds(long calendarBookingId, long calendarId) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _calendarBookingLocalService.getChildCalendarIds(calendarBookingId, + calendarId); + } + @Override public com.liferay.calendar.model.CalendarBooking moveCalendarBookingToTrash( long userId, com.liferay.calendar.model.CalendarBooking calendarBooking) diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingService.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingService.java index 19f23fbb239d..1fdaa4270ea8 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingService.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingService.java @@ -229,50 +229,50 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java index 06cbd1380349..41b90d6bc78d 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceClp.java @@ -162,43 +162,43 @@ public CalendarBookingServiceClp(InvokableService invokableService) { "com.liferay.portal.service.ServiceContext" }; - _methodName26 = "updateCalendarBookingByOffsetAndDuration"; + _methodName26 = "updateCalendarBookingInstance"; _methodParameterTypes26 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "long", "java.lang.String", "long", - "java.lang.String", "int", + "java.lang.String", "boolean", "long", "java.lang.String", + "long", "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName27 = "updateCalendarBookingByOffsetAndDuration"; + _methodName27 = "updateCalendarBookingInstance"; _methodParameterTypes27 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "long", "java.lang.String", "long", - "java.lang.String", "int", + "java.lang.String", "boolean", "long", "java.lang.String", + "long", "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName28 = "updateCalendarBookingInstance"; + _methodName28 = "updateCalendarBookingOffsetAndDuration"; _methodParameterTypes28 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "boolean", "long", "java.lang.String", - "long", "java.lang.String", "int", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName29 = "updateCalendarBookingInstance"; + _methodName29 = "updateCalendarBookingOffsetAndDuration"; _methodParameterTypes29 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "boolean", "long", "java.lang.String", - "long", "java.lang.String", "int", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; } @@ -1299,14 +1299,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { @@ -1328,14 +1328,16 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetA ClpSerializer.translateInput(location), - offset, + startTime, - duration, + endTime, allDay, ClpSerializer.translateInput(recurrence), + allFollowing, + firstReminder, ClpSerializer.translateInput(firstReminderType), @@ -1373,14 +1375,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetA } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { @@ -1400,14 +1402,16 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetA ClpSerializer.translateInput(location), - offset, + startTime, - duration, + endTime, allDay, ClpSerializer.translateInput(recurrence), + allFollowing, + firstReminder, ClpSerializer.translateInput(firstReminderType), @@ -1445,14 +1449,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetA } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { @@ -1474,16 +1478,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( ClpSerializer.translateInput(location), - startTime, + offset, - endTime, + duration, allDay, ClpSerializer.translateInput(recurrence), - allFollowing, - firstReminder, ClpSerializer.translateInput(firstReminderType), @@ -1521,14 +1523,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { @@ -1548,16 +1550,14 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( ClpSerializer.translateInput(location), - startTime, + offset, - endTime, + duration, allDay, ClpSerializer.translateInput(recurrence), - allFollowing, - firstReminder, ClpSerializer.translateInput(firstReminderType), diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java index 1a501ee31ec5..34e22502640f 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceUtil.java @@ -296,77 +296,77 @@ public static com.liferay.calendar.model.CalendarBooking updateCalendarBooking( secondReminderType, status, serviceContext); } - public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() - .updateCalendarBookingByOffsetAndDuration(calendarBookingId, + .updateCalendarBookingInstance(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, location, - offset, duration, allDay, recurrence, firstReminder, - firstReminderType, secondReminder, secondReminderType, status, - serviceContext); + startTime, endTime, allDay, recurrence, allFollowing, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); } - public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() - .updateCalendarBookingByOffsetAndDuration(calendarBookingId, - calendarId, titleMap, descriptionMap, location, offset, duration, - allDay, recurrence, firstReminder, firstReminderType, + .updateCalendarBookingInstance(calendarBookingId, + calendarId, titleMap, descriptionMap, location, startTime, endTime, + allDay, recurrence, allFollowing, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } - public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() - .updateCalendarBookingInstance(calendarBookingId, + .updateCalendarBookingOffsetAndDuration(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, location, - startTime, endTime, allDay, recurrence, allFollowing, - firstReminder, firstReminderType, secondReminder, - secondReminderType, status, serviceContext); + offset, duration, allDay, recurrence, firstReminder, + firstReminderType, secondReminder, secondReminderType, status, + serviceContext); } - public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public static com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { return getService() - .updateCalendarBookingInstance(calendarBookingId, - calendarId, titleMap, descriptionMap, location, startTime, endTime, - allDay, recurrence, allFollowing, firstReminder, firstReminderType, + .updateCalendarBookingOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, duration, + allDay, recurrence, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } diff --git a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java index 8d0e0ff6c30a..bd4d116c156d 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/service/com/liferay/calendar/service/CalendarBookingServiceWrapper.java @@ -308,76 +308,76 @@ public com.liferay.calendar.model.CalendarBooking updateCalendarBooking( } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { - return _calendarBookingService.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + return _calendarBookingService.updateCalendarBookingInstance(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, location, - offset, duration, allDay, recurrence, firstReminder, - firstReminderType, secondReminder, secondReminderType, status, - serviceContext); + startTime, endTime, allDay, recurrence, allFollowing, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingByOffsetAndDuration( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, - java.lang.String firstReminderType, long secondReminder, - java.lang.String secondReminderType, int status, + java.lang.String location, long startTime, long endTime, + boolean allDay, java.lang.String recurrence, boolean allFollowing, + long firstReminder, java.lang.String firstReminderType, + long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { - return _calendarBookingService.updateCalendarBookingByOffsetAndDuration(calendarBookingId, - calendarId, titleMap, descriptionMap, location, offset, duration, - allDay, recurrence, firstReminder, firstReminderType, + return _calendarBookingService.updateCalendarBookingInstance(calendarBookingId, + calendarId, titleMap, descriptionMap, location, startTime, endTime, + allDay, recurrence, allFollowing, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, long[] childCalendarIds, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { - return _calendarBookingService.updateCalendarBookingInstance(calendarBookingId, + return _calendarBookingService.updateCalendarBookingOffsetAndDuration(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, location, - startTime, endTime, allDay, recurrence, allFollowing, - firstReminder, firstReminderType, secondReminder, - secondReminderType, status, serviceContext); + offset, duration, allDay, recurrence, firstReminder, + firstReminderType, secondReminder, secondReminderType, status, + serviceContext); } @Override - public com.liferay.calendar.model.CalendarBooking updateCalendarBookingInstance( + public com.liferay.calendar.model.CalendarBooking updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, java.util.Map titleMap, java.util.Map descriptionMap, - java.lang.String location, long startTime, long endTime, - boolean allDay, java.lang.String recurrence, boolean allFollowing, - long firstReminder, java.lang.String firstReminderType, - long secondReminder, java.lang.String secondReminderType, int status, + java.lang.String location, long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, + java.lang.String firstReminderType, long secondReminder, + java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { - return _calendarBookingService.updateCalendarBookingInstance(calendarBookingId, - calendarId, titleMap, descriptionMap, location, startTime, endTime, - allDay, recurrence, allFollowing, firstReminder, firstReminderType, + return _calendarBookingService.updateCalendarBookingOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, duration, + allDay, recurrence, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); } diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java index bc8f6cad7903..0b0194ce0643 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarBookingModelImpl.java @@ -38,8 +38,10 @@ import com.liferay.portal.model.CacheModel; import com.liferay.portal.model.ContainerModel; import com.liferay.portal.model.TrashedModel; +import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -537,12 +539,18 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); + try { + User user = UserLocalServiceUtil.getUserById(getUserId()); + + return user.getUuid(); + } + catch (PortalException pe) { + return StringPool.BLANK; + } } @Override public void setUserUuid(String userUuid) { - _userUuid = userUuid; } @JSON @@ -1041,13 +1049,18 @@ public void setStatusByUserId(long statusByUserId) { @Override public String getStatusByUserUuid() throws SystemException { - return PortalUtil.getUserValue(getStatusByUserId(), "uuid", - _statusByUserUuid); + try { + User user = UserLocalServiceUtil.getUserById(getStatusByUserId()); + + return user.getUuid(); + } + catch (PortalException pe) { + return StringPool.BLANK; + } } @Override public void setStatusByUserUuid(String statusByUserUuid) { - _statusByUserUuid = statusByUserUuid; } @JSON @@ -1852,7 +1865,6 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; - private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; @@ -1885,7 +1897,6 @@ public String toXmlString() { private int _originalStatus; private boolean _setOriginalStatus; private long _statusByUserId; - private String _statusByUserUuid; private String _statusByUserName; private Date _statusDate; private long _columnBitmask; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java index 9871447bfde2..39d5379d0957 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarModelImpl.java @@ -20,6 +20,7 @@ import com.liferay.portal.LocaleException; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; +import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -31,8 +32,10 @@ import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; +import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -424,12 +427,18 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); + try { + User user = UserLocalServiceUtil.getUserById(getUserId()); + + return user.getUuid(); + } + catch (PortalException pe) { + return StringPool.BLANK; + } } @Override public void setUserUuid(String userUuid) { - _userUuid = userUuid; } @JSON @@ -1212,7 +1221,6 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; - private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java index 3b1bcd789135..f518b0e9f1ab 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarNotificationTemplateModelImpl.java @@ -19,6 +19,7 @@ import com.liferay.calendar.model.CalendarNotificationTemplateSoap; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; +import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -27,8 +28,10 @@ import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.model.CacheModel; +import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -406,12 +409,18 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); + try { + User user = UserLocalServiceUtil.getUserById(getUserId()); + + return user.getUuid(); + } + catch (PortalException pe) { + return StringPool.BLANK; + } } @Override public void setUserUuid(String userUuid) { - _userUuid = userUuid; } @JSON @@ -926,7 +935,6 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; - private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java index 84c7b50b2919..e0fb7bc83208 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/model/impl/CalendarResourceModelImpl.java @@ -20,6 +20,7 @@ import com.liferay.portal.LocaleException; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; +import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.lar.StagedModelType; @@ -31,8 +32,10 @@ import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; +import com.liferay.portal.model.User; import com.liferay.portal.model.impl.BaseModelImpl; import com.liferay.portal.service.ServiceContext; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -426,12 +429,18 @@ public void setUserId(long userId) { @Override public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); + try { + User user = UserLocalServiceUtil.getUserById(getUserId()); + + return user.getUuid(); + } + catch (PortalException pe) { + return StringPool.BLANK; + } } @Override public void setUserUuid(String userUuid) { - _userUuid = userUuid; } @JSON @@ -1272,7 +1281,6 @@ public String toXmlString() { private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; - private String _userUuid; private String _userName; private Date _createDate; private Date _modifiedDate; diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingLocalServiceClpInvoker.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingLocalServiceClpInvoker.java index 700b753930b2..28fbcbccaf69 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingLocalServiceClpInvoker.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingLocalServiceClpInvoker.java @@ -211,62 +211,66 @@ public CalendarBookingLocalServiceClpInvoker() { _methodParameterTypes141 = new String[] { "long", "int" }; - _methodName142 = "moveCalendarBookingToTrash"; + _methodName142 = "getChildCalendarIds"; - _methodParameterTypes142 = new String[] { - "long", "com.liferay.calendar.model.CalendarBooking" - }; + _methodParameterTypes142 = new String[] { "long", "long" }; _methodName143 = "moveCalendarBookingToTrash"; - _methodParameterTypes143 = new String[] { "long", "long" }; + _methodParameterTypes143 = new String[] { + "long", "com.liferay.calendar.model.CalendarBooking" + }; - _methodName144 = "restoreCalendarBookingFromTrash"; + _methodName144 = "moveCalendarBookingToTrash"; _methodParameterTypes144 = new String[] { "long", "long" }; - _methodName145 = "search"; + _methodName145 = "restoreCalendarBookingFromTrash"; + + _methodParameterTypes145 = new String[] { "long", "long" }; - _methodParameterTypes145 = new String[] { + _methodName146 = "search"; + + _methodParameterTypes146 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "long", "long", "boolean", "int[][]", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName146 = "search"; + _methodName147 = "search"; - _methodParameterTypes146 = new String[] { + _methodParameterTypes147 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "java.lang.String", "java.lang.String", "long", "long", "boolean", "int[][]", "boolean", "int", "int", "com.liferay.portal.kernel.util.OrderByComparator" }; - _methodName147 = "searchCount"; + _methodName148 = "searchCount"; - _methodParameterTypes147 = new String[] { + _methodParameterTypes148 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "long", "long", "int[][]" }; - _methodName148 = "searchCount"; + _methodName149 = "searchCount"; - _methodParameterTypes148 = new String[] { + _methodParameterTypes149 = new String[] { "long", "long[][]", "long[][]", "long[][]", "long", "java.lang.String", "java.lang.String", "java.lang.String", "long", "long", "int[][]", "boolean" }; - _methodName149 = "updateAsset"; + _methodName150 = "updateAsset"; - _methodParameterTypes149 = new String[] { + _methodParameterTypes150 = new String[] { "long", "com.liferay.calendar.model.CalendarBooking", "long[][]", "java.lang.String[][]", "long[][]" }; - _methodName150 = "updateCalendarBooking"; + _methodName151 = "updateCalendarBooking"; - _methodParameterTypes150 = new String[] { + _methodParameterTypes151 = new String[] { "long", "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "long", "java.lang.String", "long", @@ -274,9 +278,9 @@ public CalendarBookingLocalServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName151 = "updateCalendarBooking"; + _methodName152 = "updateCalendarBooking"; - _methodParameterTypes151 = new String[] { + _methodParameterTypes152 = new String[] { "long", "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "long", "java.lang.String", "long", @@ -284,9 +288,9 @@ public CalendarBookingLocalServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName152 = "updateCalendarBookingInstance"; + _methodName153 = "updateCalendarBookingInstance"; - _methodParameterTypes152 = new String[] { + _methodParameterTypes153 = new String[] { "long", "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -294,9 +298,9 @@ public CalendarBookingLocalServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName153 = "updateCalendarBookingInstance"; + _methodName154 = "updateCalendarBookingInstance"; - _methodParameterTypes153 = new String[] { + _methodParameterTypes154 = new String[] { "long", "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", "java.lang.String", "boolean", "long", "java.lang.String", @@ -304,16 +308,16 @@ public CalendarBookingLocalServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName154 = "updateStatus"; + _methodName155 = "updateStatus"; - _methodParameterTypes154 = new String[] { + _methodParameterTypes155 = new String[] { "long", "com.liferay.calendar.model.CalendarBooking", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName155 = "updateStatus"; + _methodName156 = "updateStatus"; - _methodParameterTypes155 = new String[] { + _methodParameterTypes156 = new String[] { "long", "long", "int", "com.liferay.portal.service.ServiceContext" }; @@ -573,24 +577,30 @@ public Object invokeMethod(String name, String[] parameterTypes, if (_methodName142.equals(name) && Arrays.deepEquals(_methodParameterTypes142, parameterTypes)) { - return CalendarBookingLocalServiceUtil.moveCalendarBookingToTrash(((Long)arguments[0]).longValue(), - (com.liferay.calendar.model.CalendarBooking)arguments[1]); + return CalendarBookingLocalServiceUtil.getChildCalendarIds(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue()); } if (_methodName143.equals(name) && Arrays.deepEquals(_methodParameterTypes143, parameterTypes)) { return CalendarBookingLocalServiceUtil.moveCalendarBookingToTrash(((Long)arguments[0]).longValue(), - ((Long)arguments[1]).longValue()); + (com.liferay.calendar.model.CalendarBooking)arguments[1]); } if (_methodName144.equals(name) && Arrays.deepEquals(_methodParameterTypes144, parameterTypes)) { - return CalendarBookingLocalServiceUtil.restoreCalendarBookingFromTrash(((Long)arguments[0]).longValue(), + return CalendarBookingLocalServiceUtil.moveCalendarBookingToTrash(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue()); } if (_methodName145.equals(name) && Arrays.deepEquals(_methodParameterTypes145, parameterTypes)) { + return CalendarBookingLocalServiceUtil.restoreCalendarBookingFromTrash(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue()); + } + + if (_methodName146.equals(name) && + Arrays.deepEquals(_methodParameterTypes146, parameterTypes)) { return CalendarBookingLocalServiceUtil.search(((Long)arguments[0]).longValue(), (long[])arguments[1], (long[])arguments[2], (long[])arguments[3], ((Long)arguments[4]).longValue(), @@ -603,8 +613,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.kernel.util.OrderByComparator)arguments[12]); } - if (_methodName146.equals(name) && - Arrays.deepEquals(_methodParameterTypes146, parameterTypes)) { + if (_methodName147.equals(name) && + Arrays.deepEquals(_methodParameterTypes147, parameterTypes)) { return CalendarBookingLocalServiceUtil.search(((Long)arguments[0]).longValue(), (long[])arguments[1], (long[])arguments[2], (long[])arguments[3], ((Long)arguments[4]).longValue(), @@ -619,8 +629,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.kernel.util.OrderByComparator)arguments[15]); } - if (_methodName147.equals(name) && - Arrays.deepEquals(_methodParameterTypes147, parameterTypes)) { + if (_methodName148.equals(name) && + Arrays.deepEquals(_methodParameterTypes148, parameterTypes)) { return CalendarBookingLocalServiceUtil.searchCount(((Long)arguments[0]).longValue(), (long[])arguments[1], (long[])arguments[2], (long[])arguments[3], ((Long)arguments[4]).longValue(), @@ -629,8 +639,8 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Long)arguments[7]).longValue(), (int[])arguments[8]); } - if (_methodName148.equals(name) && - Arrays.deepEquals(_methodParameterTypes148, parameterTypes)) { + if (_methodName149.equals(name) && + Arrays.deepEquals(_methodParameterTypes149, parameterTypes)) { return CalendarBookingLocalServiceUtil.searchCount(((Long)arguments[0]).longValue(), (long[])arguments[1], (long[])arguments[2], (long[])arguments[3], ((Long)arguments[4]).longValue(), @@ -641,8 +651,8 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Boolean)arguments[11]).booleanValue()); } - if (_methodName149.equals(name) && - Arrays.deepEquals(_methodParameterTypes149, parameterTypes)) { + if (_methodName150.equals(name) && + Arrays.deepEquals(_methodParameterTypes150, parameterTypes)) { CalendarBookingLocalServiceUtil.updateAsset(((Long)arguments[0]).longValue(), (com.liferay.calendar.model.CalendarBooking)arguments[1], (long[])arguments[2], (java.lang.String[])arguments[3], @@ -651,8 +661,8 @@ public Object invokeMethod(String name, String[] parameterTypes, return null; } - if (_methodName150.equals(name) && - Arrays.deepEquals(_methodParameterTypes150, parameterTypes)) { + if (_methodName151.equals(name) && + Arrays.deepEquals(_methodParameterTypes151, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateCalendarBooking(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Long)arguments[2]).longValue(), (long[])arguments[3], @@ -671,8 +681,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.service.ServiceContext)arguments[16]); } - if (_methodName151.equals(name) && - Arrays.deepEquals(_methodParameterTypes151, parameterTypes)) { + if (_methodName152.equals(name) && + Arrays.deepEquals(_methodParameterTypes152, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateCalendarBooking(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Long)arguments[2]).longValue(), @@ -691,8 +701,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.service.ServiceContext)arguments[15]); } - if (_methodName152.equals(name) && - Arrays.deepEquals(_methodParameterTypes152, parameterTypes)) { + if (_methodName153.equals(name) && + Arrays.deepEquals(_methodParameterTypes153, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Long)arguments[2]).longValue(), (long[])arguments[3], @@ -712,8 +722,8 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.service.ServiceContext)arguments[17]); } - if (_methodName153.equals(name) && - Arrays.deepEquals(_methodParameterTypes153, parameterTypes)) { + if (_methodName154.equals(name) && + Arrays.deepEquals(_methodParameterTypes154, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Long)arguments[2]).longValue(), @@ -733,16 +743,16 @@ public Object invokeMethod(String name, String[] parameterTypes, (com.liferay.portal.service.ServiceContext)arguments[16]); } - if (_methodName154.equals(name) && - Arrays.deepEquals(_methodParameterTypes154, parameterTypes)) { + if (_methodName155.equals(name) && + Arrays.deepEquals(_methodParameterTypes155, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateStatus(((Long)arguments[0]).longValue(), (com.liferay.calendar.model.CalendarBooking)arguments[1], ((Integer)arguments[2]).intValue(), (com.liferay.portal.service.ServiceContext)arguments[3]); } - if (_methodName155.equals(name) && - Arrays.deepEquals(_methodParameterTypes155, parameterTypes)) { + if (_methodName156.equals(name) && + Arrays.deepEquals(_methodParameterTypes156, parameterTypes)) { return CalendarBookingLocalServiceUtil.updateStatus(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Integer)arguments[2]).intValue(), @@ -860,4 +870,6 @@ public Object invokeMethod(String name, String[] parameterTypes, private String[] _methodParameterTypes154; private String _methodName155; private String[] _methodParameterTypes155; + private String _methodName156; + private String[] _methodParameterTypes156; } \ No newline at end of file diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java index eb0f95952382..f4b1956fb5b4 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/base/CalendarBookingServiceClpInvoker.java @@ -162,43 +162,43 @@ public CalendarBookingServiceClpInvoker() { "com.liferay.portal.service.ServiceContext" }; - _methodName127 = "updateCalendarBookingByOffsetAndDuration"; + _methodName127 = "updateCalendarBookingInstance"; _methodParameterTypes127 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "long", "java.lang.String", "long", - "java.lang.String", "int", + "java.lang.String", "boolean", "long", "java.lang.String", + "long", "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName128 = "updateCalendarBookingByOffsetAndDuration"; + _methodName128 = "updateCalendarBookingInstance"; _methodParameterTypes128 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "long", "java.lang.String", "long", - "java.lang.String", "int", + "java.lang.String", "boolean", "long", "java.lang.String", + "long", "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName129 = "updateCalendarBookingInstance"; + _methodName129 = "updateCalendarBookingOffsetAndDuration"; _methodParameterTypes129 = new String[] { "long", "long", "long[][]", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "boolean", "long", "java.lang.String", - "long", "java.lang.String", "int", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; - _methodName130 = "updateCalendarBookingInstance"; + _methodName130 = "updateCalendarBookingOffsetAndDuration"; _methodParameterTypes130 = new String[] { "long", "long", "java.util.Map", "java.util.Map", "java.lang.String", "long", "long", "boolean", - "java.lang.String", "boolean", "long", "java.lang.String", - "long", "java.lang.String", "int", + "java.lang.String", "long", "java.lang.String", "long", + "java.lang.String", "int", "com.liferay.portal.service.ServiceContext" }; } @@ -434,7 +434,7 @@ public Object invokeMethod(String name, String[] parameterTypes, if (_methodName127.equals(name) && Arrays.deepEquals(_methodParameterTypes127, parameterTypes)) { - return CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(((Long)arguments[0]).longValue(), + return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (long[])arguments[2], (java.util.Map)arguments[3], (java.util.Map)arguments[4], @@ -443,17 +443,18 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Long)arguments[7]).longValue(), ((Boolean)arguments[8]).booleanValue(), (java.lang.String)arguments[9], - ((Long)arguments[10]).longValue(), - (java.lang.String)arguments[11], - ((Long)arguments[12]).longValue(), - (java.lang.String)arguments[13], - ((Integer)arguments[14]).intValue(), - (com.liferay.portal.service.ServiceContext)arguments[15]); + ((Boolean)arguments[10]).booleanValue(), + ((Long)arguments[11]).longValue(), + (java.lang.String)arguments[12], + ((Long)arguments[13]).longValue(), + (java.lang.String)arguments[14], + ((Integer)arguments[15]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[16]); } if (_methodName128.equals(name) && Arrays.deepEquals(_methodParameterTypes128, parameterTypes)) { - return CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(((Long)arguments[0]).longValue(), + return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (java.util.Map)arguments[2], (java.util.Map)arguments[3], @@ -462,17 +463,18 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Long)arguments[6]).longValue(), ((Boolean)arguments[7]).booleanValue(), (java.lang.String)arguments[8], - ((Long)arguments[9]).longValue(), - (java.lang.String)arguments[10], - ((Long)arguments[11]).longValue(), - (java.lang.String)arguments[12], - ((Integer)arguments[13]).intValue(), - (com.liferay.portal.service.ServiceContext)arguments[14]); + ((Boolean)arguments[9]).booleanValue(), + ((Long)arguments[10]).longValue(), + (java.lang.String)arguments[11], + ((Long)arguments[12]).longValue(), + (java.lang.String)arguments[13], + ((Integer)arguments[14]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[15]); } if (_methodName129.equals(name) && Arrays.deepEquals(_methodParameterTypes129, parameterTypes)) { - return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), + return CalendarBookingServiceUtil.updateCalendarBookingOffsetAndDuration(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (long[])arguments[2], (java.util.Map)arguments[3], (java.util.Map)arguments[4], @@ -481,18 +483,17 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Long)arguments[7]).longValue(), ((Boolean)arguments[8]).booleanValue(), (java.lang.String)arguments[9], - ((Boolean)arguments[10]).booleanValue(), - ((Long)arguments[11]).longValue(), - (java.lang.String)arguments[12], - ((Long)arguments[13]).longValue(), - (java.lang.String)arguments[14], - ((Integer)arguments[15]).intValue(), - (com.liferay.portal.service.ServiceContext)arguments[16]); + ((Long)arguments[10]).longValue(), + (java.lang.String)arguments[11], + ((Long)arguments[12]).longValue(), + (java.lang.String)arguments[13], + ((Integer)arguments[14]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[15]); } if (_methodName130.equals(name) && Arrays.deepEquals(_methodParameterTypes130, parameterTypes)) { - return CalendarBookingServiceUtil.updateCalendarBookingInstance(((Long)arguments[0]).longValue(), + return CalendarBookingServiceUtil.updateCalendarBookingOffsetAndDuration(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (java.util.Map)arguments[2], (java.util.Map)arguments[3], @@ -501,13 +502,12 @@ public Object invokeMethod(String name, String[] parameterTypes, ((Long)arguments[6]).longValue(), ((Boolean)arguments[7]).booleanValue(), (java.lang.String)arguments[8], - ((Boolean)arguments[9]).booleanValue(), - ((Long)arguments[10]).longValue(), - (java.lang.String)arguments[11], - ((Long)arguments[12]).longValue(), - (java.lang.String)arguments[13], - ((Integer)arguments[14]).intValue(), - (com.liferay.portal.service.ServiceContext)arguments[15]); + ((Long)arguments[9]).longValue(), + (java.lang.String)arguments[10], + ((Long)arguments[11]).longValue(), + (java.lang.String)arguments[12], + ((Integer)arguments[13]).intValue(), + (com.liferay.portal.service.ServiceContext)arguments[14]); } throw new UnsupportedOperationException(); diff --git a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java index 2a46b02b3873..b153183ce36e 100644 --- a/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java +++ b/portlets/calendar-portlet/docroot/WEB-INF/src/com/liferay/calendar/service/http/CalendarBookingServiceSoap.java @@ -479,14 +479,14 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki } } - public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingByOffsetAndDuration( + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingInstance( long calendarBookingId, long calendarId, long[] childCalendarIds, java.lang.String[] titleMapLanguageIds, java.lang.String[] titleMapValues, java.lang.String[] descriptionMapLanguageIds, java.lang.String[] descriptionMapValues, java.lang.String location, - long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, + long startTime, long endTime, boolean allDay, + java.lang.String recurrence, boolean allFollowing, long firstReminder, java.lang.String firstReminderType, long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) @@ -497,11 +497,11 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, descriptionMapValues); - com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(calendarBookingId, + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingInstance(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, - location, offset, duration, allDay, recurrence, - firstReminder, firstReminderType, secondReminder, - secondReminderType, status, serviceContext); + location, startTime, endTime, allDay, recurrence, + allFollowing, firstReminder, firstReminderType, + secondReminder, secondReminderType, status, serviceContext); return com.liferay.calendar.model.CalendarBookingSoap.toSoapModel(returnValue); } @@ -512,14 +512,14 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki } } - public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingByOffsetAndDuration( + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingInstance( long calendarBookingId, long calendarId, java.lang.String[] titleMapLanguageIds, java.lang.String[] titleMapValues, java.lang.String[] descriptionMapLanguageIds, java.lang.String[] descriptionMapValues, java.lang.String location, - long offset, long duration, boolean allDay, - java.lang.String recurrence, long firstReminder, + long startTime, long endTime, boolean allDay, + java.lang.String recurrence, boolean allFollowing, long firstReminder, java.lang.String firstReminderType, long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) @@ -530,9 +530,9 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, descriptionMapValues); - com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingByOffsetAndDuration(calendarBookingId, - calendarId, titleMap, descriptionMap, location, offset, - duration, allDay, recurrence, firstReminder, + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingInstance(calendarBookingId, + calendarId, titleMap, descriptionMap, location, startTime, + endTime, allDay, recurrence, allFollowing, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext); @@ -545,14 +545,14 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki } } - public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingInstance( + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, long[] childCalendarIds, java.lang.String[] titleMapLanguageIds, java.lang.String[] titleMapValues, java.lang.String[] descriptionMapLanguageIds, java.lang.String[] descriptionMapValues, java.lang.String location, - long startTime, long endTime, boolean allDay, - java.lang.String recurrence, boolean allFollowing, long firstReminder, + long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, java.lang.String firstReminderType, long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) @@ -563,11 +563,11 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, descriptionMapValues); - com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingInstance(calendarBookingId, + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingOffsetAndDuration(calendarBookingId, calendarId, childCalendarIds, titleMap, descriptionMap, - location, startTime, endTime, allDay, recurrence, - allFollowing, firstReminder, firstReminderType, - secondReminder, secondReminderType, status, serviceContext); + location, offset, duration, allDay, recurrence, + firstReminder, firstReminderType, secondReminder, + secondReminderType, status, serviceContext); return com.liferay.calendar.model.CalendarBookingSoap.toSoapModel(returnValue); } @@ -578,14 +578,14 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki } } - public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingInstance( + public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBookingOffsetAndDuration( long calendarBookingId, long calendarId, java.lang.String[] titleMapLanguageIds, java.lang.String[] titleMapValues, java.lang.String[] descriptionMapLanguageIds, java.lang.String[] descriptionMapValues, java.lang.String location, - long startTime, long endTime, boolean allDay, - java.lang.String recurrence, boolean allFollowing, long firstReminder, + long offset, long duration, boolean allDay, + java.lang.String recurrence, long firstReminder, java.lang.String firstReminderType, long secondReminder, java.lang.String secondReminderType, int status, com.liferay.portal.service.ServiceContext serviceContext) @@ -596,9 +596,9 @@ public static com.liferay.calendar.model.CalendarBookingSoap updateCalendarBooki Map descriptionMap = LocalizationUtil.getLocalizationMap(descriptionMapLanguageIds, descriptionMapValues); - com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingInstance(calendarBookingId, - calendarId, titleMap, descriptionMap, location, startTime, - endTime, allDay, recurrence, allFollowing, firstReminder, + com.liferay.calendar.model.CalendarBooking returnValue = CalendarBookingServiceUtil.updateCalendarBookingOffsetAndDuration(calendarBookingId, + calendarId, titleMap, descriptionMap, location, offset, + duration, allDay, recurrence, firstReminder, firstReminderType, secondReminder, secondReminderType, status, serviceContext);