2012-12-07 15:06:26 +01:00
package org.gcube.applicationsupportlayer.social ;
2014-03-05 18:50:24 +01:00
import java.io.File ;
import java.io.FileInputStream ;
import java.io.IOException ;
2013-07-11 17:25:21 +02:00
import java.text.SimpleDateFormat ;
2013-01-09 17:47:22 +01:00
import java.util.Date ;
2013-01-30 18:41:39 +01:00
import java.util.List ;
2014-03-05 18:50:24 +01:00
import java.util.Properties ;
2013-01-09 17:47:22 +01:00
import java.util.UUID ;
2012-12-07 15:06:26 +01:00
import org.gcube.application.framework.core.session.ASLSession ;
2013-01-31 01:31:07 +01:00
import org.gcube.applicationsupportlayer.social.mailing.EmailPlugin ;
2014-05-15 19:28:05 +02:00
import org.gcube.common.homelibrary.home.exceptions.InternalErrorException ;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem ;
import org.gcube.common.homelibrary.home.workspace.WorkspaceSharedFolder ;
2014-03-05 18:50:24 +01:00
import org.gcube.portal.custom.communitymanager.OrganizationsUtil ;
2013-01-03 16:28:36 +01:00
import org.gcube.portal.databook.shared.ApplicationProfile ;
2013-01-09 17:47:22 +01:00
import org.gcube.portal.databook.shared.Notification ;
2013-01-30 18:41:39 +01:00
import org.gcube.portal.databook.shared.NotificationChannelType ;
2013-01-09 17:47:22 +01:00
import org.gcube.portal.databook.shared.NotificationType ;
2013-01-03 16:28:36 +01:00
import org.gcube.portal.databook.shared.RunningJob ;
2013-01-11 12:36:44 +01:00
import org.gcube.vomanagement.usermanagement.UserManager ;
import org.gcube.vomanagement.usermanagement.exception.UserManagementPortalException ;
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException ;
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault ;
import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager ;
import org.gcube.vomanagement.usermanagement.model.UserModel ;
2013-09-30 15:43:29 +02:00
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
2013-01-11 12:36:44 +01:00
2015-06-15 11:10:43 +02:00
import com.liferay.portal.kernel.util.Tuple ;
2012-12-07 15:06:26 +01:00
/ * *
*
* @author Massimiliano Assante , ISTI - CNR
*
2012-12-07 18:06:40 +01:00
* use to notify users from within your application
2012-12-07 15:06:26 +01:00
* /
2013-01-03 16:28:36 +01:00
public class ApplicationNotificationsManager extends SocialPortalBridge implements NotificationsManager {
2013-09-30 15:43:29 +02:00
private static final Logger _log = LoggerFactory . getLogger ( ApplicationNotificationsManager . class ) ;
2014-05-15 19:28:05 +02:00
2014-03-05 18:50:24 +01:00
private static final String SENDER_EMAIL = " notificationSenderEmail " ;
private static final String GATEWAY_NAME = " portalinstancename " ;
2014-05-15 19:28:05 +02:00
2014-03-05 18:50:24 +01:00
private String portalName ;
private String senderEmail ;
2013-01-03 16:28:36 +01:00
/ * *
2013-01-11 12:36:44 +01:00
* Use this constructor if you do not need notifications to point back to your applications
2013-01-03 16:28:36 +01:00
* @param aslSession the ASLSession instance
* /
2013-01-09 17:47:22 +01:00
public ApplicationNotificationsManager ( ASLSession session ) {
super ( session ) ;
2014-03-05 18:50:24 +01:00
portalName = getPortalInstanceName ( ) ;
senderEmail = getNotificationSenderEmail ( ) ;
2013-06-10 18:31:20 +02:00
_log . warn ( " Asked for Simple Notification (without redirect to creator) " ) ;
2012-12-07 15:06:26 +01:00
}
2013-01-11 12:36:44 +01:00
/ * *
* Use this constructor if you do need notifications to point back to your applications ,
* make sure you create your application profile on the infrastructure .
*
* @see http : //gcube.wiki.gcube-system.org/gcube/index.php/Social_Networking_Library#Create_Your_Application_Profile
*
* @param aslSession the ASLSession instance
* @param portletClassName your portlet class name will be used ad unique identifier for your applicationProfile
* /
public ApplicationNotificationsManager ( ASLSession session , String portletClassName ) {
super ( session , portletClassName ) ;
2014-03-05 18:50:24 +01:00
portalName = getPortalInstanceName ( ) ;
senderEmail = getNotificationSenderEmail ( ) ;
2013-01-11 12:36:44 +01:00
}
2013-01-28 23:30:54 +01:00
/ * *
* actually save the notification to the store
* @param notification2Save the notification instance to save
* @return true if the notification was sent ok
* /
2014-11-03 19:31:09 +01:00
private boolean saveNotification ( Notification notification2Save , String . . . hashtags ) {
2013-01-28 23:30:54 +01:00
_log . trace ( " Trying to send notification to: " + notification2Save . getUserid ( ) + " Type: " + notification2Save . getType ( ) ) ;
2013-04-26 13:08:59 +02:00
if ( notification2Save . getSenderid ( ) . compareTo ( notification2Save . getUserid ( ) ) = = 0 ) {
_log . trace ( " Sender and Receiver are the same " + notification2Save . getUserid ( ) + " Notification Stopped " ) ;
return true ; //I'm not sending notifications to the person who triggered it, pretend I sent it though
}
2013-01-30 18:41:39 +01:00
List < NotificationChannelType > channels = null ;
try {
2013-06-03 18:13:46 +02:00
channels = getStoreInstance ( ) . getUserNotificationChannels ( notification2Save . getUserid ( ) , notification2Save . getType ( ) ) ;
2013-06-06 18:52:03 +02:00
} catch ( Exception e ) {
2013-01-30 18:41:39 +01:00
e . printStackTrace ( ) ;
}
boolean result = false ;
2013-01-31 01:31:07 +01:00
if ( channels . contains ( NotificationChannelType . PORTAL ) ) {
2013-01-30 18:41:39 +01:00
result = getStoreInstance ( ) . saveNotification ( notification2Save ) ;
2013-01-31 01:31:07 +01:00
if ( result )
_log . trace ( " Notification Saved Successfully! " ) ;
else
_log . error ( " Error While trying to save Notification " ) ;
}
if ( channels . contains ( NotificationChannelType . EMAIL ) )
2014-11-03 19:31:09 +01:00
EmailPlugin . getInstance ( ) . sendNotification ( notification2Save , aslSession . getGroupName ( ) , portalName , senderEmail , hashtags ) ;
2013-04-26 13:08:59 +02:00
2013-01-31 01:31:07 +01:00
if ( channels . isEmpty ( ) ) {
2013-07-12 15:37:32 +02:00
_log . info ( " Notification was not needed as " + notification2Save . getUserid ( ) + " decided not to be notified for " + notification2Save . getType ( ) ) ;
2013-01-31 01:31:07 +01:00
result = true ;
}
2013-01-28 23:30:54 +01:00
return result ;
}
2014-11-03 19:31:09 +01:00
2013-01-29 02:09:00 +01:00
/ * *
* return the url of the application if exists in the profile
* @return .
* /
private String getApplicationUrl ( ) {
2014-03-02 23:51:28 +01:00
if ( applicationProfile ! = null & & applicationProfile . getUrl ( ) ! = null ) {
_log . trace ( " getApplicationUrl= " + applicationProfile . getUrl ( ) ) ;
return applicationProfile . getUrl ( ) ;
}
else {
_log . warn ( " applicationProfile NULL or url is empty " ) ;
return " " ;
}
2013-01-29 02:09:00 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
2013-01-11 12:36:44 +01:00
* @throws InternalErrorException
2012-12-07 18:02:20 +01:00
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyFolderSharing ( String userIdToNotify , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException {
2014-02-13 17:46:34 +01:00
String sharedFolderName = sharedFolder . getName ( ) ;
if ( sharedFolder . isShared ( ) ) {
WorkspaceSharedFolder sharedWSFolder = ( WorkspaceSharedFolder ) sharedFolder ;
if ( sharedWSFolder . isVreFolder ( ) )
sharedFolderName = sharedWSFolder . getDisplayName ( ) ;
}
2013-01-11 12:36:44 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_FOLDER_SHARE ,
userIdToNotify , //user no notify
2014-09-29 18:47:23 +02:00
sharedFolder . getId ( ) ,
2013-01-11 12:36:44 +01:00
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-09-29 18:47:23 +02:00
" shared the workspace folder \" " + sharedFolderName + " \" with you " ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
/ * *
* { @inheritDoc }
* @throws Exception
* /
@Override
public boolean notifyFolderUnsharing ( String userIdToNotify , String unsharedFolderId , String unsharedFolderName ) throws Exception {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_FOLDER_UNSHARE ,
userIdToNotify , //user no notify
unsharedFolderId ,
new Date ( ) ,
getApplicationUrl ( ) + " ?itemid= " + unsharedFolderId ,
" unshared the workspace folder \" " + unsharedFolderName + " \" " ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2014-09-30 12:36:37 +02:00
/ * *
* { @inheritDoc }
* @throws Exception
* /
@Override
public boolean notifyAdministratorUpgrade ( String userIdToNotify , WorkspaceSharedFolder sharedFolder ) throws Exception {
String sharedFolderName = sharedFolder . getName ( ) ;
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ADMIN_UPGRADE ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) ,
new Date ( ) ,
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
" upgraded you to Administrator of the workspace folder \" " + sharedFolderName + " \" " ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
/ * *
* { @inheritDoc }
* @throws Exception
* /
@Override
public boolean notifyAdministratorDowngrade ( String userIdToNotify , WorkspaceSharedFolder sharedFolder ) throws Exception {
String sharedFolderName = sharedFolder . getName ( ) ;
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ADMIN_DOWNGRADE ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) ,
new Date ( ) ,
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
" downgraded you from Administrator of the workspace folder \" " + sharedFolderName + " \" " ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2013-03-20 15:45:06 +01:00
/ * *
* { @inheritDoc }
* @throws InternalErrorException
* /
@Override
public boolean notifyFolderRenaming ( String userIdToNotify , String previousName , String newName , String renamedFolderId ) throws InternalErrorException {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
2013-03-25 14:38:14 +01:00
NotificationType . WP_FOLDER_RENAMED ,
2013-03-20 15:45:06 +01:00
userIdToNotify , //user no notify
renamedFolderId , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + renamedFolderId ,
2014-09-29 18:47:23 +02:00
" renamed your shared folder \" " + previousName + " \" as \" " + newName + " \" " ,
2013-03-20 15:45:06 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
2013-01-11 12:36:44 +01:00
* @throws UserManagementPortalException
* @throws UserRetrievalFault
* @throws UserManagementSystemException
2012-12-07 18:02:20 +01:00
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyFolderAddedUser ( String userIdToNotify , WorkspaceSharedFolder sharedFolder , String newAddedUserId ) throws InternalErrorException , UserManagementSystemException , UserRetrievalFault , UserManagementPortalException {
2013-01-11 12:36:44 +01:00
UserManager um = new LiferayUserManager ( ) ;
UserModel user = um . getUserByScreenName ( newAddedUserId ) ;
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_FOLDER_ADDEDUSER ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-09-29 18:47:23 +02:00
" added " + user . getFullname ( ) + " to your workspace shared folder \" " + sharedFolder . getName ( ) + " \" " ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2013-03-25 12:08:25 +01:00
/ * *
* { @inheritDoc }
* @throws UserManagementPortalException
* @throws UserRetrievalFault
* @throws UserManagementSystemException
* /
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyFolderAddedUsers ( String userIdToNotify , WorkspaceSharedFolder sharedFolder , List < String > newAddedUserIds ) throws InternalErrorException , UserManagementSystemException , UserRetrievalFault , UserManagementPortalException {
2013-03-25 12:08:25 +01:00
if ( newAddedUserIds ! = null & & newAddedUserIds . size ( ) > 0 ) {
if ( newAddedUserIds . size ( ) = = 1 )
return notifyFolderAddedUser ( userIdToNotify , sharedFolder , newAddedUserIds . get ( 0 ) ) ;
StringBuilder addedUsersFullNames = new StringBuilder ( ) ;
UserManager um = new LiferayUserManager ( ) ;
for ( String userId : newAddedUserIds )
addedUsersFullNames . append ( um . getUserByScreenName ( userId ) . getFullname ( ) ) . append ( " " ) ;
2013-04-26 13:08:59 +02:00
2013-03-25 12:08:25 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_FOLDER_ADDEDUSER ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-09-29 18:47:23 +02:00
" added " + addedUsersFullNames + " to your workspace shared folder \" " + sharedFolder . getName ( ) + " \" " ,
2013-03-25 12:08:25 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2013-04-26 13:08:59 +02:00
2013-03-25 12:08:25 +01:00
return false ;
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyFolderRemovedUser ( String userIdToNotify , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException , UserManagementSystemException , UserRetrievalFault , UserManagementPortalException {
2013-01-11 12:36:44 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_FOLDER_REMOVEDUSER ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-09-29 18:47:23 +02:00
" unshared his shared folder \" " + sharedFolder . getName ( ) + " \" from your workspace " ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
2013-01-11 12:36:44 +01:00
* @throws InternalErrorException
2012-12-07 18:02:20 +01:00
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyAddedItem ( String userIdToNotify , WorkspaceItem item , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException {
String notifyText = sharedFolder . isVreFolder ( ) ?
" added " + item . getName ( ) + " to the workspace group folder " + sharedFolder . getDisplayName ( ) :
" added " + item . getName ( ) + " to your workspace shared folder " + item . getPath ( ) . substring ( 0 , item . getPath ( ) . lastIndexOf ( '/' ) ) ;
2013-01-11 12:36:44 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ITEM_NEW ,
userIdToNotify , //user no notify
item . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + item . getParent ( ) . getId ( ) ,
2014-02-13 17:46:34 +01:00
notifyText ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
2013-01-11 12:36:44 +01:00
* @throws InternalErrorException
2012-12-07 18:02:20 +01:00
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyMovedItem ( String userIdToNotify , WorkspaceItem item , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException {
String notifyText = sharedFolder . isVreFolder ( ) ? " removed item " + item . getName ( ) + " from the workspace group folder " + sharedFolder . getDisplayName ( ) :
2014-09-29 18:47:23 +02:00
" removed item " + item . getName ( ) + " from your workspace shared folder \" " + sharedFolder . getName ( ) + " \" " ;
2014-05-15 19:28:05 +02:00
2013-01-11 12:36:44 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ITEM_DELETE ,
userIdToNotify , //user no notify
item . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:36:24 +02:00
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-02-13 17:46:34 +01:00
notifyText ,
2013-01-11 12:36:44 +01:00
false ,
2013-06-14 15:24:42 +02:00
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
/ * *
* { @inheritDoc }
* @throws InternalErrorException
* /
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyRemovedItem ( String userIdToNotify , String itemName , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException {
2014-09-29 18:47:23 +02:00
String notifyText = sharedFolder . isVreFolder ( ) ? " deleted item \" " + itemName + " \" from the workspace group folder " + sharedFolder . getDisplayName ( ) :
" deleted item \" " + itemName + " \" from your workspace shared folder \" " + sharedFolder . getName ( ) + " \" " ;
2014-05-15 19:28:05 +02:00
2013-06-14 15:24:42 +02:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ITEM_DELETE ,
userIdToNotify , //user no notify
sharedFolder . getId ( ) , //the
new Date ( ) ,
getApplicationUrl ( ) + " ?itemid= " + sharedFolder . getId ( ) ,
2014-02-13 17:46:34 +01:00
notifyText ,
2013-06-14 15:24:42 +02:00
false ,
2013-01-11 12:36:44 +01:00
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
2013-01-11 12:36:44 +01:00
* @throws InternalErrorException
2012-12-07 18:02:20 +01:00
* /
2012-12-07 15:06:26 +01:00
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyUpdatedItem ( String userIdToNotify , WorkspaceItem item , WorkspaceSharedFolder sharedFolder ) throws InternalErrorException {
2014-09-29 18:47:23 +02:00
String notifyText = sharedFolder . isVreFolder ( ) ? " updated \" " + item . getName ( ) + " \" from the workspace group folder \" " + sharedFolder . getDisplayName ( ) + " \" " :
" updated \" " + item . getName ( ) + " \" to your workspace shared folder \" " + item . getPath ( ) . substring ( 0 , item . getPath ( ) . lastIndexOf ( '/' ) ) + " \" " ;
2014-05-15 19:28:05 +02:00
2013-01-11 12:36:44 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ITEM_UPDATED ,
userIdToNotify , //user no notify
2013-03-16 02:40:56 +01:00
item . getId ( ) , //the
2013-01-11 12:36:44 +01:00
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + item . getParent ( ) . getId ( ) ,
2014-02-13 17:46:34 +01:00
notifyText ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 15:06:26 +01:00
}
2013-03-25 14:38:14 +01:00
/ * *
* { @inheritDoc }
* @throws InternalErrorException
* /
@Override
2014-05-15 19:28:05 +02:00
public boolean notifyItemRenaming ( String userIdToNotify , String previousName , WorkspaceItem renamedItem , WorkspaceSharedFolder rootSharedFolder ) throws InternalErrorException {
2014-09-29 18:47:23 +02:00
String notifyText = rootSharedFolder . isVreFolder ( ) ? " renamed \" " + previousName + " \" as \" " + renamedItem . getName ( ) + " \" in the workspace group folder " + rootSharedFolder . getDisplayName ( ) :
" renamed \" " + previousName + " \" as \" " + renamedItem . getName ( ) + " \" in your shared folder \" " + renamedItem . getPath ( ) . substring ( 0 , renamedItem . getPath ( ) . lastIndexOf ( '/' ) ) + " \" " ;
2014-05-15 19:28:05 +02:00
2013-03-25 14:38:14 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . WP_ITEM_RENAMED ,
userIdToNotify , //user no notify
renamedItem . getId ( ) , //the
new Date ( ) ,
2013-06-10 18:31:20 +02:00
getApplicationUrl ( ) + " ?itemid= " + renamedItem . getParent ( ) . getId ( ) ,
2014-02-13 17:46:34 +01:00
notifyText ,
2013-03-25 14:38:14 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
* /
2012-12-07 16:29:09 +01:00
@Override
2013-01-09 17:47:22 +01:00
public boolean notifyMessageReceived ( String userIdToNotify , String subject ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . MESSAGE ,
userIdToNotify , //user no notify
" messageid_not_provided " , //the
new Date ( ) ,
2013-02-01 10:06:17 +01:00
" /group/data-e-infrastructure-gateway/messages " ,
2013-01-31 15:46:37 +01:00
" sent you a message with subject: " + escapeHtml ( subject ) ,
2013-01-09 17:47:22 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-11 12:36:44 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 16:29:09 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
* /
2012-12-07 16:29:09 +01:00
@Override
2014-11-03 19:31:09 +01:00
public boolean notifyPost ( String userIdToNotify , String feedid , String feedText , String . . . hashtags ) {
2014-05-15 19:28:05 +02:00
2014-03-05 00:40:14 +01:00
StringBuilder notificationText = new StringBuilder ( ) ;
2014-11-03 19:31:09 +01:00
notificationText . append ( " posted a news on <b> " ) . append ( aslSession . getGroupName ( ) ) . append ( " :</b> " ) // has done something
2014-03-05 00:40:14 +01:00
. append ( " <br /><br /> " ) . append ( escapeHtml ( feedText ) ) . append ( " . " )
. append ( " <br /><br />Follow the discussion and comment it. " ) ;
2014-05-15 19:28:05 +02:00
2014-03-05 00:40:14 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . POST_ALERT ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
getApplicationUrl ( ) + " ?oid= " + feedid ,
notificationText . toString ( ) ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2014-11-03 19:31:09 +01:00
return saveNotification ( not , hashtags ) ;
2014-03-05 00:40:14 +01:00
}
/ * *
* { @inheritDoc }
* /
@Override
2013-01-11 12:36:44 +01:00
public boolean notifyOwnCommentReply ( String userIdToNotify , String feedid , String feedText ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . OWN_COMMENT ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
2013-02-01 10:06:17 +01:00
" /group/data-e-infrastructure-gateway?oid= " + feedid ,
2013-01-11 12:41:13 +01:00
" commented on your post: " + escapeHtml ( feedText ) ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 16:29:09 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
* /
2012-12-07 16:29:09 +01:00
@Override
2014-04-04 13:00:25 +02:00
public boolean notifyCommentReply ( String userIdToNotify , String feedid , String commentText , String feedOwnerFullName , String feedOwnerId ) {
String notificationText = ( aslSession . getUsername ( ) . compareTo ( feedOwnerId ) = = 0 ) ?
2013-04-26 13:08:59 +02:00
" also commented on his post: " + escapeHtml ( commentText )
:
2013-04-18 17:56:34 +02:00
" also commented on " + feedOwnerFullName + " 's post: " + escapeHtml ( commentText ) ;
2013-04-26 13:08:59 +02:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . COMMENT ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
" /group/data-e-infrastructure-gateway?oid= " + feedid ,
notificationText ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
2013-04-18 16:34:07 +02:00
}
/ * *
* { @inheritDoc }
* /
@Override
2013-04-18 17:32:04 +02:00
public boolean notifyCommentOnFavorite ( String userIdToNotify , String feedid , String commentText ) {
2013-03-11 12:35:23 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . COMMENT ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
" /group/data-e-infrastructure-gateway?oid= " + feedid ,
2013-04-18 17:32:04 +02:00
" commented on one of your favorite posts: " + escapeHtml ( commentText ) ,
2013-03-11 12:35:23 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
2012-12-07 16:29:09 +01:00
}
2012-12-07 18:02:20 +01:00
/ * *
* { @inheritDoc }
* /
2012-12-07 16:29:09 +01:00
@Override
2013-04-18 11:21:31 +02:00
public boolean notifyUserTag ( String userIdToNotify , String feedid , String feedText ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . MENTION ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
" /group/data-e-infrastructure-gateway?oid= " + feedid ,
2014-04-10 17:12:22 +02:00
" mentioned you: " + escapeHtml ( feedText ) ,
2013-04-18 11:21:31 +02:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
/ * *
* { @inheritDoc }
* /
@Override
2013-01-11 12:36:44 +01:00
public boolean notifyLikedFeed ( String userIdToNotify , String feedid , String feedText ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . LIKE ,
userIdToNotify , //user no notify
feedid , //the post
new Date ( ) ,
2013-02-01 10:06:17 +01:00
" /group/data-e-infrastructure-gateway?oid= " + feedid ,
2015-05-05 14:45:55 +02:00
" favorited one of your post " ,
2013-01-11 12:36:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2012-12-07 16:29:09 +01:00
}
2013-01-28 01:12:51 +01:00
/ * *
* { @inheritDoc }
* /
2013-01-03 16:28:36 +01:00
@Override
2013-01-11 12:36:44 +01:00
public boolean notifyJobStatus ( String userIdToNotify , ApplicationProfile executingJobApId , RunningJob job ) {
//TODO: missing implementation
2013-01-03 16:28:36 +01:00
return false ;
}
2013-01-28 01:12:51 +01:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDocumentWorkflowView ( String userIdToNotify , String documentWorkflowId , String documentName ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . DOCUMENT_WORKFLOW_VIEW ,
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
2013-01-29 02:09:00 +01:00
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
2013-01-31 15:46:37 +01:00
" viewed document workflow " + escapeHtml ( documentName ) ,
2013-01-28 01:12:51 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2013-01-28 01:12:51 +01:00
}
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDocumentWorkflowUpdate ( String userIdToNotify , String documentWorkflowId , String documentName ) {
2013-01-29 02:09:00 +01:00
2013-01-28 01:12:51 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . DOCUMENT_WORKFLOW_EDIT ,
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
2013-01-29 02:09:00 +01:00
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
2013-01-31 15:46:37 +01:00
" updated document workflow " + escapeHtml ( documentName ) ,
2013-01-28 01:12:51 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2013-01-28 01:12:51 +01:00
}
2013-01-28 23:30:54 +01:00
/ * *
* { @inheritDoc }
* /
2013-01-28 18:38:43 +01:00
@Override
2013-01-29 19:25:43 +01:00
public boolean notifyDocumentWorkflowTaskRequest ( String userIdToNotify , String documentWorkflowId , String documentName , String assignedRoleName ) {
2013-04-26 13:08:59 +02:00
2013-01-31 15:46:37 +01:00
String notificationText = " in " + aslSession . getGroupName ( ) + " you are requested to perform a new task in the Document Workflow titled: "
+ escapeHtml ( documentName ) + " . Your role is: " + assignedRoleName ;
2013-04-26 13:08:59 +02:00
2013-01-28 18:38:43 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . DOCUMENT_WORKFLOW_STEP_REQUEST_TASK ,
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
2013-01-29 02:09:00 +01:00
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
2013-01-29 18:19:06 +01:00
notificationText ,
2013-04-26 13:08:59 +02:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 02:09:00 +01:00
2013-01-28 23:30:54 +01:00
return saveNotification ( not ) ;
2013-01-28 18:38:43 +01:00
}
2013-01-29 16:24:44 +01:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDocumentWorkflowUserForward ( String userIdToNotify , String documentWorkflowId , String documentName , String fromStepName , String toStepName ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . DOCUMENT_WORKFLOW_USER_FORWARD_TO_OWNER ,
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
2013-01-31 15:46:37 +01:00
" forwarded the Document Workflow titled: " + escapeHtml ( documentName ) +
2013-04-26 13:08:59 +02:00
" from status \" " + fromStepName + " \" to status \" " + toStepName + " \" . In " + aslSession . getGroupName ( ) ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 16:24:44 +01:00
return saveNotification ( not ) ;
}
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDocumentWorkflowStepForwardComplete ( String userIdToNotify , String documentWorkflowId , String documentName , String fromStepName , String toStepName ) {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . DOCUMENT_WORKFLOW_FORWARD_STEP_COMPLETED_OWNER ,
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
2013-01-31 16:58:54 +01:00
" has performed the last needed forward on a Document Workflow titled: " + escapeHtml ( documentName ) + " . " +
" Step \" " + fromStepName + " \" is now complete. The next step is \" " + toStepName + " \" . In " + aslSession . getGroupName ( ) ,
2013-01-29 16:24:44 +01:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2013-01-29 19:25:43 +01:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDocumentWorkflowFirstStepRequest ( String userIdToNotify , String documentWorkflowId , String documentName , String assignedRole ) {
2013-01-31 15:46:37 +01:00
String notificationText = " involved you in the Document Workflow titled: " + escapeHtml ( documentName ) + " . " +
2013-01-31 16:58:54 +01:00
" You are requested to perform a task. Your role is: " + assignedRole + " " ;
2013-01-29 19:25:43 +01:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
2013-01-29 19:49:12 +01:00
NotificationType . DOCUMENT_WORKFLOW_FIRST_STEP_REQUEST_INVOLVMENT ,
2013-01-29 19:25:43 +01:00
userIdToNotify , //user no notify
documentWorkflowId , //the workflowid
new Date ( ) ,
getApplicationUrl ( ) + " ?oid= " + documentWorkflowId ,
notificationText ,
2013-04-26 13:08:59 +02:00
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
2013-01-29 19:25:43 +01:00
return saveNotification ( not ) ;
2013-03-25 14:38:14 +01:00
}
2013-07-11 17:25:21 +02:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyNewCalendarEvent ( String userIdToNotify , String eventTitle , String eventType , Date startDate , Date endingDate ) {
SimpleDateFormat spf = new SimpleDateFormat ( " EEE dd MMMMM, yyyy " ) ;
2014-05-15 19:28:05 +02:00
2013-07-11 17:25:21 +02:00
String endDateToDisplay = " " ;
if ( endingDate ! = null ) {
endDateToDisplay = " to " + spf . format ( endingDate ) ;
}
2014-05-15 19:28:05 +02:00
2013-07-11 17:25:21 +02:00
StringBuilder notificationText = new StringBuilder ( ) ;
2013-07-12 15:37:32 +02:00
notificationText . append ( " added the following event in the <b> " ) . append ( aslSession . getGroupName ( ) ) . append ( " </b> shared calendar: " ) // has done something
. append ( " <strong> " ) . append ( eventTitle ) . append ( " </strong><br /> " )
. append ( " <br /><strong> Time:</strong> " ) . append ( spf . format ( startDate ) ) . append ( endDateToDisplay ) . append ( " <br /> " )
. append ( " <br /><strong> Category: </strong> " ) . append ( eventType ) ;
2014-05-15 19:28:05 +02:00
2013-07-11 17:25:21 +02:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . CALENDAR_ADDED_EVENT ,
userIdToNotify , //user no notify
" " , //
new Date ( ) ,
getApplicationUrl ( ) ,
notificationText . toString ( ) ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2014-05-15 19:28:05 +02:00
2013-07-12 16:59:26 +02:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyEditedCalendarEvent ( String userIdToNotify , String eventTitle , String eventType , Date startDate , Date endingDate ) {
SimpleDateFormat spf = new SimpleDateFormat ( " EEE dd MMMMM, yyyy " ) ;
2014-05-15 19:28:05 +02:00
2013-07-12 16:59:26 +02:00
String endDateToDisplay = " " ;
if ( endingDate ! = null ) {
endDateToDisplay = " to " + spf . format ( endingDate ) ;
}
2014-05-15 19:28:05 +02:00
2013-07-12 16:59:26 +02:00
StringBuilder notificationText = new StringBuilder ( ) ;
notificationText . append ( " edited the following event in the <b> " ) . append ( aslSession . getGroupName ( ) ) . append ( " </b> shared calendar: " ) // has done something
. append ( " <strong> " ) . append ( eventTitle ) . append ( " </strong><br /> " )
. append ( " <br /><strong> Time:</strong> " ) . append ( spf . format ( startDate ) ) . append ( endDateToDisplay ) . append ( " <br /> " )
. append ( " <br /><strong> Category: </strong> " ) . append ( eventType ) ;
2014-05-15 19:28:05 +02:00
2013-07-12 16:59:26 +02:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . CALENDAR_UPDATED_EVENT ,
userIdToNotify , //user no notify
" " , //
new Date ( ) ,
getApplicationUrl ( ) ,
notificationText . toString ( ) ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
}
2013-07-12 17:06:34 +02:00
/ * *
* { @inheritDoc }
* /
@Override
public boolean notifyDeletedCalendarEvent ( String userIdToNotify , String eventTitle , String eventType , Date startDate , Date endingDate ) {
SimpleDateFormat spf = new SimpleDateFormat ( " EEE dd MMMMM, yyyy " ) ;
2014-05-15 19:28:05 +02:00
2013-07-12 17:06:34 +02:00
String endDateToDisplay = " " ;
if ( endingDate ! = null ) {
endDateToDisplay = " to " + spf . format ( endingDate ) ;
}
2014-05-15 19:28:05 +02:00
2013-07-12 17:06:34 +02:00
StringBuilder notificationText = new StringBuilder ( ) ;
notificationText . append ( " deleted the following event in the <b> " ) . append ( aslSession . getGroupName ( ) ) . append ( " </b> shared calendar: " ) // has done something
. append ( " <strong> " ) . append ( eventTitle ) . append ( " </strong><br /> " )
. append ( " <br /><strong> Was planned:</strong> " ) . append ( spf . format ( startDate ) ) . append ( endDateToDisplay ) . append ( " <br /> " )
. append ( " <br /><strong> Category: </strong> " ) . append ( eventType ) ;
2014-05-15 19:28:05 +02:00
2013-07-12 17:06:34 +02:00
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . CALENDAR_DELETED_EVENT ,
userIdToNotify , //user no notify
" " , //
new Date ( ) ,
getApplicationUrl ( ) ,
notificationText . toString ( ) ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
2015-06-11 14:08:50 +02:00
}
/ * *
* { @inheritDoc }
* /
@Override
2015-06-15 11:10:43 +02:00
public boolean notifyTDMTabularResourceSharing ( String userIdToNotify , String tabularResourceName , String encodedTabularResourceParams ) throws Exception {
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
NotificationType . TDM_TAB_RESOURCE_SHARE ,
userIdToNotify , //user no notify
tabularResourceName ,
new Date ( ) ,
getApplicationUrl ( ) + " ? " + encodedTabularResourceParams ,
" shared the Tabular Resource \" " + tabularResourceName + " \" with you " ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
2015-06-11 14:08:50 +02:00
}
/ * *
* { @inheritDoc }
* /
@Override
2015-06-15 11:10:43 +02:00
public boolean notifyTDMObjectSharing ( String userIdToNotify , NotificationType type , String tdmObjectName , String encodedTabularResourceParams ) throws Exception {
2015-06-15 17:00:03 +02:00
if ( ! ( type = = NotificationType . TDM_RULE_SHARE | | type = = NotificationType . TDM_TEMPLATE_SHARE ) )
2015-06-15 11:10:43 +02:00
throw new IllegalArgumentException ( " Type must be either TDM_RULE_SHARE or TDM_TEMPLATE_SHARE " ) ;
String notificationText = " shared the Tabular Data Manager " ;
notificationText + = ( type = = NotificationType . TDM_RULE_SHARE ) ? " Rule " : " Template " ;
notificationText + = tdmObjectName + " with you " ;
String url = getApplicationUrl ( ) ;
if ( encodedTabularResourceParams ! = null & & encodedTabularResourceParams . compareTo ( " " ) ! = 0 )
url + = " ? " + encodedTabularResourceParams ;
Notification not = new Notification (
UUID . randomUUID ( ) . toString ( ) ,
type ,
userIdToNotify , //user no notify
tdmObjectName ,
new Date ( ) ,
url ,
notificationText ,
false ,
aslSession . getUsername ( ) ,
aslSession . getUserFullName ( ) ,
aslSession . getUserAvatarId ( ) ) ;
return saveNotification ( not ) ;
2015-06-11 14:08:50 +02:00
}
2014-05-15 19:28:05 +02:00
2014-03-05 18:50:24 +01:00
/ * *
* read the portal instance name from a property file and returns it
* /
private static String getPortalInstanceName ( ) {
//get the portles to look for from the property file
Properties props = new Properties ( ) ;
String toReturn = " " ;
try {
String propertyfile = OrganizationsUtil . getTomcatFolder ( ) + " conf/gcube-data.properties " ;
File propsFile = new File ( propertyfile ) ;
FileInputStream fis = new FileInputStream ( propsFile ) ;
props . load ( fis ) ;
toReturn = props . getProperty ( GATEWAY_NAME ) ;
}
//catch exception in case properties file does not exist
catch ( IOException e ) {
toReturn = " D4science Gateway " ;
_log . error ( " gcube-data.properties file not found under $CATALINA_HOME/conf dir, returning default Portal Name " + toReturn ) ;
return toReturn ;
}
_log . debug ( " Returning Gateway Name: " + toReturn ) ;
return toReturn ;
}
2014-05-15 19:28:05 +02:00
2014-03-05 18:50:24 +01:00
/ * *
* read the sender email for notifications name from a property file and returns it
* /
private static String getNotificationSenderEmail ( ) {
//get the portles to look for from the property file
Properties props = new Properties ( ) ;
String toReturn = " " ;
try {
String propertyfile = OrganizationsUtil . getTomcatFolder ( ) + " conf/gcube-data.properties " ;
File propsFile = new File ( propertyfile ) ;
FileInputStream fis = new FileInputStream ( propsFile ) ;
props . load ( fis ) ;
toReturn = props . getProperty ( SENDER_EMAIL ) ;
}
//catch exception in case properties file does not exist
catch ( IOException e ) {
toReturn = " do-not-reply@d4science.org " ;
_log . error ( " gcube-data.properties file not found under $CATALINA_HOME/conf dir, returning default Email " + toReturn ) ;
return toReturn ;
}
_log . debug ( " Returning SENDER_EMAIL: " + toReturn ) ;
return toReturn ;
}
2012-12-07 15:06:26 +01:00
}