diff --git a/.classpath b/.classpath index f846250..58653da 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index 100e945..6f23520 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -1,5 +1,5 @@ eclipse.preferences.version=1 jarsExcludedFromWebInfLib= -lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.5.0-SNAPSHOT +lastWarOutDir=/Users/massi/Documents/workspace/news-feed/target/news-feed-1.5.1-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/pom.xml b/pom.xml index 2cda5a0..b4a0032 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.gcube.portlets.user news-feed war - 1.5.0-SNAPSHOT + 1.5.1-SNAPSHOT gCube News Feed Portlet @@ -72,6 +72,10 @@ aslcore provided + + org.gcube.applicationsupportlayer + accesslogger + org.gcube.applicationsupportlayer aslsocial diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java index 9af49a7..c48a84f 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/NewsFeed.java @@ -12,12 +12,9 @@ import org.jsonmaker.gwt.client.Jsonizer; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.logical.shared.ResizeEvent; import com.google.gwt.event.logical.shared.ResizeHandler; import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.RootPanel; /** diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java index 132d2d6..65a1f32 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/panels/NewsFeedPanel.java @@ -92,8 +92,10 @@ public class NewsFeedPanel extends Composite { public static final String LIKED_LABEL = "Favorited"; public static final String COMMENT_LABEL = "Reply"; public static final String MESSAGE_LABEL = "Message"; - + private String vreLabel; + private boolean showFeedTimelineSource = false; + private boolean isInfrastructure = false; private int delayMillis = 300000; //5 minutes by default (is read from a configuration file in the first async callback) @@ -152,11 +154,11 @@ public class NewsFeedPanel extends Composite { public void onSelectedUser(SelectedUserEvent event) { GWT.log("event..."); Location.assign(GCubeSocialNetworking.USER_PROFILE_LINK+"?"+ - Encoder.encode(GCubeSocialNetworking.USER_PROFILE_OID)+"="+ - Encoder.encode(event.getSelectedUser().getId())); + Encoder.encode(GCubeSocialNetworking.USER_PROFILE_OID)+"="+ + Encoder.encode(event.getSelectedUser().getId())); } }); - + eventBus.addHandler(SeeLikesEvent.TYPE, new SeeLikesEventHandler() { @Override public void onSeeLikes(SeeLikesEvent event) { @@ -184,7 +186,7 @@ public class NewsFeedPanel extends Composite { doDeleteFeed(event.getToDelete()); } }); - + eventBus.addHandler(OpenFeedEvent.TYPE, new OpenFeedEventHandler() { @Override public void onOpenFeed(OpenFeedEvent event) { @@ -225,7 +227,7 @@ public class NewsFeedPanel extends Composite { public void onSuccess(UserSettings result) { myUserInfo = result.getUserInfo(); delayMillis = result.getRefreshingTimeInMillis(); - vreLabel = result.getChannelName(); + vreLabel = result.getVreLabel(); if (result.getUserInfo().getUsername().equals("test.user")) { Window.alert("Your session has expired, please log out and login again"); } @@ -240,10 +242,13 @@ public class NewsFeedPanel extends Composite { currentFilter = FilterType.ALL_UPDATES; } //adjustments in the UI Depending on the scope - if (result.isInfrastructure()) + if (result.isInfrastructure()) { filterPanelWrapper.setVisible(true); - else - mainPanel.addStyleName("framed"); + showFeedTimelineSource = result.isShowTimelineSourceLabel(); + isInfrastructure = true; + } + else + mainPanel.addStyleName("framed"); } }); @@ -294,7 +299,7 @@ public class NewsFeedPanel extends Composite { newsPanel.setHeight(""); newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); - newsPanel.add(new TweetTemplate(true, myUserInfo, result, eventBus)); + newsPanel.add(new TweetTemplate(true, true, myUserInfo, result, eventBus)); } newsPanel.add(new Image(spacer)); } @@ -426,10 +431,16 @@ public class NewsFeedPanel extends Composite { newsPanel.clear(); if (feeds != null) { if (feeds.size() == 0) { - newsPanel.add(new HTML("
" + - "Looks like we've got nothing for you at the moment.
" + - "You may begin by joining some of the available " + - "
"+vreLabel+"s.
")); + if (!isInfrastructure) { + newsPanel.add(new HTML("
" + + "Sorry, looks like nobody shared anything yet.
" + + "You may begin by sharing a news!
")); + } else { + newsPanel.add(new HTML("
" + + "Sorry, looks like we've got nothing for you at the moment.
" + + "You may begin by joining some of the available " + + "
"+vreLabel+"s.
")); + } isFirstTweet = true; } else { @@ -437,7 +448,7 @@ public class NewsFeedPanel extends Composite { newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); for (EnhancedFeed feed : feeds) { - newsPanel.add(new TweetTemplate(false, myUserInfo, feed, eventBus)); + newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); allUpdates.add(feed); } if (feeds.size() < 5) { @@ -483,7 +494,7 @@ public class NewsFeedPanel extends Composite { newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); for (EnhancedFeed feed : feeds) - newsPanel.add(new TweetTemplate(false, myUserInfo, feed, eventBus)); + newsPanel.add(new TweetTemplate(false, false, myUserInfo, feed, eventBus)); if (feeds.size() < 5) { newsPanel.add(new Image(spacer)); } @@ -522,7 +533,7 @@ public class NewsFeedPanel extends Composite { newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); for (EnhancedFeed feed : feeds) - newsPanel.add(new TweetTemplate(false, myUserInfo, feed, eventBus)); + newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); if (feeds.size() < 5) { newsPanel.add(new Image(spacer)); } @@ -561,7 +572,7 @@ public class NewsFeedPanel extends Composite { newsPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT); newsPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP); for (EnhancedFeed feed : feeds) - newsPanel.add(new TweetTemplate(false, myUserInfo, feed, eventBus)); + newsPanel.add(new TweetTemplate(false, showFeedTimelineSource, myUserInfo, feed, eventBus)); if (feeds.size() < 5) { newsPanel.add(new Image(spacer)); } @@ -614,7 +625,7 @@ public class NewsFeedPanel extends Composite { final UserSelectionDialog dlg = new UserSelectionDialog("People who set this as Favorite", eventBus); dlg.center(); dlg.show(); - + newsService.getAllLikesByFeed(feedId, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { @@ -742,7 +753,7 @@ public class NewsFeedPanel extends Composite { }); } } - + private void doShowFeed(final TweetTemplate toShow) { String feedKey = toShow.getFeedKey(); Window.Location.assign(Window.Location.getHref() + ((Window.Location.getHref().contains("?")) ? "&oid="+feedKey : "?oid="+feedKey)); diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/FilterPanel.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/FilterPanel.java index aa7f146..9975214 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/FilterPanel.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/FilterPanel.java @@ -37,8 +37,8 @@ public class FilterPanel extends Composite { this.service = newsService; //connectionsLink.setHTML("Connections"); allUpdatesLink.setHTML("All Updates"); - favoritesLink.setHTML("My Favorites"); - onlyme.setHTML("Only Me"); + favoritesLink.setHTML("Favorites"); + onlyme.setHTML("Your Posts"); //connectionsLink.getElement().getStyle().setCursor(Cursor.POINTER); allUpdatesLink.getElement().getStyle().setCursor(Cursor.POINTER); favoritesLink.getElement().getStyle().setCursor(Cursor.POINTER); diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java index 5433106..ea1bbd3 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.java @@ -102,6 +102,8 @@ public class TweetTemplate extends Composite { @UiField HTML openImage; @UiField + HTML vreSource; + @UiField VerticalPanel previewPanel; @UiField Label messageSeparator; @@ -113,10 +115,10 @@ public class TweetTemplate extends Composite { * @param displaySingle tells if you're displaying a single fedd or not * @param eventBus */ - public TweetTemplate(boolean displaySingle, UserInfo myUserInfo, EnhancedFeed myFeed, HandlerManager eventBus) { + public TweetTemplate(boolean displaySingle, boolean showTimelineSource, UserInfo myUserInfo, EnhancedFeed myFeed, HandlerManager eventBus) { initWidget(uiBinder.createAndBindUi(this)); this.myUserInfo = myUserInfo; - + this.vreSource.setVisible(false); this.myFeed = myFeed; isAppFeed = myFeed.getFeed().isApplicationFeed(); Feed feed = myFeed.getFeed(); @@ -126,14 +128,14 @@ public class TweetTemplate extends Composite { this.eventBus = eventBus; this.isUsers = myFeed.isUsers(); myComments = new ArrayList(); - + if (isUsers || myUserInfo.isAdmin()) { closeImage.setStyleName("closeImage"); closeImage.setTitle(myUserInfo.isAdmin() ? "Delete (Administrator Mode)" : "delete"); } else { closeImage.removeFromParent(); } - + openImage.setStyleName("openImage"); openImage.setTitle("Open this feed separately"); //show if the user has already liked this @@ -159,6 +161,13 @@ public class TweetTemplate extends Composite { +"?"+ Encoder.encode(GCubeSocialNetworking.USER_PROFILE_OID)+"="+ Encoder.encode(feed.getEntityId())+"\">"+feed.getFullName()+" " + feedText); + + //show the vreid iff the info is present + if (showTimelineSource && feed.getVreid() != null && feed.getVreid().compareTo("") != 0) { + this.vreSource.setVisible(true); + String vreName = feed.getVreid().substring(feed.getVreid().lastIndexOf("/")+1); + vreSource.setHTML("[" +vreName + "]"); + } } else { // messageSeparator.setVisible(false); @@ -170,7 +179,7 @@ public class TweetTemplate extends Composite { closeImage.removeFromParent(); try{ String vreName = feed.getVreid().substring(feed.getVreid().lastIndexOf("/")+1); - messageArea.setHTML(" go App [" +vreName + "]"); + messageArea.setHTML(" go App [" +vreName + "]"); } catch (Exception e) {} } @@ -222,7 +231,7 @@ public class TweetTemplate extends Composite { * @param hidden */ public TweetTemplate(UserInfo myUserInfo, EnhancedFeed feed, HandlerManager eventBus, boolean hidden) { - this(false, myUserInfo, feed, eventBus); + this(false, false, myUserInfo, feed, eventBus); contentArea.getElement().getParentElement().getParentElement().setClassName("div-table-col content hidden"); } @@ -250,22 +259,22 @@ public class TweetTemplate extends Composite { GWT.log("not belong to user"); } } - + @UiHandler("openImage") void onOpenFeedClick(ClickEvent e) { eventBus.fireEvent(new OpenFeedEvent(this)); } - - + + @UiHandler("seeMore") void onSeeMoreClick(ClickEvent e) { contentArea.setHTML(""+ - myFeed.getFeed().getFullName()+" " + myFeed.getFeed().getDescription()); - + Encoder.encode(GCubeSocialNetworking.USER_PROFILE_OID)+"="+ + Encoder.encode(myFeed.getFeed().getEntityId())+"\">"+ + myFeed.getFeed().getFullName()+" " + myFeed.getFeed().getDescription()); + seeMore.setHTML(""); } @@ -325,7 +334,7 @@ public class TweetTemplate extends Composite { Window.alert("Could not load this component: " + reason.getMessage()); } }); - + } } @@ -422,15 +431,15 @@ public class TweetTemplate extends Composite { public UserInfo getMyUserInfo() { return myUserInfo; } - + public String getMyFeedUserId() { return myFeed.getFeed().getEntityId(); } - + public String getMyFeedText() { return myFeed.getFeed().getDescription(); } - + public boolean isAppFeed() { return isAppFeed; } diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.ui.xml b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.ui.xml index 87ac851..cdad1d9 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.ui.xml +++ b/src/main/java/org/gcube/portlets/user/newsfeed/client/templates/TweetTemplate.ui.xml @@ -16,20 +16,43 @@
- - - - - - - - - - - - + + + + + + + + + + + + + + +
+ + + - + + + + - + + + + + + + + + + +
-
+
diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/server/CustomConfiguration.java b/src/main/java/org/gcube/portlets/user/newsfeed/server/CustomConfiguration.java new file mode 100644 index 0000000..f124c7e --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/newsfeed/server/CustomConfiguration.java @@ -0,0 +1,51 @@ +package org.gcube.portlets.user.newsfeed.server; +/** + * custom class to read propety file once + * @author massi + * + */ +public class CustomConfiguration { + private int refreshTime; + private String vreLabel; + private boolean showTimelineSource; + + public CustomConfiguration(int refreshTime, String vreLabel, + boolean showTimelineSource) { + super(); + this.refreshTime = refreshTime; + this.vreLabel = vreLabel; + this.showTimelineSource = showTimelineSource; + } + + public int getRefreshTime() { + return refreshTime; + } + + public void setRefreshTime(int refreshTime) { + this.refreshTime = refreshTime; + } + + public String getVreLabel() { + return vreLabel; + } + + public void setVreLabel(String vreLabel) { + this.vreLabel = vreLabel; + } + + public boolean isShowTimelineSource() { + return showTimelineSource; + } + + public void setShowTimelineSource(boolean showTimelineSource) { + this.showTimelineSource = showTimelineSource; + } + + @Override + public String toString() { + return "CustomConfiguration [refreshTime=" + refreshTime + + ", vreLabel=" + vreLabel + ", showTimelineSource=" + + showTimelineSource + "]"; + } + +} diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java b/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java index b4141b1..e5c2372 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/server/NewsServiceImpl.java @@ -64,16 +64,15 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService * */ private static final String ADMIN_ROLE = "Administrator"; - /** - * - */ + private static final String VRE_LABEL = "VRE_LABEL"; + private static final String SHOW_TIMELINE_SOURCE = "SHOW_TIMELINE_SOURCE"; + private static final String REFRESH_TIME = "REFRESH_TIME"; + private static final String SESSION_ADMIN_ATTR = "SESSION_ADMIN_ATTR"; - + private static final String USER_SETTINGS_ATTR = "USER_SETTINGS_ATTR"; /** * */ - private static final String USER_SETTINGS_ATTR = "USER_SETTINGS_ATTR"; - private DatabookStore store; private boolean withinPortal = false; @@ -98,8 +97,8 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService if (user == null) { _log.warn("USER IS NULL setting testing user and Running OUTSIDE PORTAL"); user = "test.user"; -// user = "massimiliano.assante"; -// SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube"); + user = "massimiliano.assante"; + SessionManager.getInstance().getASLSession(sessionID, user).setScope("/gcube/devVRE/testvrefolder2"); } else { withinPortal = true; @@ -129,14 +128,16 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService String accountURL = themeDisplay.getURLMyAccount().toString(); UserInfo userInfo = new UserInfo(username, fullName, thumbnailURL, user.getEmailAddress(), accountURL, true, isAdmin(), null); - UserSettings toReturn = new UserSettings(userInfo, getFeedsRefreshTimeInMillis(), session.getScopeName(), getVRELabel(), isInfrastructureScope()); + CustomConfiguration config = getUserConfiguration(); + UserSettings toReturn = new UserSettings(userInfo, config.getRefreshTime(), session.getScopeName(), config.getVreLabel(), isInfrastructureScope(), config.isShowTimelineSource()); setUserSettingsInSession(toReturn); return toReturn; } else { _log.info("Returning test USER"); + CustomConfiguration config = getUserConfiguration(); UserInfo user = new UserInfo(getASLSession().getUsername(), fullName, thumbnailURL, email, "fakeAccountUrl", true, false, null); - return new UserSettings(user, getFeedsRefreshTimeInMillis(), session.getScopeName(), getVRELabel(), isInfrastructureScope()); + return new UserSettings(user, config.getRefreshTime(), session.getScopeName(), config.getVreLabel(), isInfrastructureScope(), config.isShowTimelineSource()); } } catch (Exception e) { @@ -733,73 +734,55 @@ public class NewsServiceImpl extends RemoteServiceServlet implements NewsService } /** - * read from the property the name of the label to use for VREs/Channels - * @return the refreshingTime in milliseconds + * read from the property file in /conf the refreshing time and other configurations needed + * @return CustomConfiguration */ - private String getVRELabel() { - String toReturn = "Area"; - if (withinPortal) { - _log.info("Trying to read custom VRE Label"); - Properties props = new Properties(); - String propertyfile = ""; + private CustomConfiguration getUserConfiguration() { + CustomConfiguration toReturn = null; + _log.info("Trying to read custom config fr News Feed (REFRESH_TIME, VRE Label and show timeline source)"); + Properties props = new Properties(); + int minutes = 0; + String label = ""; + boolean showTimelineSource = true; + + String propertyfile = ""; + try { + ServletContext servletContext = getServletContext(); + String contextPath = servletContext.getRealPath(File.separator); + propertyfile = contextPath + "conf" + File.separator + "settings.properties"; + File propsFile = new File(propertyfile); + FileInputStream fis = new FileInputStream(propsFile); + props.load( fis); try { - ServletContext servletContext = getServletContext(); - String contextPath = servletContext.getRealPath(File.separator); - propertyfile = contextPath + "conf" + File.separator + "settings.properties"; - File propsFile = new File(propertyfile); - FileInputStream fis = new FileInputStream(propsFile); - props.load( fis); - - toReturn = (String) props.getProperty("CHANNEL_NAME"); - - } - //catch exception in case properties file does not exist - catch(IOException e) { - toReturn = "Area"; - _log.error("settings.properties file not found under " + propertyfile +", returning Area"); - return toReturn; - } - } - return toReturn; - } - /** - * read from the property the refreshing time - * @return the refreshingTime in milliseconds - */ - private int getFeedsRefreshTimeInMillis() { - if (withinPortal) { - _log.info("Trying to read custom REFRESH_TIME"); - Properties props = new Properties(); - int toReturn = 0; - int minutes = 0; - String propertyfile = ""; - try { - ServletContext servletContext = getServletContext(); - String contextPath = servletContext.getRealPath(File.separator); - propertyfile = contextPath + "conf" + File.separator + "settings.properties"; - File propsFile = new File(propertyfile); - FileInputStream fis = new FileInputStream(propsFile); - props.load( fis); - - minutes = Integer.parseInt(props.getProperty("REFRESH_TIME")); - toReturn = minutes*60*1000; - } - //catch exception in case properties file does not exist - catch(IOException e) { - toReturn = 300000; //5 minutes - _log.error("settings.properties file not found under " + propertyfile +", returning 5 minutes"); - return toReturn; + minutes = Integer.parseInt(props.getProperty(REFRESH_TIME)); + minutes = minutes*60*1000; } //catch exception in case the property value isNot a Number catch (ClassCastException ex) { - toReturn = 300000; //5 minutes - _log.error("REFRESH_TIME must be a number (in minutes) returning 5 minutes"); - return toReturn; + minutes = 300000; //5 minutes + _log.error(REFRESH_TIME + " must be a number (in minutes) returning 5 minutes"); } - _log.debug("Returning REFRESH_TIME in millis: " + toReturn + ", (" + minutes + " minutes)"); - return toReturn; + //the vre label + label = props.getProperty(VRE_LABEL); + try { + showTimelineSource = Boolean.parseBoolean(props.getProperty(SHOW_TIMELINE_SOURCE)); + + } + //catch exception in case the property value isNot true or false + catch (ClassCastException ex) { + showTimelineSource = true; + _log.error(showTimelineSource + " must be true or false, returning true"); + } + } - else - return 60000; //60 secs for testing + //catch exception in case properties file does not exist + catch(IOException e) { + minutes = 300000; //5 minutes + _log.error("settings.properties file not found under " + propertyfile +", returning 5 minutes"); + } + + _log.debug("Read Configuration from property file: " + toReturn); + return new CustomConfiguration(minutes, label, showTimelineSource); + } } diff --git a/src/main/java/org/gcube/portlets/user/newsfeed/shared/UserSettings.java b/src/main/java/org/gcube/portlets/user/newsfeed/shared/UserSettings.java index 13e80ab..3003ba7 100644 --- a/src/main/java/org/gcube/portlets/user/newsfeed/shared/UserSettings.java +++ b/src/main/java/org/gcube/portlets/user/newsfeed/shared/UserSettings.java @@ -9,22 +9,40 @@ public class UserSettings implements Serializable { private UserInfo userInfo; private int refreshingTimeInMillis; private String currentScope; - private String channelName; + //indicate the + private String vreLabel; + //indicate whether the webapp is running at infrasturcture level boolean isInfrastructure; + //indicate whether to indicate the feed timeline source or not (From whicn VRE/Channel this feed come from) + boolean showTimelineSourceLabel; public UserSettings() { super(); } + public UserSettings(UserInfo userInfo, int refreshingTimeInMillis, - String currentScope, String channelName, boolean isInfrastructure) { + String currentScope, String vreLabel, boolean isInfrastructure, + boolean showTimelineSourceLabel) { super(); this.userInfo = userInfo; this.refreshingTimeInMillis = refreshingTimeInMillis; this.currentScope = currentScope; - this.channelName = channelName; + this.vreLabel = vreLabel; this.isInfrastructure = isInfrastructure; + this.showTimelineSourceLabel = showTimelineSourceLabel; } + + public boolean isShowTimelineSourceLabel() { + return showTimelineSourceLabel; + } + + + public void setShowTimelineSourceLabel(boolean showTimelineSourceLabel) { + this.showTimelineSourceLabel = showTimelineSourceLabel; + } + + public UserInfo getUserInfo() { return userInfo; } @@ -50,20 +68,23 @@ public class UserSettings implements Serializable { this.isInfrastructure = isInfrastructure; } - public String getChannelName() { - return channelName; + public String getVreLabel() { + return vreLabel; } - public void setChannelName(String channelName) { - this.channelName = channelName; + public void setVreLabel(String channelName) { + this.vreLabel = channelName; } @Override public String toString() { return "UserSettings [userInfo=" + userInfo + ", refreshingTimeInMillis=" + refreshingTimeInMillis - + ", currentScope=" + currentScope + ", isInfrastructure=" - + isInfrastructure + "]"; + + ", currentScope=" + currentScope + ", vreLabel=" + vreLabel + + ", isInfrastructure=" + isInfrastructure + + ", showTimelineSourceLabel=" + showTimelineSourceLabel + "]"; } + + } diff --git a/src/main/webapp/conf/settings.properties b/src/main/webapp/conf/settings.properties index d8ee383..3e9cb8b 100644 --- a/src/main/webapp/conf/settings.properties +++ b/src/main/webapp/conf/settings.properties @@ -1,3 +1,4 @@ # Defines the News Feed refreshing time in minutes REFRESH_TIME = 3 -CHANNEL_NAME = Virtual Research Environment \ No newline at end of file +VRE_LABEL = Virtual Research Environment +SHOW_TIMELINE_SOURCE=false \ No newline at end of file