From 27359080d701d3fa2786d735c49610a6e5959b6d Mon Sep 17 00:00:00 2001 From: "massimiliano.assante" Date: Thu, 20 Dec 2012 13:14:21 +0000 Subject: [PATCH] implemented ftp upload git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/application-support-layer/applicationSupportLayerSocial@65316 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 12 +- .../social/ApplicationNewsManager.java | 171 ++++-- target/apidocs/allclasses-frame.html | 44 ++ target/apidocs/allclasses-noframe.html | 44 ++ target/apidocs/constant-values.html | 147 +++++ target/apidocs/deprecated-list.html | 147 +++++ target/apidocs/help-doc.html | 224 +++++++ target/apidocs/index-all.html | 304 ++++++++++ target/apidocs/index.html | 40 ++ .../social/ApplicationNewsManager.html | 420 ++++++++++++++ .../social/AslNotificationManager.html | 547 ++++++++++++++++++ .../social/NewsManager.html | 305 ++++++++++ .../social/NotificationManager.html | 437 ++++++++++++++ .../social/SocialPortalBridge.html | 363 ++++++++++++ .../class-use/ApplicationNewsManager.html | 145 +++++ .../class-use/AslNotificationManager.html | 145 +++++ .../social/class-use/NewsManager.html | 181 ++++++ .../social/class-use/NotificationManager.html | 181 ++++++ .../social/class-use/SocialPortalBridge.html | 189 ++++++ .../ApplicationProfileNotFoundException.html | 241 ++++++++ .../ApplicationProfileNotFoundException.html | 145 +++++ .../social/ex/package-frame.html | 33 ++ .../social/ex/package-summary.html | 158 +++++ .../social/ex/package-tree.html | 159 +++++ .../social/ex/package-use.html | 145 +++++ .../social/imageType/ImageType.html | 387 +++++++++++++ .../social/imageType/class-use/ImageType.html | 237 ++++++++ .../social/imageType/package-frame.html | 33 ++ .../social/imageType/package-summary.html | 158 +++++ .../social/imageType/package-tree.html | 157 +++++ .../social/imageType/package-use.html | 190 ++++++ .../social/package-frame.html | 50 ++ .../social/package-summary.html | 184 ++++++ .../social/package-tree.html | 163 ++++++ .../social/package-use.html | 183 ++++++ target/apidocs/overview-frame.html | 47 ++ target/apidocs/overview-summary.html | 165 ++++++ target/apidocs/overview-tree.html | 177 ++++++ target/apidocs/package-list | 3 + target/apidocs/resources/inherit.gif | Bin 0 -> 57 bytes target/apidocs/serialized-form.html | 164 ++++++ target/apidocs/stylesheet.css | 29 + .../fileSetFormatter.1259442186.tmp/INSTALL | 2 + .../INSTALL.1978364459.filtered | 2 + .../fileSetFormatter.1259442186.tmp/LICENSE | 7 + .../LICENSE.1299409633.filtered | 7 + .../MAINTAINERS | 6 + .../MAINTAINERS.206497821.filtered | 6 + .../fileSetFormatter.1259442186.tmp/README | 35 ++ .../README.2139677201.filtered | 35 ++ .../changelog.xml | 5 + .../changelog.xml.789931884.filtered | 5 + .../fileSetFormatter.2083836561.tmp/INSTALL | 2 + .../INSTALL.909492190.filtered | 2 + .../fileSetFormatter.2083836561.tmp/LICENSE | 7 + .../LICENSE.94043744.filtered | 7 + .../MAINTAINERS | 6 + .../MAINTAINERS.1398383198.filtered | 6 + .../fileSetFormatter.2083836561.tmp/README | 35 ++ .../README.662662985.filtered | 35 ++ .../changelog.xml | 5 + .../changelog.xml.962095840.filtered | 5 + .../profile.xml.1658067470.filtered | 25 + .../profile.xml.485954080.filtered | 25 + .../svnpath.txt.393524967.filtered | 1 + .../svnpath.txt.685764856.filtered | 1 + target/aslsocial-0.1.0-SNAPSHOT-javadoc.jar | Bin 0 -> 72306 bytes ...ocial-0.1.0-SNAPSHOT-servicearchive.tar.gz | Bin 0 -> 41681 bytes target/aslsocial-0.1.0-SNAPSHOT-sources.jar | Bin 0 -> 7726 bytes target/aslsocial-0.1.0-SNAPSHOT-tests.jar | Bin 0 -> 3503 bytes target/aslsocial-0.1.0-SNAPSHOT.jar | Bin 0 -> 20874 bytes .../javadoc-options-javadoc-resources.xml | 10 + target/javadoc-bundle-options/package-list | 203 +++++++ target/maven-archiver/pom.properties | 5 + .../compile/default-compile/inputFiles.lst | 7 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 1 + 77 files changed, 7708 insertions(+), 44 deletions(-) create mode 100644 target/apidocs/allclasses-frame.html create mode 100644 target/apidocs/allclasses-noframe.html create mode 100644 target/apidocs/constant-values.html create mode 100644 target/apidocs/deprecated-list.html create mode 100644 target/apidocs/help-doc.html create mode 100644 target/apidocs/index-all.html create mode 100644 target/apidocs/index.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/AslNotificationManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/NewsManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/NotificationManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/SocialPortalBridge.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/class-use/ApplicationNewsManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/class-use/AslNotificationManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NewsManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NotificationManager.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/class-use/SocialPortalBridge.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/ApplicationProfileNotFoundException.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/class-use/ApplicationProfileNotFoundException.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-frame.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-summary.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-tree.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-use.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/ImageType.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/class-use/ImageType.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-frame.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-summary.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-tree.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-use.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/package-frame.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/package-summary.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/package-tree.html create mode 100644 target/apidocs/org/gcube/applicationsupportlayer/social/package-use.html create mode 100644 target/apidocs/overview-frame.html create mode 100644 target/apidocs/overview-summary.html create mode 100644 target/apidocs/overview-tree.html create mode 100644 target/apidocs/package-list create mode 100644 target/apidocs/resources/inherit.gif create mode 100644 target/apidocs/serialized-form.html create mode 100644 target/apidocs/stylesheet.css create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL.1978364459.filtered create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE.1299409633.filtered create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS.206497821.filtered create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/README create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/README.2139677201.filtered create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml create mode 100644 target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml.789931884.filtered create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL.909492190.filtered create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE.94043744.filtered create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS.1398383198.filtered create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/README create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/README.662662985.filtered create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml create mode 100644 target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml.962095840.filtered create mode 100644 target/archive-tmp/profile.xml.1658067470.filtered create mode 100644 target/archive-tmp/profile.xml.485954080.filtered create mode 100644 target/archive-tmp/svnpath.txt.393524967.filtered create mode 100644 target/archive-tmp/svnpath.txt.685764856.filtered create mode 100644 target/aslsocial-0.1.0-SNAPSHOT-javadoc.jar create mode 100644 target/aslsocial-0.1.0-SNAPSHOT-servicearchive.tar.gz create mode 100644 target/aslsocial-0.1.0-SNAPSHOT-sources.jar create mode 100644 target/aslsocial-0.1.0-SNAPSHOT-tests.jar create mode 100644 target/aslsocial-0.1.0-SNAPSHOT.jar create mode 100644 target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml create mode 100644 target/javadoc-bundle-options/package-list create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst diff --git a/pom.xml b/pom.xml index a3bd99a..17b1ac2 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,6 @@ 1.6 1.6 - UTF-8 UTF-8 @@ -150,5 +149,16 @@ usermanagement-core 1.3.0-SNAPSHOT + + log4j + log4j + 1.2.6 + + + commons-net + commons-net + 2.0 + ftp + diff --git a/src/main/java/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.java b/src/main/java/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.java index 611c83d..a676af1 100644 --- a/src/main/java/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.java +++ b/src/main/java/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.java @@ -1,21 +1,28 @@ package org.gcube.applicationsupportlayer.social; +import java.io.BufferedInputStream; +import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.List; import java.util.UUID; -import javax.servlet.http.HttpServlet; - +import org.apache.commons.io.IOUtils; +import org.apache.commons.net.ftp.FTP; +import org.apache.commons.net.ftp.FTPClient; import org.gcube.application.framework.core.session.ASLSession; import org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException; import org.gcube.applicationsupportlayer.social.imageType.ImageType; import org.gcube.common.core.contexts.GHNContext; +import org.gcube.common.core.informationsystem.client.AtomicCondition; import org.gcube.common.core.informationsystem.client.ISClient; import org.gcube.common.core.informationsystem.client.XMLResult; import org.gcube.common.core.informationsystem.client.queries.GCUBEGenericQuery; +import org.gcube.common.core.informationsystem.client.queries.GCUBERuntimeResourceQuery; +import org.gcube.common.core.resources.GCUBERuntimeResource; import org.gcube.common.core.scope.GCUBEScope; -import org.gcube.portal.databook.shared.Application; +import org.gcube.common.core.utils.logging.GCUBEClientLog; +import org.gcube.portal.databook.shared.ApplicationProfile; import org.gcube.portal.databook.shared.Feed; import org.gcube.portal.databook.shared.FeedType; import org.gcube.portal.databook.shared.PrivacyLevel; @@ -26,68 +33,79 @@ import org.gcube.portal.databook.shared.PrivacyLevel; * @author Massimiliano Assante, ISTI-CNR * @version 0.1 Dec 2012 * - * use to share updates from within your application, the update will be published in the Users News Feed belonging to the VRE your application runs into + * use to share updates from within your applicationProfile, the update will be published in the Users News Feed belonging to the VRE your applicationProfile runs into */ public class ApplicationNewsManager extends SocialPortalBridge implements NewsManager { + static GCUBEClientLog _log = new GCUBEClientLog(ApplicationNewsManager.class); + private ApplicationProfile applicationProfile; + + /** + * the FTP Server RuntimeResource coordinates + */ + private static String RUNTIME_RESOURCE_NAME = "SocialPortalStorage"; + private static String CATEGORY_NAME = "FTPServer"; - private Application application; /** * * @param aslSession the ASLSession instance - * @param applicationClass your servlet class name will be used ad unique identifier for your application + * @param portletClassName your servlet class name will be used ad unique identifier for your applicationProfile */ public ApplicationNewsManager(ASLSession session, String portletClassName) { super(session); - this.application = getProfileFromInfrastrucure(portletClassName); + this.applicationProfile = getProfileFromInfrastrucure(portletClassName); } + + public ApplicationProfile getApplicationProfile() { + return applicationProfile; + } /** - * this method looks up the application profile among the ones available in the infrastructure - * @param applicationClass - * @return the application profile + * this method looks up the applicationProfile profile among the ones available in the infrastructure + * @param portletClassName your servlet class name will be used ad unique identifier for your applicationProfile + * @return the applicationProfile profile */ - private Application getProfileFromInfrastrucure(String portletClassName) { + private ApplicationProfile getProfileFromInfrastrucure(String portletClassName) { try { - Application toReturn = new Application(); + ApplicationProfile toReturn = new ApplicationProfile(); ISClient client = GHNContext.getImplementation(ISClient.class); GCUBEGenericQuery query = client.getQuery(GCUBEGenericQuery.class); - - + + query.setExpression("for $profile in collection('/db/Profiles/GenericResource')//Resource " + "where $profile/Profile/SecondaryType/string() eq 'ApplicationProfile' and $profile/Profile/Body/AppId/string() " + " eq '" + portletClassName + "'" + "return $profile"); - + GCUBEScope scope = aslSession.getScope(); - + List appProfile = client.execute(query, scope.getInfrastructure()); if (appProfile == null || appProfile.size() == 0) - throw new ApplicationProfileNotFoundException("Your application is not registered in the infrastructure"); + throw new ApplicationProfileNotFoundException("Your applicationProfile is not registered in the infrastructure"); else { XMLResult node = appProfile.get(0); List currValue = null; - currValue = node.evaluate("/Resource/Profile/Name/text()"); + currValue = node.evaluate("/Resource/Profile/Name/text()"); if (currValue != null && currValue.size() > 0) { toReturn.setName(currValue.get(0)); } - else throw new ApplicationProfileNotFoundException("Your application NAME was not found in the profile"); - + else throw new ApplicationProfileNotFoundException("Your applicationProfile NAME was not found in the profile"); + currValue = node.evaluate("/Resource/Profile/Description/text()"); if (currValue != null && currValue.size() > 0) { toReturn.setDescription(currValue.get(0)); } else _log.warn("No Description exists for " + toReturn.getName()); - + currValue = node.evaluate("/Resource/Profile/Body/AppId/text()"); if (currValue != null && currValue.size() > 0) { toReturn.setKey(currValue.get(0)); } - else throw new ApplicationProfileNotFoundException("Your application ID n was not found in the profile, consider adding element in "); - + else throw new ApplicationProfileNotFoundException("Your applicationProfile ID n was not found in the profile, consider adding element in "); + currValue = node.evaluate("/Resource/Profile/Body/ThumbnailURL/text()"); if (currValue != null && currValue.size() > 0) { toReturn.setImageUrl(currValue.get(0)); } - else throw new ApplicationProfileNotFoundException("Your application Image Url was not found in the profile, consider adding element in "); + else throw new ApplicationProfileNotFoundException("Your applicationProfile Image Url was not found in the profile, consider adding element in "); currValue = node.evaluate("/Resource/Profile/Body/EndPoint/Scope/text()"); if (currValue != null && currValue.size() > 0) { List scopes = currValue; @@ -101,14 +119,14 @@ public class ApplicationNewsManager extends SocialPortalBridge implements NewsMa } } if (! foundUrl) - throw new ApplicationProfileNotFoundException("Your application URL was not found in the profile for Scope: " + scope.toString()); + throw new ApplicationProfileNotFoundException("Your applicationProfile URL was not found in the profile for Scope: " + scope.toString()); } - else throw new ApplicationProfileNotFoundException("Your application EndPoint was not found in the profile, consider adding element in "); + else throw new ApplicationProfileNotFoundException("Your applicationProfile EndPoint was not found in the profile, consider adding element in "); return toReturn; } - + } catch (Exception e) { - _log.error("Error while trying to fetch application profile from the infrastructure"); + _log.error("Error while trying to fetch applicationProfile profile from the infrastructure"); e.printStackTrace(); return null; } @@ -136,10 +154,18 @@ public class ApplicationNewsManager extends SocialPortalBridge implements NewsMa return getStoreInstance().saveAppFeed(buildFeed(feedText, uriParams, previewTitle, previewDescription, previewThumbnailUrl)); } /** - * buid a an Application Feed + * {@inheritDoc} + */ + @Override + public boolean shareApplicationUpdate(String feedText, String uriParams, String previewTitle, String previewDescription, InputStream previewThumbnailInputStream, ImageType imageExtension) { + String httpImageUrl = uploadImageOnFTPServer(previewThumbnailInputStream, imageExtension); + return shareApplicationUpdate(feedText, uriParams, previewTitle, previewDescription, httpImageUrl); + } + /** + * buid a an ApplicationProfile Feed * * @param description add a description for the update you are sharing - * @param uriParams the additional parameteres your application needs to open the subject of this update e.g. id=12345&type=foo + * @param uriParams the additional parameteres your applicationProfile needs to open the subject of this update e.g. id=12345&type=foo * @param previewTitle the title to show in the preview * @param previewDescription the description to show in the preview * @param previewThumbnailUrl the image url to show in the preview @@ -147,8 +173,8 @@ public class ApplicationNewsManager extends SocialPortalBridge implements NewsMa */ private Feed buildFeed(String description, String uriParams, String previewTitle, String previewDescription, String previewThumbnailUrl) { String descToAdd = escapeHtml(description); - - String uri = application.getUrl(); + + String uri = applicationProfile.getUrl(); //add the GET params if necessary if (uriParams != null && uriParams.compareTo("") != 0) uri += "?"+uriParams; @@ -158,27 +184,86 @@ public class ApplicationNewsManager extends SocialPortalBridge implements NewsMa Feed toReturn = new Feed( UUID.randomUUID().toString(), FeedType.PUBLISH, - application.getKey(), + applicationProfile.getKey(), new Date(), scope, uri, previewThumbnailUrl, descToAdd, PrivacyLevel.SINGLE_VRE, - application.getName(), + applicationProfile.getName(), "no-email", - application.getImageUrl(), + applicationProfile.getImageUrl(), previewTitle, previewDescription, "", true); return toReturn; - } - @Override - public boolean shareApplicationUpdate(String feedtext, String uriGETparams, - String previewTitle, String previewDescription, - InputStream previewThumbnailInputStream, ImageType imageExtension) { - // TODO Auto-generated method stub - return false; - } + } + /** + * + * @param previewThumbnailInputStream . + * @param imageExtension . + * @return the http url of the image uploaded on the ftp server + */ + private String uploadImageOnFTPServer(InputStream previewThumbnailInputStream, ImageType imageExtension) { + FTPClient client = new FTPClient( ); + InputStream inputStream = previewThumbnailInputStream; + + String ftpUrl = ""; + String user = ""; + String pwd = ""; + String httpBaseURL = ""; + String fileName = UUID.randomUUID() + imageExtension.toString().toLowerCase(); + try { + GCUBERuntimeResource res = getConfigurationFromIS(); + ftpUrl = res.getAccessPoints().get(0).getEndpoint(); + httpBaseURL = res.getHostedOn(); + user = res.getAccessPoints().get(0).getUsername(); + pwd = res.getAccessPoints().get(0).getPassword(); + + // Connect to the FTP server as anonymous + client.connect(ftpUrl); + client.login(user, pwd); + + client.setFileType(FTP.BINARY_FILE_TYPE); + client.enterLocalPassiveMode(); + + BufferedInputStream bis = new BufferedInputStream(inputStream); + client.storeFile(fileName, bis); + bis.close(); + client.logout(); + } catch(IOException ioe) { + ioe.printStackTrace(); + _log.error( "Error communicating with FTP server." ); + } catch (Exception e) { + _log.error( "Probably sth wrong in fetching FTP Server RuntimeResource from IS" ); + e.printStackTrace(); + } finally { + IOUtils.closeQuietly( inputStream ); + try { + client.disconnect( ); + } catch (IOException e) { + _log.error( "Problem disconnecting from FTP server" ); + } + } + StringBuilder sb = new StringBuilder().append(httpBaseURL).append(fileName); + _log.info( "Uploaded file FTP server: http url: " + sb ); + return sb.toString(); + } + + /** + * + * @return the runtime resource of the FTP Server node + * @throws Exception + */ + private GCUBERuntimeResource getConfigurationFromIS() throws Exception { + ISClient client = GHNContext.getImplementation(ISClient.class); + GHNContext ctx = GHNContext.getContext(); + String scope = "/" + (String) ctx.getProperty(GHNContext.INFRASTRUCTURE_NAME, true); + GCUBERuntimeResourceQuery query = client.getQuery(GCUBERuntimeResourceQuery.class); + query.addAtomicConditions(new AtomicCondition("/Profile/Name", RUNTIME_RESOURCE_NAME)); + query.addAtomicConditions(new AtomicCondition("/Profile/Category", CATEGORY_NAME)); + return client.execute(query, GCUBEScope.getScope(scope)).get(0); + } } diff --git a/target/apidocs/allclasses-frame.html b/target/apidocs/allclasses-frame.html new file mode 100644 index 0000000..ece1232 --- /dev/null +++ b/target/apidocs/allclasses-frame.html @@ -0,0 +1,44 @@ + + + + + + + +All Classes (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + +All Classes +
+ + + + + +
ApplicationNewsManager +
+ApplicationProfileNotFoundException +
+AslNotificationManager +
+ImageType +
+NewsManager +
+NotificationManager +
+SocialPortalBridge +
+
+ + + diff --git a/target/apidocs/allclasses-noframe.html b/target/apidocs/allclasses-noframe.html new file mode 100644 index 0000000..acd76d6 --- /dev/null +++ b/target/apidocs/allclasses-noframe.html @@ -0,0 +1,44 @@ + + + + + + + +All Classes (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + +All Classes +
+ + + + + +
ApplicationNewsManager +
+ApplicationProfileNotFoundException +
+AslNotificationManager +
+ImageType +
+NewsManager +
+NotificationManager +
+SocialPortalBridge +
+
+ + + diff --git a/target/apidocs/constant-values.html b/target/apidocs/constant-values.html new file mode 100644 index 0000000..e13265f --- /dev/null +++ b/target/apidocs/constant-values.html @@ -0,0 +1,147 @@ + + + + + + + +Constant Field Values (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Constant Field Values

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/deprecated-list.html b/target/apidocs/deprecated-list.html new file mode 100644 index 0000000..17b9bf9 --- /dev/null +++ b/target/apidocs/deprecated-list.html @@ -0,0 +1,147 @@ + + + + + + + +Deprecated List (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Deprecated API

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/help-doc.html b/target/apidocs/help-doc.html new file mode 100644 index 0000000..ce3ac2f --- /dev/null +++ b/target/apidocs/help-doc.html @@ -0,0 +1,224 @@ + + + + + + + +API Help (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
+
+

+Class/Interface

+
+ +

+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+ +

+Annotation Type

+
+ +

+Each annotation type has its own separate page with the following sections:

    +
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
+
+ +

+Enum

+
+ +

+Each enum has its own separate page with the following sections:

    +
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
+
+

+Use

+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+

+Constant Field Values

+The Constant Field Values page lists the static final fields and their values. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/index-all.html b/target/apidocs/index-all.html new file mode 100644 index 0000000..0dc2d7b --- /dev/null +++ b/target/apidocs/index-all.html @@ -0,0 +1,304 @@ + + + + + + + +Index (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +A E G I N O S V _
+

+A

+
+
ApplicationNewsManager - Class in org.gcube.applicationsupportlayer.social
 
ApplicationNewsManager(ASLSession, String) - +Constructor for class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
  +
ApplicationProfileNotFoundException - Exception in org.gcube.applicationsupportlayer.social.ex
 
ApplicationProfileNotFoundException(String) - +Constructor for exception org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException +
  +
AslNotificationManager - Class in org.gcube.applicationsupportlayer.social
 
AslNotificationManager(ASLSession) - +Constructor for class org.gcube.applicationsupportlayer.social.AslNotificationManager +
  +
aslSession - +Variable in class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
  +
+
+

+E

+
+
escapeHtml(String) - +Method in class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
Escape an html string. +
+
+

+G

+
+
getApplicationProfile() - +Method in class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
  +
getScopeByOrganizationId(String) - +Method in class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
  +
getStoreInstance() - +Static method in class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
  +
+
+

+I

+
+
ImageType - Enum in org.gcube.applicationsupportlayer.social.imageType
 
+
+

+N

+
+
NewsManager - Interface in org.gcube.applicationsupportlayer.social
 
NotificationManager - Interface in org.gcube.applicationsupportlayer.social
 
notifyAddedItem(String, WorkspaceItem) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user he got a workspace item new in some of his workspace shared folder +
notifyAddedItem(String, WorkspaceItem) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user he got a workspace item new in some of his workspace shared folder +
notifyCommentReply(String, Comment) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user that commented on a feed (Not his) that someone commented too +
notifyCommentReply(String, Comment) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user that commented on a feed (Not his) that someone commented too +
notifyFolderAddedUser(String, WorkspaceFolder, String) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user that a new user was added in on of his workspace shared folder +
notifyFolderAddedUser(String, WorkspaceFolder, String) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user that a new user was added in on of his workspace shared folder +
notifyFolderRemovedUser(String, WorkspaceFolder, String) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user that an existing user was removed from one of his workspace shared folder +
notifyFolderRemovedUser(String, WorkspaceFolder, String) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user that an existing user was removed from one of his workspace shared folder +
notifyFolderSharing(String, WorkspaceFolder) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user he got a workspace folder shared +
notifyFolderSharing(String, WorkspaceFolder) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user he got a workspace folder shared +
notifyLikedFeed(String, Feed) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user he got one of his feed liked +
notifyLikedFeed(String, Feed) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user he got one of his feed liked +
notifyMessageReceived(String, WorkspaceMessage) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
+
notifyMessageReceived(String, WorkspaceMessage) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
  +
notifyOwnCommentReply(String, Comment) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
+
notifyOwnCommentReply(String, Comment) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
  +
notifyRemovedItem(String, WorkspaceItem) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user he got a workspace item deleted from one of his workspace shared folder +
notifyRemovedItem(String, WorkspaceItem) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user he got a workspace item deleted from one of his workspace shared folder +
notifyUpdatedItem(String, WorkspaceItem) - +Method in class org.gcube.applicationsupportlayer.social.AslNotificationManager +
use to notify a user he got a workspace item updated from one of his workspace shared folder +
notifyUpdatedItem(String, WorkspaceItem) - +Method in interface org.gcube.applicationsupportlayer.social.NotificationManager +
use to notify a user he got a workspace item updated from one of his workspace shared folder +
+
+

+O

+
+
org.gcube.applicationsupportlayer.social - package org.gcube.applicationsupportlayer.social
 
org.gcube.applicationsupportlayer.social.ex - package org.gcube.applicationsupportlayer.social.ex
 
org.gcube.applicationsupportlayer.social.imageType - package org.gcube.applicationsupportlayer.social.imageType
 
+
+

+S

+
+
shareApplicationUpdate(String) - +Method in class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
use to share an update from your application +
shareApplicationUpdate(String, String) - +Method in class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
use to share an update from your application with a reference to the news object +
shareApplicationUpdate(String, String, String, String, String) - +Method in class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
use to share an update from your application with a reference to the news object and with a link preview +
shareApplicationUpdate(String, String, String, String, InputStream, ImageType) - +Method in class org.gcube.applicationsupportlayer.social.ApplicationNewsManager +
  +
shareApplicationUpdate(String) - +Method in interface org.gcube.applicationsupportlayer.social.NewsManager +
use to share an update from your application +
shareApplicationUpdate(String, String) - +Method in interface org.gcube.applicationsupportlayer.social.NewsManager +
use to share an update from your application with a reference to the news object +
shareApplicationUpdate(String, String, String, String, String) - +Method in interface org.gcube.applicationsupportlayer.social.NewsManager +
use to share an update from your application with a reference to the news object and with a link preview +
shareApplicationUpdate(String, String, String, String, InputStream, ImageType) - +Method in interface org.gcube.applicationsupportlayer.social.NewsManager +
use to share an update from your application with a reference to the news object and with a link preview passing its input stream +
SocialPortalBridge - Class in org.gcube.applicationsupportlayer.social
 
SocialPortalBridge(ASLSession) - +Constructor for class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
  +
+
+

+V

+
+
valueOf(String) - +Static method in enum org.gcube.applicationsupportlayer.social.imageType.ImageType +
Returns the enum constant of this type with the specified name. +
values() - +Static method in enum org.gcube.applicationsupportlayer.social.imageType.ImageType +
Returns an array containing the constants of this enum type, in +the order they are declared. +
+
+

+_

+
+
_log - +Static variable in class org.gcube.applicationsupportlayer.social.SocialPortalBridge +
  +
+
+A E G I N O S V _ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/index.html b/target/apidocs/index.html new file mode 100644 index 0000000..e306302 --- /dev/null +++ b/target/apidocs/index.html @@ -0,0 +1,40 @@ + + + + + + + +Social Portal ASL Extension 0.1.0-SNAPSHOT API + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.html new file mode 100644 index 0000000..a873173 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.html @@ -0,0 +1,420 @@ + + + + + + + +ApplicationNewsManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social +
+Class ApplicationNewsManager

+
+java.lang.Object
+  extended by org.gcube.applicationsupportlayer.social.SocialPortalBridge
+      extended by org.gcube.applicationsupportlayer.social.ApplicationNewsManager
+
+
+
All Implemented Interfaces:
NewsManager
+
+
+
+
public class ApplicationNewsManager
extends SocialPortalBridge
implements NewsManager
+ + +

+

+
Version:
+
0.1 Dec 2012 + + use to share updates from within your application, the update will be published in the Users News Feed belonging to the VRE your application runs into
+
Author:
+
Massimiliano Assante, ISTI-CNR
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.gcube.applicationsupportlayer.social.SocialPortalBridge
_log, aslSession
+  + + + + + + + + + + +
+Constructor Summary
ApplicationNewsManager(org.gcube.application.framework.core.session.ASLSession session, + String portletClassName) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ org.gcube.portal.databook.shared.ApplicationgetApplicationProfile() + +
+           
+ booleanshareApplicationUpdate(String feedText) + +
+          use to share an update from your application
+ booleanshareApplicationUpdate(String feedText, + String uriParams) + +
+          use to share an update from your application with a reference to the news object
+ booleanshareApplicationUpdate(String feedtext, + String uriGETparams, + String previewTitle, + String previewDescription, + InputStream previewThumbnailInputStream, + ImageType imageExtension) + +
+          use to share an update from your application with a reference to the news object and with a link preview passing its input stream
+ booleanshareApplicationUpdate(String feedText, + String uriParams, + String previewTitle, + String previewDescription, + String previewThumbnailUrl) + +
+          use to share an update from your application with a reference to the news object and with a link preview
+ + + + + + + +
Methods inherited from class org.gcube.applicationsupportlayer.social.SocialPortalBridge
escapeHtml, getScopeByOrganizationId, getStoreInstance
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ApplicationNewsManager

+
+public ApplicationNewsManager(org.gcube.application.framework.core.session.ASLSession session,
+                              String portletClassName)
+
+
+
Parameters:
aslSession - the ASLSession instance
applicationClass - your servlet class name will be used ad unique identifier for your application
+
+ + + + + + + + +
+Method Detail
+ +

+getApplicationProfile

+
+public org.gcube.portal.databook.shared.Application getApplicationProfile()
+
+
+
+
+
+
+
+
+
+ +

+shareApplicationUpdate

+
+public boolean shareApplicationUpdate(String feedText)
+
+
use to share an update from your application +

+

+
Specified by:
shareApplicationUpdate in interface NewsManager
+
+
+
Parameters:
feedText - add a description for the update you are sharing +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+public boolean shareApplicationUpdate(String feedText,
+                                      String uriParams)
+
+
use to share an update from your application with a reference to the news object +

+

+
Specified by:
shareApplicationUpdate in interface NewsManager
+
+
+
Parameters:
feedText - description for the update you are sharing
uriParams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+public boolean shareApplicationUpdate(String feedText,
+                                      String uriParams,
+                                      String previewTitle,
+                                      String previewDescription,
+                                      String previewThumbnailUrl)
+
+
use to share an update from your application with a reference to the news object and with a link preview +

+

+
Specified by:
shareApplicationUpdate in interface NewsManager
+
+
+
Parameters:
feedText - add a description for the update you are sharing
uriParams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo
previewTitle - the title to show in the preview
previewDescription - the description to show in the preview
previewThumbnailUrl - the image url to show in the preview +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+public boolean shareApplicationUpdate(String feedtext,
+                                      String uriGETparams,
+                                      String previewTitle,
+                                      String previewDescription,
+                                      InputStream previewThumbnailInputStream,
+                                      ImageType imageExtension)
+
+
Description copied from interface: NewsManager
+
use to share an update from your application with a reference to the news object and with a link preview passing its input stream +

+

+
Specified by:
shareApplicationUpdate in interface NewsManager
+
+
+
Parameters:
feedtext - add a description for the update you are sharing
uriGETparams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo
previewTitle - the title to show in the preview
previewDescription - the description to show in the preview
previewThumbnailInputStream - the image url Input Stream to show in the preview
imageExtension - the image Extension +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/AslNotificationManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/AslNotificationManager.html new file mode 100644 index 0000000..6b01067 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/AslNotificationManager.html @@ -0,0 +1,547 @@ + + + + + + + +AslNotificationManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social +
+Class AslNotificationManager

+
+java.lang.Object
+  extended by org.gcube.applicationsupportlayer.social.SocialPortalBridge
+      extended by org.gcube.applicationsupportlayer.social.AslNotificationManager
+
+
+
All Implemented Interfaces:
NotificationManager
+
+
+
+
public class AslNotificationManager
extends SocialPortalBridge
implements NotificationManager
+ + +

+

+
Version:
+
0.1 Dec 2012 + + use to notify users from within your application
+
Author:
+
Massimiliano Assante, ISTI-CNR
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.gcube.applicationsupportlayer.social.SocialPortalBridge
_log, aslSession
+  + + + + + + + + + + +
+Constructor Summary
AslNotificationManager(org.gcube.application.framework.core.session.ASLSession session) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleannotifyAddedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem newItem) + +
+          use to notify a user he got a workspace item new in some of his workspace shared folder
+ booleannotifyCommentReply(String userIdToNotify, + org.gcube.portal.databook.shared.Comment comment) + +
+          use to notify a user that commented on a feed (Not his) that someone commented too
+ booleannotifyFolderAddedUser(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder, + String newAddedUserId) + +
+          use to notify a user that a new user was added in on of his workspace shared folder
+ booleannotifyFolderRemovedUser(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder, + String removedUserId) + +
+          use to notify a user that an existing user was removed from one of his workspace shared folder
+ booleannotifyFolderSharing(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder) + +
+          use to notify a user he got a workspace folder shared
+ booleannotifyLikedFeed(String userIdToNotify, + org.gcube.portal.databook.shared.Feed likedFeed) + +
+          use to notify a user he got one of his feed liked
+ booleannotifyMessageReceived(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.sharing.WorkspaceMessage message) + +
+          
+ booleannotifyOwnCommentReply(String userIdToNotify, + org.gcube.portal.databook.shared.Comment comment) + +
+          
+ booleannotifyRemovedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem removedItem) + +
+          use to notify a user he got a workspace item deleted from one of his workspace shared folder
+ booleannotifyUpdatedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem updatedItem) + +
+          use to notify a user he got a workspace item updated from one of his workspace shared folder
+ + + + + + + +
Methods inherited from class org.gcube.applicationsupportlayer.social.SocialPortalBridge
escapeHtml, getScopeByOrganizationId, getStoreInstance
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+AslNotificationManager

+
+public AslNotificationManager(org.gcube.application.framework.core.session.ASLSession session)
+
+
+ + + + + + + + +
+Method Detail
+ +

+notifyFolderSharing

+
+public boolean notifyFolderSharing(String userIdToNotify,
+                                   org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder)
+
+
use to notify a user he got a workspace folder shared +

+

+
Specified by:
notifyFolderSharing in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyFolderAddedUser

+
+public boolean notifyFolderAddedUser(String userIdToNotify,
+                                     org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder,
+                                     String newAddedUserId)
+
+
use to notify a user that a new user was added in on of his workspace shared folder +

+

+
Specified by:
notifyFolderAddedUser in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder
newAddedUserId - the new user that was added +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyFolderRemovedUser

+
+public boolean notifyFolderRemovedUser(String userIdToNotify,
+                                       org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder,
+                                       String removedUserId)
+
+
use to notify a user that an existing user was removed from one of his workspace shared folder +

+

+
Specified by:
notifyFolderRemovedUser in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder
removedUserId - the new user that was removed +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyAddedItem

+
+public boolean notifyAddedItem(String userIdToNotify,
+                               org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem newItem)
+
+
use to notify a user he got a workspace item new in some of his workspace shared folder +

+

+
Specified by:
notifyAddedItem in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
newItem - the new shared WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyRemovedItem

+
+public boolean notifyRemovedItem(String userIdToNotify,
+                                 org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem removedItem)
+
+
use to notify a user he got a workspace item deleted from one of his workspace shared folder +

+

+
Specified by:
notifyRemovedItem in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
removedItem - the removed WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyUpdatedItem

+
+public boolean notifyUpdatedItem(String userIdToNotify,
+                                 org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem updatedItem)
+
+
use to notify a user he got a workspace item updated from one of his workspace shared folder +

+

+
Specified by:
notifyUpdatedItem in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
updatedItem - the updated shared WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyMessageReceived

+
+public boolean notifyMessageReceived(String userIdToNotify,
+                                     org.gcube.portlets.user.homelibrary.home.workspace.sharing.WorkspaceMessage message)
+
+
+

+

+
Specified by:
notifyMessageReceived in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
message - the WorkspaceMessage sent +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyOwnCommentReply

+
+public boolean notifyOwnCommentReply(String userIdToNotify,
+                                     org.gcube.portal.databook.shared.Comment comment)
+
+
+

+

+
Specified by:
notifyOwnCommentReply in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
comment - the Comment instance to which someone replied to +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyCommentReply

+
+public boolean notifyCommentReply(String userIdToNotify,
+                                  org.gcube.portal.databook.shared.Comment comment)
+
+
use to notify a user that commented on a feed (Not his) that someone commented too +

+

+
Specified by:
notifyCommentReply in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
comment - the Comment instance to which someone replied to +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyLikedFeed

+
+public boolean notifyLikedFeed(String userIdToNotify,
+                               org.gcube.portal.databook.shared.Feed likedFeed)
+
+
use to notify a user he got one of his feed liked +

+

+
Specified by:
notifyLikedFeed in interface NotificationManager
+
+
+
Parameters:
userIdToNotify - the user you want to notify
likedFeed - the Feed instance someone liked +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/NewsManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/NewsManager.html new file mode 100644 index 0000000..b8348d8 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/NewsManager.html @@ -0,0 +1,305 @@ + + + + + + + +NewsManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social +
+Interface NewsManager

+
+
All Known Implementing Classes:
ApplicationNewsManager
+
+
+
+
public interface NewsManager
+ + +

+

+
Version:
+
0.1 Dec 2012
+
Author:
+
Massimiliano Assante, ISTI-CNR
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanshareApplicationUpdate(String feedtext) + +
+          use to share an update from your application
+ booleanshareApplicationUpdate(String feedtext, + String uriGETparams) + +
+          use to share an update from your application with a reference to the news object
+ booleanshareApplicationUpdate(String feedtext, + String uriGETparams, + String previewTitle, + String previewDescription, + InputStream previewThumbnailInputStream, + ImageType imageExtension) + +
+          use to share an update from your application with a reference to the news object and with a link preview passing its input stream
+ booleanshareApplicationUpdate(String feedtext, + String uriGETparams, + String previewTitle, + String previewDescription, + String previewThumbnailUrl) + +
+          use to share an update from your application with a reference to the news object and with a link preview
+  +

+ + + + + + + + +
+Method Detail
+ +

+shareApplicationUpdate

+
+boolean shareApplicationUpdate(String feedtext)
+
+
use to share an update from your application +

+

+
Parameters:
feedtext - add a description for the update you are sharing +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+boolean shareApplicationUpdate(String feedtext,
+                               String uriGETparams)
+
+
use to share an update from your application with a reference to the news object +

+

+
Parameters:
feedtext - description for the update you are sharing
uriGETparams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+boolean shareApplicationUpdate(String feedtext,
+                               String uriGETparams,
+                               String previewTitle,
+                               String previewDescription,
+                               String previewThumbnailUrl)
+
+
use to share an update from your application with a reference to the news object and with a link preview +

+

+
Parameters:
feedtext - add a description for the update you are sharing
uriGETparams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo
previewTitle - the title to show in the preview
previewDescription - the description to show in the preview
previewThumbnailUrl - the image url to show in the preview +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+
+ +

+shareApplicationUpdate

+
+boolean shareApplicationUpdate(String feedtext,
+                               String uriGETparams,
+                               String previewTitle,
+                               String previewDescription,
+                               InputStream previewThumbnailInputStream,
+                               ImageType imageExtension)
+
+
use to share an update from your application with a reference to the news object and with a link preview passing its input stream +

+

+
Parameters:
feedtext - add a description for the update you are sharing
uriGETparams - additional parameters if your application supports the direct opening of of this update's object e.g. id=12345&type=foo
previewTitle - the title to show in the preview
previewDescription - the description to show in the preview
previewThumbnailInputStream - the image url Input Stream to show in the preview
imageExtension - the image Extension +
Returns:
true if the update is correctly delivered, false otherwise
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/NotificationManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/NotificationManager.html new file mode 100644 index 0000000..e663c28 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/NotificationManager.html @@ -0,0 +1,437 @@ + + + + + + + +NotificationManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social +
+Interface NotificationManager

+
+
All Known Implementing Classes:
AslNotificationManager
+
+
+
+
public interface NotificationManager
+ + +

+

+
Version:
+
0.1 Dec 2012
+
Author:
+
Massimiliano Assante, ISTI-CNR
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleannotifyAddedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem newItem) + +
+          use to notify a user he got a workspace item new in some of his workspace shared folder
+ booleannotifyCommentReply(String userIdToNotify, + org.gcube.portal.databook.shared.Comment comment) + +
+          use to notify a user that commented on a feed (Not his) that someone commented too
+ booleannotifyFolderAddedUser(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder, + String newAddedUserId) + +
+          use to notify a user that a new user was added in on of his workspace shared folder
+ booleannotifyFolderRemovedUser(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder, + String removedUserId) + +
+          use to notify a user that an existing user was removed from one of his workspace shared folder
+ booleannotifyFolderSharing(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder) + +
+          use to notify a user he got a workspace folder shared
+ booleannotifyLikedFeed(String userIdToNotify, + org.gcube.portal.databook.shared.Feed likedFeed) + +
+          use to notify a user he got one of his feed liked
+ booleannotifyMessageReceived(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.sharing.WorkspaceMessage message) + +
+           
+ booleannotifyOwnCommentReply(String userIdToNotify, + org.gcube.portal.databook.shared.Comment comment) + +
+           
+ booleannotifyRemovedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem removedItem) + +
+          use to notify a user he got a workspace item deleted from one of his workspace shared folder
+ booleannotifyUpdatedItem(String userIdToNotify, + org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem updatedItem) + +
+          use to notify a user he got a workspace item updated from one of his workspace shared folder
+  +

+ + + + + + + + +
+Method Detail
+ +

+notifyFolderSharing

+
+boolean notifyFolderSharing(String userIdToNotify,
+                            org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder)
+
+
use to notify a user he got a workspace folder shared +

+

+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyFolderAddedUser

+
+boolean notifyFolderAddedUser(String userIdToNotify,
+                              org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder,
+                              String newAddedUserId)
+
+
use to notify a user that a new user was added in on of his workspace shared folder +

+

+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder
newAddedUserId - the new user that was added +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyFolderRemovedUser

+
+boolean notifyFolderRemovedUser(String userIdToNotify,
+                                org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceFolder sharedFolder,
+                                String removedUserId)
+
+
use to notify a user that an existing user was removed from one of his workspace shared folder +

+

+
Parameters:
userIdToNotify - the user you want to notify
sharedFolder - the shared WorkspaceFolder
removedUserId - the new user that was removed +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyAddedItem

+
+boolean notifyAddedItem(String userIdToNotify,
+                        org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem newItem)
+
+
use to notify a user he got a workspace item new in some of his workspace shared folder +

+

+
Parameters:
userIdToNotify - the user you want to notify
newItem - the new shared WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyRemovedItem

+
+boolean notifyRemovedItem(String userIdToNotify,
+                          org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem removedItem)
+
+
use to notify a user he got a workspace item deleted from one of his workspace shared folder +

+

+
Parameters:
userIdToNotify - the user you want to notify
removedItem - the removed WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyUpdatedItem

+
+boolean notifyUpdatedItem(String userIdToNotify,
+                          org.gcube.portlets.user.homelibrary.home.workspace.WorkspaceItem updatedItem)
+
+
use to notify a user he got a workspace item updated from one of his workspace shared folder +

+

+
Parameters:
userIdToNotify - the user you want to notify
updatedItem - the updated shared WorkspaceItem +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyMessageReceived

+
+boolean notifyMessageReceived(String userIdToNotify,
+                              org.gcube.portlets.user.homelibrary.home.workspace.sharing.WorkspaceMessage message)
+
+
+
Parameters:
userIdToNotify - the user you want to notify
message - the WorkspaceMessage sent +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyOwnCommentReply

+
+boolean notifyOwnCommentReply(String userIdToNotify,
+                              org.gcube.portal.databook.shared.Comment comment)
+
+
+
Parameters:
userIdToNotify - the user you want to notify
comment - the Comment instance to which someone replied to +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyCommentReply

+
+boolean notifyCommentReply(String userIdToNotify,
+                           org.gcube.portal.databook.shared.Comment comment)
+
+
use to notify a user that commented on a feed (Not his) that someone commented too +

+

+
Parameters:
userIdToNotify - the user you want to notify
comment - the Comment instance to which someone replied to +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+
+ +

+notifyLikedFeed

+
+boolean notifyLikedFeed(String userIdToNotify,
+                        org.gcube.portal.databook.shared.Feed likedFeed)
+
+
use to notify a user he got one of his feed liked +

+

+
Parameters:
userIdToNotify - the user you want to notify
likedFeed - the Feed instance someone liked +
Returns:
true if the notification is correctly delivered, false otherwise
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/SocialPortalBridge.html b/target/apidocs/org/gcube/applicationsupportlayer/social/SocialPortalBridge.html new file mode 100644 index 0000000..e094312 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/SocialPortalBridge.html @@ -0,0 +1,363 @@ + + + + + + + +SocialPortalBridge (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social +
+Class SocialPortalBridge

+
+java.lang.Object
+  extended by org.gcube.applicationsupportlayer.social.SocialPortalBridge
+
+
+
Direct Known Subclasses:
ApplicationNewsManager, AslNotificationManager
+
+
+
+
public abstract class SocialPortalBridge
extends Object
+ + +

+

+
Version:
+
0.1 Dec 2012 + + superclass for social portal bridge
+
Author:
+
Massimiliano Assante, ISTI-CNR
+
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+protected static org.gcube.common.core.utils.logging.GCUBEClientLog_log + +
+           
+protected  org.gcube.application.framework.core.session.ASLSessionaslSession + +
+           
+  + + + + + + + + + + +
+Constructor Summary
SocialPortalBridge(org.gcube.application.framework.core.session.ASLSession session) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  StringescapeHtml(String html) + +
+          Escape an html string.
+protected  StringgetScopeByOrganizationId(String vreid) + +
+           
+static org.gcube.portal.databook.server.DatabookStoregetStoreInstance() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+_log

+
+protected static org.gcube.common.core.utils.logging.GCUBEClientLog _log
+
+
+
+
+
+ +

+aslSession

+
+protected org.gcube.application.framework.core.session.ASLSession aslSession
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+SocialPortalBridge

+
+public SocialPortalBridge(org.gcube.application.framework.core.session.ASLSession session)
+
+
+
Parameters:
session -
+
+ + + + + + + + +
+Method Detail
+ +

+getStoreInstance

+
+public static org.gcube.portal.databook.server.DatabookStore getStoreInstance()
+
+
+ +
Returns:
the unique instance of the store
+
+
+
+ +

+getScopeByOrganizationId

+
+protected String getScopeByOrganizationId(String vreid)
+
+
+
+
+
+
+ +

+escapeHtml

+
+protected String escapeHtml(String html)
+
+
Escape an html string. Escaping data received from the client helps to + prevent cross-site script vulnerabilities. +

+

+
Parameters:
html - the html string to escape +
Returns:
the escaped string
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/ApplicationNewsManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/ApplicationNewsManager.html new file mode 100644 index 0000000..e616348 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/ApplicationNewsManager.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.gcube.applicationsupportlayer.social.ApplicationNewsManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.gcube.applicationsupportlayer.social.ApplicationNewsManager

+
+No usage of org.gcube.applicationsupportlayer.social.ApplicationNewsManager +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/AslNotificationManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/AslNotificationManager.html new file mode 100644 index 0000000..5b46e4c --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/AslNotificationManager.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.gcube.applicationsupportlayer.social.AslNotificationManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.gcube.applicationsupportlayer.social.AslNotificationManager

+
+No usage of org.gcube.applicationsupportlayer.social.AslNotificationManager +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NewsManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NewsManager.html new file mode 100644 index 0000000..77ccd03 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NewsManager.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Interface org.gcube.applicationsupportlayer.social.NewsManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.gcube.applicationsupportlayer.social.NewsManager

+
+ + + + + + + + + +
+Packages that use NewsManager
org.gcube.applicationsupportlayer.social  
+  +

+ + + + + +
+Uses of NewsManager in org.gcube.applicationsupportlayer.social
+  +

+ + + + + + + + + +
Classes in org.gcube.applicationsupportlayer.social that implement NewsManager
+ classApplicationNewsManager + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NotificationManager.html b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NotificationManager.html new file mode 100644 index 0000000..7c985f6 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/NotificationManager.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Interface org.gcube.applicationsupportlayer.social.NotificationManager (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.gcube.applicationsupportlayer.social.NotificationManager

+
+ + + + + + + + + +
+Packages that use NotificationManager
org.gcube.applicationsupportlayer.social  
+  +

+ + + + + +
+Uses of NotificationManager in org.gcube.applicationsupportlayer.social
+  +

+ + + + + + + + + +
Classes in org.gcube.applicationsupportlayer.social that implement NotificationManager
+ classAslNotificationManager + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/SocialPortalBridge.html b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/SocialPortalBridge.html new file mode 100644 index 0000000..abb8e74 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/class-use/SocialPortalBridge.html @@ -0,0 +1,189 @@ + + + + + + + +Uses of Class org.gcube.applicationsupportlayer.social.SocialPortalBridge (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.gcube.applicationsupportlayer.social.SocialPortalBridge

+
+ + + + + + + + + +
+Packages that use SocialPortalBridge
org.gcube.applicationsupportlayer.social  
+  +

+ + + + + +
+Uses of SocialPortalBridge in org.gcube.applicationsupportlayer.social
+  +

+ + + + + + + + + + + + + +
Subclasses of SocialPortalBridge in org.gcube.applicationsupportlayer.social
+ classApplicationNewsManager + +
+           
+ classAslNotificationManager + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/ApplicationProfileNotFoundException.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/ApplicationProfileNotFoundException.html new file mode 100644 index 0000000..83cdfe7 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/ApplicationProfileNotFoundException.html @@ -0,0 +1,241 @@ + + + + + + + +ApplicationProfileNotFoundException (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social.ex +
+Class ApplicationProfileNotFoundException

+
+java.lang.Object
+  extended by java.lang.Throwable
+      extended by java.lang.Exception
+          extended by org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class ApplicationProfileNotFoundException
extends Exception
+ + +

+

+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
ApplicationProfileNotFoundException(String message) + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ApplicationProfileNotFoundException

+
+public ApplicationProfileNotFoundException(String message)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/class-use/ApplicationProfileNotFoundException.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/class-use/ApplicationProfileNotFoundException.html new file mode 100644 index 0000000..f62f7a2 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/class-use/ApplicationProfileNotFoundException.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException

+
+No usage of org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-frame.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-frame.html new file mode 100644 index 0000000..d6ac205 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.ex (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + +org.gcube.applicationsupportlayer.social.ex + + + + +
+Exceptions  + +
+ApplicationProfileNotFoundException
+ + + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-summary.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-summary.html new file mode 100644 index 0000000..1794fa5 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.ex (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.gcube.applicationsupportlayer.social.ex +

+ + + + + + + + + +
+Exception Summary
ApplicationProfileNotFoundException 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-tree.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-tree.html new file mode 100644 index 0000000..8820def --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.ex Class Hierarchy (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.gcube.applicationsupportlayer.social.ex +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-use.html b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-use.html new file mode 100644 index 0000000..c33edff --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/ex/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.gcube.applicationsupportlayer.social.ex (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.gcube.applicationsupportlayer.social.ex

+
+No usage of org.gcube.applicationsupportlayer.social.ex +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/ImageType.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/ImageType.html new file mode 100644 index 0000000..57bfef0 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/ImageType.html @@ -0,0 +1,387 @@ + + + + + + + +ImageType (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.gcube.applicationsupportlayer.social.imageType +
+Enum ImageType

+
+java.lang.Object
+  extended by java.lang.Enum<ImageType>
+      extended by org.gcube.applicationsupportlayer.social.imageType.ImageType
+
+
+
All Implemented Interfaces:
Serializable, Comparable<ImageType>
+
+
+
+
public enum ImageType
extends Enum<ImageType>
+ + +

+


+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Enum Constant Summary
BMP + +
+           
GIF + +
+           
JPG + +
+           
PDF + +
+           
PNG + +
+           
TIFF + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static ImageTypevalueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static ImageType[]values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+ + + + + + + +
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+ + + + + + + +
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Enum Constant Detail
+ +

+JPG

+
+public static final ImageType JPG
+
+
+
+
+
+ +

+GIF

+
+public static final ImageType GIF
+
+
+
+
+
+ +

+PNG

+
+public static final ImageType PNG
+
+
+
+
+
+ +

+TIFF

+
+public static final ImageType TIFF
+
+
+
+
+
+ +

+PDF

+
+public static final ImageType PDF
+
+
+
+
+
+ +

+BMP

+
+public static final ImageType BMP
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+values

+
+public static ImageType[] values()
+
+
Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
+for (ImageType c : ImageType.values())
+    System.out.println(c);
+
+

+

+ +
Returns:
an array containing the constants of this enum type, in +the order they are declared
+
+
+
+ +

+valueOf

+
+public static ImageType valueOf(String name)
+
+
Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

+

+
Parameters:
name - the name of the enum constant to be returned. +
Returns:
the enum constant with the specified name +
Throws: +
IllegalArgumentException - if this enum type has no constant +with the specified name +
NullPointerException - if the argument is null
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/class-use/ImageType.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/class-use/ImageType.html new file mode 100644 index 0000000..6aab835 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/class-use/ImageType.html @@ -0,0 +1,237 @@ + + + + + + + +Uses of Class org.gcube.applicationsupportlayer.social.imageType.ImageType (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.gcube.applicationsupportlayer.social.imageType.ImageType

+
+ + + + + + + + + + + + + +
+Packages that use ImageType
org.gcube.applicationsupportlayer.social  
org.gcube.applicationsupportlayer.social.imageType  
+  +

+ + + + + +
+Uses of ImageType in org.gcube.applicationsupportlayer.social
+  +

+ + + + + + + + + + + + + +
Methods in org.gcube.applicationsupportlayer.social with parameters of type ImageType
+ booleanNewsManager.shareApplicationUpdate(String feedtext, + String uriGETparams, + String previewTitle, + String previewDescription, + InputStream previewThumbnailInputStream, + ImageType imageExtension) + +
+          use to share an update from your application with a reference to the news object and with a link preview passing its input stream
+ booleanApplicationNewsManager.shareApplicationUpdate(String feedtext, + String uriGETparams, + String previewTitle, + String previewDescription, + InputStream previewThumbnailInputStream, + ImageType imageExtension) + +
+           
+  +

+ + + + + +
+Uses of ImageType in org.gcube.applicationsupportlayer.social.imageType
+  +

+ + + + + + + + + + + + + +
Methods in org.gcube.applicationsupportlayer.social.imageType that return ImageType
+static ImageTypeImageType.valueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static ImageType[]ImageType.values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-frame.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-frame.html new file mode 100644 index 0000000..3e2361e --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.imageType (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + +org.gcube.applicationsupportlayer.social.imageType + + + + +
+Enums  + +
+ImageType
+ + + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-summary.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-summary.html new file mode 100644 index 0000000..ada4866 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.imageType (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.gcube.applicationsupportlayer.social.imageType +

+ + + + + + + + + +
+Enum Summary
ImageType 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-tree.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-tree.html new file mode 100644 index 0000000..701db25 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-tree.html @@ -0,0 +1,157 @@ + + + + + + + +org.gcube.applicationsupportlayer.social.imageType Class Hierarchy (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.gcube.applicationsupportlayer.social.imageType +

+
+
+
Package Hierarchies:
All Packages
+
+

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-use.html b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-use.html new file mode 100644 index 0000000..530c8dc --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/imageType/package-use.html @@ -0,0 +1,190 @@ + + + + + + + +Uses of Package org.gcube.applicationsupportlayer.social.imageType (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.gcube.applicationsupportlayer.social.imageType

+
+ + + + + + + + + + + + + +
+Packages that use org.gcube.applicationsupportlayer.social.imageType
org.gcube.applicationsupportlayer.social  
org.gcube.applicationsupportlayer.social.imageType  
+  +

+ + + + + + + + +
+Classes in org.gcube.applicationsupportlayer.social.imageType used by org.gcube.applicationsupportlayer.social
ImageType + +
+           
+  +

+ + + + + + + + +
+Classes in org.gcube.applicationsupportlayer.social.imageType used by org.gcube.applicationsupportlayer.social.imageType
ImageType + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/package-frame.html b/target/apidocs/org/gcube/applicationsupportlayer/social/package-frame.html new file mode 100644 index 0000000..9d625ed --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/package-frame.html @@ -0,0 +1,50 @@ + + + + + + + +org.gcube.applicationsupportlayer.social (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + +org.gcube.applicationsupportlayer.social + + + + +
+Interfaces  + +
+NewsManager +
+NotificationManager
+ + + + + + +
+Classes  + +
+ApplicationNewsManager +
+AslNotificationManager +
+SocialPortalBridge
+ + + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/package-summary.html b/target/apidocs/org/gcube/applicationsupportlayer/social/package-summary.html new file mode 100644 index 0000000..3024774 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/package-summary.html @@ -0,0 +1,184 @@ + + + + + + + +org.gcube.applicationsupportlayer.social (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.gcube.applicationsupportlayer.social +

+ + + + + + + + + + + + + +
+Interface Summary
NewsManager 
NotificationManager 
+  + +

+ + + + + + + + + + + + + + + + + +
+Class Summary
ApplicationNewsManager 
AslNotificationManager 
SocialPortalBridge 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/package-tree.html b/target/apidocs/org/gcube/applicationsupportlayer/social/package-tree.html new file mode 100644 index 0000000..a392cbc --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/package-tree.html @@ -0,0 +1,163 @@ + + + + + + + +org.gcube.applicationsupportlayer.social Class Hierarchy (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.gcube.applicationsupportlayer.social +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/org/gcube/applicationsupportlayer/social/package-use.html b/target/apidocs/org/gcube/applicationsupportlayer/social/package-use.html new file mode 100644 index 0000000..0fa1741 --- /dev/null +++ b/target/apidocs/org/gcube/applicationsupportlayer/social/package-use.html @@ -0,0 +1,183 @@ + + + + + + + +Uses of Package org.gcube.applicationsupportlayer.social (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.gcube.applicationsupportlayer.social

+
+ + + + + + + + + +
+Packages that use org.gcube.applicationsupportlayer.social
org.gcube.applicationsupportlayer.social  
+  +

+ + + + + + + + + + + + + + +
+Classes in org.gcube.applicationsupportlayer.social used by org.gcube.applicationsupportlayer.social
NewsManager + +
+           
NotificationManager + +
+           
SocialPortalBridge + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/overview-frame.html b/target/apidocs/overview-frame.html new file mode 100644 index 0000000..13eb49e --- /dev/null +++ b/target/apidocs/overview-frame.html @@ -0,0 +1,47 @@ + + + + + + + +Overview List (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + + + + +
+
+ + + + + +
All Classes +

+ +Packages +
+org.gcube.applicationsupportlayer.social +
+org.gcube.applicationsupportlayer.social.ex +
+org.gcube.applicationsupportlayer.social.imageType +
+

+ +

+  + + diff --git a/target/apidocs/overview-summary.html b/target/apidocs/overview-summary.html new file mode 100644 index 0000000..aea7cf3 --- /dev/null +++ b/target/apidocs/overview-summary.html @@ -0,0 +1,165 @@ + + + + + + + +Overview (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Social Portal ASL Extension 0.1.0-SNAPSHOT API +

+
+ + + + + + + + + + + + + + + + + +
+Packages
org.gcube.applicationsupportlayer.social 
org.gcube.applicationsupportlayer.social.ex 
org.gcube.applicationsupportlayer.social.imageType 
+ +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/overview-tree.html b/target/apidocs/overview-tree.html new file mode 100644 index 0000000..2ade57d --- /dev/null +++ b/target/apidocs/overview-tree.html @@ -0,0 +1,177 @@ + + + + + + + +Class Hierarchy (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
org.gcube.applicationsupportlayer.social, org.gcube.applicationsupportlayer.social.ex, org.gcube.applicationsupportlayer.social.imageType
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/package-list b/target/apidocs/package-list new file mode 100644 index 0000000..a397e94 --- /dev/null +++ b/target/apidocs/package-list @@ -0,0 +1,3 @@ +org.gcube.applicationsupportlayer.social +org.gcube.applicationsupportlayer.social.ex +org.gcube.applicationsupportlayer.social.imageType diff --git a/target/apidocs/resources/inherit.gif b/target/apidocs/resources/inherit.gif new file mode 100644 index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e GIT binary patch literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X literal 0 HcmV?d00001 diff --git a/target/apidocs/serialized-form.html b/target/apidocs/serialized-form.html new file mode 100644 index 0000000..07b707d --- /dev/null +++ b/target/apidocs/serialized-form.html @@ -0,0 +1,164 @@ + + + + + + + +Serialized Form (Social Portal ASL Extension 0.1.0-SNAPSHOT API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Serialized Form

+
+
+ + + + + +
+Package org.gcube.applicationsupportlayer.social.ex
+ +

+ + + + + +
+Class org.gcube.applicationsupportlayer.social.ex.ApplicationProfileNotFoundException extends Exception implements Serializable
+ +

+ +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2012. All Rights Reserved. + + diff --git a/target/apidocs/stylesheet.css b/target/apidocs/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/target/apidocs/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL b/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL new file mode 100644 index 0000000..139597f --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL @@ -0,0 +1,2 @@ + + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL.1978364459.filtered b/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL.1978364459.filtered new file mode 100644 index 0000000..139597f --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/INSTALL.1978364459.filtered @@ -0,0 +1,2 @@ + + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE b/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE new file mode 100644 index 0000000..cdb5851 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE @@ -0,0 +1,7 @@ +gCube System - License +------------------------------------------------------------ + +The gCube/gCore software is licensed as Free Open Source software conveying to the EUPL (http://ec.europa.eu/idabc/eupl). +The software and documentation is provided by its authors/distributors "as is" and no expressed or +implied warranty is given for its use, quality or fitness for a particular case. + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE.1299409633.filtered b/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE.1299409633.filtered new file mode 100644 index 0000000..cdb5851 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/LICENSE.1299409633.filtered @@ -0,0 +1,7 @@ +gCube System - License +------------------------------------------------------------ + +The gCube/gCore software is licensed as Free Open Source software conveying to the EUPL (http://ec.europa.eu/idabc/eupl). +The software and documentation is provided by its authors/distributors "as is" and no expressed or +implied warranty is given for its use, quality or fitness for a particular case. + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS b/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS new file mode 100644 index 0000000..680cebb --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS @@ -0,0 +1,6 @@ +Mantainers +------- + +* Massimiliano Assante (massimiliano.assante@isti.cnr.it), CNR Pisa, + Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo". + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS.206497821.filtered b/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS.206497821.filtered new file mode 100644 index 0000000..680cebb --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/MAINTAINERS.206497821.filtered @@ -0,0 +1,6 @@ +Mantainers +------- + +* Massimiliano Assante (massimiliano.assante@isti.cnr.it), CNR Pisa, + Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo". + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/README b/target/archive-tmp/fileSetFormatter.1259442186.tmp/README new file mode 100644 index 0000000..3f14a10 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/README @@ -0,0 +1,35 @@ +The gCube System - Social Library +------------------------------------------------------------ + +This work is partially funded by the European Commission in the +context of the iMarine project (www.i-marine.eu), under the 1st call of FP7 IST priority. + +Authors +------- +Massimiliano Assante +* +Version and Release Date +------------------------ +Jan 2013 + + +Description +----------- +Social networking Library + +Download information +-------------------- +Source code is available from SVN: +https://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/social-library + +Binaries can be downloaded from: +http://software.d4science.research-infrastructures.eu/ + +Documentation +------------- +Documentation is available on-line from the Projects Documentation Wiki: + +Licensing +--------- + +This software is licensed under the terms you may find in the file named "LICENSE" in this directory. diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/README.2139677201.filtered b/target/archive-tmp/fileSetFormatter.1259442186.tmp/README.2139677201.filtered new file mode 100644 index 0000000..3f14a10 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/README.2139677201.filtered @@ -0,0 +1,35 @@ +The gCube System - Social Library +------------------------------------------------------------ + +This work is partially funded by the European Commission in the +context of the iMarine project (www.i-marine.eu), under the 1st call of FP7 IST priority. + +Authors +------- +Massimiliano Assante +* +Version and Release Date +------------------------ +Jan 2013 + + +Description +----------- +Social networking Library + +Download information +-------------------- +Source code is available from SVN: +https://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/social-library + +Binaries can be downloaded from: +http://software.d4science.research-infrastructures.eu/ + +Documentation +------------- +Documentation is available on-line from the Projects Documentation Wiki: + +Licensing +--------- + +This software is licensed under the terms you may find in the file named "LICENSE" in this directory. diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml b/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml new file mode 100644 index 0000000..9476f4a --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml @@ -0,0 +1,5 @@ + + +First Release + + diff --git a/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml.789931884.filtered b/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml.789931884.filtered new file mode 100644 index 0000000..9476f4a --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.1259442186.tmp/changelog.xml.789931884.filtered @@ -0,0 +1,5 @@ + + +First Release + + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL b/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL new file mode 100644 index 0000000..139597f --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL @@ -0,0 +1,2 @@ + + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL.909492190.filtered b/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL.909492190.filtered new file mode 100644 index 0000000..139597f --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/INSTALL.909492190.filtered @@ -0,0 +1,2 @@ + + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE b/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE new file mode 100644 index 0000000..cdb5851 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE @@ -0,0 +1,7 @@ +gCube System - License +------------------------------------------------------------ + +The gCube/gCore software is licensed as Free Open Source software conveying to the EUPL (http://ec.europa.eu/idabc/eupl). +The software and documentation is provided by its authors/distributors "as is" and no expressed or +implied warranty is given for its use, quality or fitness for a particular case. + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE.94043744.filtered b/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE.94043744.filtered new file mode 100644 index 0000000..cdb5851 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/LICENSE.94043744.filtered @@ -0,0 +1,7 @@ +gCube System - License +------------------------------------------------------------ + +The gCube/gCore software is licensed as Free Open Source software conveying to the EUPL (http://ec.europa.eu/idabc/eupl). +The software and documentation is provided by its authors/distributors "as is" and no expressed or +implied warranty is given for its use, quality or fitness for a particular case. + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS b/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS new file mode 100644 index 0000000..680cebb --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS @@ -0,0 +1,6 @@ +Mantainers +------- + +* Massimiliano Assante (massimiliano.assante@isti.cnr.it), CNR Pisa, + Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo". + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS.1398383198.filtered b/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS.1398383198.filtered new file mode 100644 index 0000000..680cebb --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/MAINTAINERS.1398383198.filtered @@ -0,0 +1,6 @@ +Mantainers +------- + +* Massimiliano Assante (massimiliano.assante@isti.cnr.it), CNR Pisa, + Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo". + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/README b/target/archive-tmp/fileSetFormatter.2083836561.tmp/README new file mode 100644 index 0000000..3f14a10 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/README @@ -0,0 +1,35 @@ +The gCube System - Social Library +------------------------------------------------------------ + +This work is partially funded by the European Commission in the +context of the iMarine project (www.i-marine.eu), under the 1st call of FP7 IST priority. + +Authors +------- +Massimiliano Assante +* +Version and Release Date +------------------------ +Jan 2013 + + +Description +----------- +Social networking Library + +Download information +-------------------- +Source code is available from SVN: +https://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/social-library + +Binaries can be downloaded from: +http://software.d4science.research-infrastructures.eu/ + +Documentation +------------- +Documentation is available on-line from the Projects Documentation Wiki: + +Licensing +--------- + +This software is licensed under the terms you may find in the file named "LICENSE" in this directory. diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/README.662662985.filtered b/target/archive-tmp/fileSetFormatter.2083836561.tmp/README.662662985.filtered new file mode 100644 index 0000000..3f14a10 --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/README.662662985.filtered @@ -0,0 +1,35 @@ +The gCube System - Social Library +------------------------------------------------------------ + +This work is partially funded by the European Commission in the +context of the iMarine project (www.i-marine.eu), under the 1st call of FP7 IST priority. + +Authors +------- +Massimiliano Assante +* +Version and Release Date +------------------------ +Jan 2013 + + +Description +----------- +Social networking Library + +Download information +-------------------- +Source code is available from SVN: +https://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/social-library + +Binaries can be downloaded from: +http://software.d4science.research-infrastructures.eu/ + +Documentation +------------- +Documentation is available on-line from the Projects Documentation Wiki: + +Licensing +--------- + +This software is licensed under the terms you may find in the file named "LICENSE" in this directory. diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml b/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml new file mode 100644 index 0000000..9476f4a --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml @@ -0,0 +1,5 @@ + + +First Release + + diff --git a/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml.962095840.filtered b/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml.962095840.filtered new file mode 100644 index 0000000..9476f4a --- /dev/null +++ b/target/archive-tmp/fileSetFormatter.2083836561.tmp/changelog.xml.962095840.filtered @@ -0,0 +1,5 @@ + + +First Release + + diff --git a/target/archive-tmp/profile.xml.1658067470.filtered b/target/archive-tmp/profile.xml.1658067470.filtered new file mode 100644 index 0000000..664f77c --- /dev/null +++ b/target/archive-tmp/profile.xml.1658067470.filtered @@ -0,0 +1,25 @@ + + + + Library + + ASL Social Library + ApplicationSupportLayer + aslsocial + 1.0.0 + + + aslsocial + 0.1.0-SNAPSHOT + + org.gcube.applicationsupportlayer + aslsocial + 0.1.0-SNAPSHOT + + + aslsocial-0.1.0-SNAPSHOT.jar + + + + + diff --git a/target/archive-tmp/profile.xml.485954080.filtered b/target/archive-tmp/profile.xml.485954080.filtered new file mode 100644 index 0000000..664f77c --- /dev/null +++ b/target/archive-tmp/profile.xml.485954080.filtered @@ -0,0 +1,25 @@ + + + + Library + + ASL Social Library + ApplicationSupportLayer + aslsocial + 1.0.0 + + + aslsocial + 0.1.0-SNAPSHOT + + org.gcube.applicationsupportlayer + aslsocial + 0.1.0-SNAPSHOT + + + aslsocial-0.1.0-SNAPSHOT.jar + + + + + diff --git a/target/archive-tmp/svnpath.txt.393524967.filtered b/target/archive-tmp/svnpath.txt.393524967.filtered new file mode 100644 index 0000000..edacb04 --- /dev/null +++ b/target/archive-tmp/svnpath.txt.393524967.filtered @@ -0,0 +1 @@ +${scm.url} \ No newline at end of file diff --git a/target/archive-tmp/svnpath.txt.685764856.filtered b/target/archive-tmp/svnpath.txt.685764856.filtered new file mode 100644 index 0000000..edacb04 --- /dev/null +++ b/target/archive-tmp/svnpath.txt.685764856.filtered @@ -0,0 +1 @@ +${scm.url} \ No newline at end of file diff --git a/target/aslsocial-0.1.0-SNAPSHOT-javadoc.jar b/target/aslsocial-0.1.0-SNAPSHOT-javadoc.jar new file mode 100644 index 0000000000000000000000000000000000000000..4862f79489f57b7eb7e9042064ca20384f311220 GIT binary patch literal 72306 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 V*Z>HK1@Na8Kq<+B1k76i{U3p3hG_r* literal 0 HcmV?d00001 diff --git a/target/aslsocial-0.1.0-SNAPSHOT-servicearchive.tar.gz b/target/aslsocial-0.1.0-SNAPSHOT-servicearchive.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5385de6f8a29c34fc5050fdb18acde1dbe7f7f4a GIT binary patch literal 41681 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 literal 0 HcmV?d00001 diff --git a/target/aslsocial-0.1.0-SNAPSHOT-sources.jar b/target/aslsocial-0.1.0-SNAPSHOT-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..b946a1e55f588fbf3777ad05715a4974ca6b8a9d GIT binary patch literal 7726 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 literal 0 HcmV?d00001 diff --git a/target/aslsocial-0.1.0-SNAPSHOT-tests.jar b/target/aslsocial-0.1.0-SNAPSHOT-tests.jar new file mode 100644 index 0000000000000000000000000000000000000000..1f30926526d0a0ebfc1247a1f631bddc645d7fc8 GIT binary patch literal 3503 zcmbuC3p~@^AIImCrn&W46iF1tj8L9jiz3VrLL!E_wav`1qziJ(C3h)3s3F&)B3Tr3 z-(M!7^*lXKXRqJ(d%b?&&*yv2`F+nh?-{~aST_I|t;8)>{maeQ zFLwGbT+>7ys-v$ZWB4@;2zW>jQ|+a~9q5mJ=off(7+hUnM@!S#L>jI&4yV-X!JyJq zP8d|Of%5dO(Vk}c?mnE9ZbOX}45|TK-%B)&<%2xlNhnSVHR6RC8RM@@=7P6^{)mw` z+T_DqZ!}JSqATyN`?#k#q_Q%R#}{mMI~El=;NZ^~n-Sq?=V6Qdn>f*L;t*IY%GnNqcXq|NdtkAyI6Mk*8j1TGy~Ho+-CgaR z5vXMw;FkdfBv>fMFaZG9m;nHVe`BML#hM`9@zQoEgu8p3p_M`V9lGG?M)|lp);FBxIRka=@T2QN>CclLyMi0c@C3QJd&C5un z$OOSterHk-RN3EKnuxH|j_>_f|kv8vvb!Joo zI9)EV7qmNken$zoiACsTub#TYXxDE0x?nL{f6;zi=PL{CM*&TkH2Wypd6la*WG--KYL21K8x$+5Tle|S2c zFMr*sb{$OVv7olGUy5Jli10T4vUBG?L_D_*k+PFG3>x(Q5WIWz zO+^plgPY@ah|tAmi`aB?ZN=`_DQI$jqgHKlKzUEJi?E_1(dw-8U_m|dYA7q1T41;} zvZ^F7^aI?KEKN>&$2@HypimH&l&Xy&r1R&5waX|GT6p5>jpA} zpJRykSvn>xwM#xbRJ^uPZoV&ho;)||^`>R|jZ;H0R6CgIn7*kQNAA!T5Ahyfxh!+B z>6!sb)uk9(N04#BO_zZ|3G%`t;l!3mwOuoz{U)v|H5_K5)#Q6oMGybdYw~;^HGI5v ztB~S*vGG^K)RaO$7Gs}qnS$1d%T+HW&y1qQF*9AI>zw8`A7pc{v8^GDKg`;cH+xOD z4V<_q$a(7SNvK!BkX7kO?a-e8rB-cZn#4SL;j(bqO4kSAPk6}>P1q3Vn>&r$+>$Ks zC-X_zu~#T@{yB)d#1mp0Y`uOg?8wxunITUEC$Ew)!PDCBsVMVJom7KVi+Zr%VHHUF zWJM#U3m~92s4W_w($?t*DLW8oSUi#9Qi`zjnjXVX@#$S>rm4l38Z?bMJ`=muliOTz zrH+^`We3q7E7`N(%3K~d?qU;S*?|chGpVlt_9yhS*Na#3f#mkfW^siD9;B35gG3BQ z^?6}Tk``CDj)a)11-=dOyrW=^qE1^caRCtU>|%_%P1U0pzVt09n11Q}{#Jy=xnhwx zyff0Bv#w-A#da{DvEw$6oS7~2Sys7=h4+L$Utm@0x^iOU;l3>2*|S32N$&!=*#D6B z>73>@#pitHvodr$-Gl48U!A8qI_}W}hYA*oYSOH%K@#serUle!bE>j%wV>*zGff)V zDmO3ik8KgVPUV`2ug{2buugQYhf!22&~w|uUw z$bJlTi!uO!=(~%4yDVFUcPkES!HR)ii;a=EjDEWaVk=$!9@Z8Iz|b%hufHmm!0hKb z2AVB4hK`+1N-IG3^W*R5ehgGw@zePwzvaVk$@a(Swq#87jr=#Z-+2^(zd{v1w`Xw0iv9S1v0qIYONoGhA92P~Dx$9*y%3jc wcX1N_c^oT=zEa1^r2lv`S;^N5{Ox=zTZ&BCJX(`pMU*={_`s*rXoZq^-Y{X;a|z1fPVZT<2#s@ zGy8Md=TAfZk7RN}-=xIFlvU{E#P8%LCuC*l=x5<&=%}YBXPT547g%-l~ zgrOi0iq(?QX?jULI>vP;p@aNi0feJ}47PcYm%(vp7rl?sY^A4P_t& zpz78o+r*!mc|qI^A9d<<>Hz&)zkq;djsLOxV1N2$?_~b(J^!y1e+~OD3UgyuBh&wd zj`$zw3>_S7ER79aEbZ-_T^$_kom^}TJx!hdm;0&yAKmY4Z)|C3^S`j6{b$&idi*b( zSpFGKmbQlGrYfEef0qyxP{kh|$X3^`NcuDRcZ@(lV*d<7p}!08o2k3AoT1&H2RP9i z+ZZ}Kw`f5d=%_A!eoH)>x}BQ~E{#URHL;u{k8W%>og1RJ%wm_Dr?nj*mNnN)3>fP? z&B`biLPA0X?*n%f5^J#93<;EySrw&)qQ0ECy1I({ylf|aCK3L)^kqqsVy2Q(WMXl@ z{P~paJae1le0grnu;nb^&vG~dF%DK`Q^v4>F?HD}oS;ID94F4~$dfT$s??e!B^pXc zk=$BzBT3xsb>W!Bmb?X!5`U!~5e&(H`3!_KxZK{Jq`sdWx^R3=PXim^!2wMl%8R~ z|45KJj8)|C)rsm|AKs|6L09%i`(Yr1tw9Z+wb^T~+na5+7Tk`&JBN%T` z$m#i3|GpwcBOEA3j$R~GpFcBx@NUp$jMz*nMVRB*I9ok{(!7v@bdc^NTX6-4qW644 zkn!oERsZ82xs;&mUW~+Du&-mJ8mZ4Qvmiw?E4+B#R%a$WUyqzXq`vubW!m1LVyD`8 z<#Yg$T~*CL0wkuZ#a*~Jrnipe@W7EhtpQq4j!>>3Q--6-U)@U$8lC<+hg#^yZ2Wty zSOkZ?wZ?UXTrX@futP;`LXg@JK0elrh_hyesd?=LBMD@-SF3LrOS+TCnhQ=H1D#z% z>NC=Af1{qjkTpvq4t@}KyqE$!OD2NZn9kA&wOx$yd*MXg*f0vy#En7I4!#mpZl;qh zN;E}~B2U7Orc|SyA!RE~G7HY3yVzCzoZC`_7VNo5!8<4Cf<2d7fUKW<`FtUo5wdx^ zHK&;R;^g^R(9-2j|5$7TBc{}FU{XYNgYm$4oR*O>Dl0SryHV6_G5Zhqir%eSwdSmq zPy}Mypi${zuoyBX0~kCu&tGKmA^41llaAH0OH$~fDhKYFCw-o*2E%R~fQxhTBXp? zaKxubQ*y*-;8J&HI0#0u%-!d~o!-nMG;&rX8eN(WGc4N^Ic8-0${0>}Mw*t@4q{*2 zuF`({m73_`nqsgD_t5DqL$lAFHR^Fq-WL%<$N*L>O-U3|=KA2L6JagaiDh4qrx}zW z%3c`leYQZvZiWDAZ(5q!{;eeJTy7(OFL;cxDBaV6lz`F^#%95+GQcadj24`D7|N5@F&{cs)=56f6!C?l2ucXn6r>IB4Q!}HI%CMw)LJb z3~V&Nx}EBdZ|`8uGhvQ3@$3!#dw{{Z8^209|N1-JgKzMv=^b41B`|-us$K z$cFl`xf+%{t}+_}#E%(|Vga0_0TUicrxvRgPRlM(NX_foQFs(p$?c)ZM^=0< z;xcxL*igXIC=aldr^b~g_N^`HdS^axAsJAmDny@Eu`&cmPX27Ft}To2=EAaW+jsGU z#{++<8#tEp5z1%|oaV}BbS%s4njiGr7_!O)PBF@vH(U9Y-0dq_!75j2VOThE?A6ZOt zgNw4?uuU53$xXmMw`pXkWbwAXWX6Xq#aj8nTW*|oK_%6x5&`==ojD)sp5ZQzT@ej#z1?JjT%_sC$(=G5V&R5{6rkCDX8@j-)=kb zLs!KJu71xHHdDTFUhmOtY{#>bDs8-%9EpTumHPsa)H1hRUTEDGWfy(T55jsRFeS>7 zT}a9bY-Q5w@Ik+xeWG+ykVC0a(P4kZyIw_3FHoY@a7~~}* z=kvyjZ(HI4zZi!|^a5FI38XY}SU{U^Pv_5+JbTIZIEGZ%q)qi}_1eFgWid;{8k1E@ zJ6T&_fqA|3J2Ugesi35&H@qb8%Vm^}X1;tXrZnqiFaV2u!_@Dvc40e2YxMsJ&zVB4 zYTBHt(aOQ+QdE7g+uco49~%n=yQ}bg*HYH2(FV%NM3EBthL+7<^ZYb+s$@Re?`W&% z?moe-d}fNgcp;j|MCt1 zaV|2rxd)PY3t>LcEX~g0Af@pZNsZ_1 zFhzVWv%7eY#)4*prgCc^bckiOCy+)!K9gOhC-Q7OG}c$;=ek;DEE{tut0U_&KN%Nl zW42hdB(9WT@x9wZIxJC*d?8CJ1Ztr}Mr}3Nd66#dHNJ+tRq8DmwwbDc^n1Wj62b** zv2y+UAyAoci=A?-wfw|N&13vwbxbiGcs`HZsiLYW9iKx@&PB|VDW05m4=~}esq&UL zSI01|x}m#CQpU4?iv2R>JNT`a2tDr8H=EZtxeiHsv+o6$TSYp_OMHr6#24+$M2*%P zAzqgBu@i(UqSF+}5gA5@#_=`k<2gNoud=5zGxp69a}708EuR2o`l%WBCJ>p*b(m=s zx1^VsM@eoz6Q03&xkP5uwoqesFR3-{sS>%d9eW!QfSW#Vg&Bk#RwAEWQxE^;(!~YU znU)6H^^Iw1r%;Rb-HB#uQI+=)3BQG{;??p2%+ZMtxkl3O->PW_Vq+^5X%i_h%C&%O zg&%(9+qKV~W69PBTH=ygi;3s1bxjuIg_gt-cc^)7=}tKSS2b3{`4P!`+fp3{4x}tk zt(@KQ^MyH_Ro!tpF{*0Q^A+E`&LqbpxAyVO)nYf#)^?E_+3)d+=q^#)EIzk(o^eDR zu-|BrQ!}mFyoM~s>CWy;Q?0bw?Mwj!((O+fw|-=`4CwO5vwK-d<1?-Adr5~8WQ;DJLWTVmh`{#mnH;Q)LUa^(xM(glml6KV3wMNzfUPdx4 z?8cszjA1Aor>AzF=vu!Kd?y}7{Q$qUFf?YXabT`dOAL6HAJA6W0AQIv4k1xskecxz z;Y|gYcQ?{Bgx6p^==Km-y8Wss4BVAW_~QLedQ*Br9qc#5F|kRY<$Xvvk-n)Tzer^j z%cCIgxbeuI-5`Iz`1cL5HhKKiI;sUvo3)$+w;o+wd)2-$r1wwI=Mt>U2Hg$1NU8s*ie)nt;{QCtz9ZaCS2H#`HqQGd6$URM#=3 zvHC~b*@A#Bt-iwR?-#7IV$O`;=3HN91t9nj3?x9w70dSu?qq)KL1#auzrVe>upc=* zIKH<8@GN|xU*8PB`*sh4k>7TLc@*v`1H^QIprE%c? zwkR*;bmyoQYrzphb^Meq7A4{MS||ozRQ?6P9)X%#ic3@2D#2x#7Y)2b55C5xo5k%! zH&4vR&Ji1%;N-_SKF|n$uF0L!a^b+fqC~1)NRrFUKcycfhA)5NGei3qfc^{Mi@zGt z@a+}k6G`^=qV89Fu(z=bsu7SD>CO9cX|MdzBkR0s5@kN|F|7< z#yCxdnEDPWDdZ$&88DJcLZ9Urp%Wf_ZzzaMdT6zBYleSOvqHzwmmp6>he${gM@$oE ztk6C7l4qph7dvqvrlWV%hnD^KY4zk+&`hkqs(n&<`s{o zG)}q2#UEM5ilG=&eun6lg11Qyy9P7O4Z(B5=#IH!{8ej!^{nfIc;#)*ol214U z8)C566(SWA3P-~@f4kSN_YEWyPG_va{RTR!E2@iO&*c+IQ}q$?IZx!5cW@YuvwKzC z!21g++g0HxxpZA`)gzE!gN5Tm-R770&3e$Y2-a^le6_7wHjVR3${iKD+$C%km#@^K zb*UdPQ%9CR;3X)$osr+CXyS9yNUFqV4tB1jc(aV-iG!s52(FlaJ+q*FXtRB!T)u*Q z?8Dy2&CIG7^*F24N_@>IhT!v!%+gMM5O7^CC#6a=wM2n5fut09@Y@^&Gm1NyMEA%m zcjaso%rm>R|0J*Y7IVwIfNoMwH>yBGY?>?-GhPz7;masy*v`Ctb(2hku^wQRbNfiI z#Y>#BE1iNPK8V4NjbKbvBgpsy^i9bDi4j2(4Y@%42!M#KBfCR|nlB@_(xh*-*of^( zhH+@-{ELbLFHzYGVbqeO(W8g8op+j-^!Pq{d=7|6_td0^b{^3|CZ^gYtuywu;?s4g zyc*scR4=7*yd}{KdFL3zGnvN|id=VNDw;EJ5tB?Dx0fDQRN%6&gcA(%iJALy0LMXK z_7GS{im)@&!-?+Z6v79bW7lvaux_vG{_bfXIrCG|C!Uo*vd$9p{>K>=ra@ix43>d? zACNaJ#ELd!?^ZSn=5xHwPI+SD7A;N-u$po|1?O$N3>SV+hy#N9v}y0c;-KyVA=C0XUS|s>KVu8? zkprR=_$yqeOT@Q319AI@F~J=DRU3=p!YEHV69^jQfv(T%JO2be7nR83rG0I-=|iX<4Cvm>0CiOF>76-kV{{1*J)r+e#ee5zl3Q zNa|dhc*MFsMe6so?X#z(`xJAmHHMSzxbVDIZ@_oOZ6&%EKs-)~kRFNoO~-k|)BN}R z>)hun3ac3+y=A1|$0%1ANatyQLv^I%^@uy3@XIu$sXD?Vy&!!gk?#@i`|9_ zWG0k{UB?&9nTxdai^F-C$%LrGeQto&0mw^mZ178?GJge$VSvjRKOVGztOY?x-QBOV-I(LMnUPLUPLBAWvGJOVG8bUWr@y;NRK{d( z`pjAYre{WpdHRLHXbY!?Ijp&*dZ@uYbow@J`0)vJwLM!!mGjsgZF^ghxwnzE$Q}9^ z9@Jaw=*y!bc5?KH6`7rT{GRP)???hx2iJbtoYZk{_{k#^jGwb8Z;np8vwMPK`@k=) z^fPyi4t*NS4uBZQBNPUi25NL@qMQ2NC!?}w4YQY)f$ZNfdCr&&uso`y4UWTyw|p=B zR3RE$d<6y0;8FedqlgQ;hhdRX?d+8ii>&ksoNBUM0icDu4^|;AHWe8#-EO@bUAPX_uk8OJlL_jj- zkksb6j#;9@&ZW^dqQ6Y0U$L`za5lwVb9Q4eeHxd1#ZjTcp%Yc{^l9dpXhib-`}2-J zgG0i*?3G2on3LMHnQWtt0<8?+T;lA|4f*8Gk1r}ync|KQI}E)F&)m+!%obXGrxNW{ ziln}(Op)XWdP}c~L={?e!ni|Iko+?bM3p`l=J|;OBcD6L`n&8VVGjSc=8Q>F-TIVx zf`CAi2qWp;+tU*#6N0DxHVqQPyu^9zJ@H7anbnkE7=^TrwmAan^!onF(aSQaaPP{n z$W>4@a?~(W{FW)5e$K9Tc>+OwQ5o^D6a8A2t&&PbLkB8R;PL^I!|o1Wgv>#+->P__ zz69(U!emok)KQ*GOcGgsjlLXIe`TUw(|kZLEyW2tXrN~@VAfMgXEcT(r6RQE^qa@4 zQupG)?LiR;fX3dGC+bWdccyEzTF1&T*$WNj?YLttx=;^}h;Ay4QqfI+IBdWUH!=im z?H=(k+L87YoxUb+GRa0kc9qE^jw%O!*Pm0`hLPG*3O@&*;i3cMQjHYW!AN{78d8hQzW_>#0*MLnChq-d_~;ju@I0OwA-RS~j$UiJLEpH)szOduA2HXW(|9Y1AGPuOvW0 zI`dP6-(NogMX7#qIIG?FZqQ+gkN<>r)*?UEcEk!9rFu=M%B>f(99i<-WRNsH+GY?z zDkL6@;g=}XR+YOGKrlpP6M;f~zi<6B%<#JlA6D*@fKE>L?;uLW^3()$z)EbayCRnW z-jlvQ;fu1jyUV5g)elr0R%{Be0JO}W+*a(`C6tMA1Nvv$mNU`$G<-ZIp_m}gpfh&}2K~aH1-$+mV>P4G z1!jd|Lj1b<+@oyl@iipX`tEyKNIAO5M2;M_t+=Sf*>i5-N+jHl>(3-0bI`moIJ=9! z^Y{5v8&}W+jJvCdq6m{ouTF5y1TH~g2>2h8n_tbzOY8ekHP;+h7zUpz2V64nEb?Bf z&Bud^d=kqP^%R?Wb<$?YT!Zl3ITo(4HNIlMjGx5e*1Dp{+0-U;nYAD}%zNS~)+@b* zEfNxJiOq?%pMZSg7g5i0;F+E~eiw$3dMOQX)!iIilT!HD8zr8R(# zclu>itUdK;vn3bwx^T2MrOMVWxS-DdXfCNN#LG6T= zo->B(VVZUy0|hU}+*uir@k^QsV^j%K>v^8R74ales#K@_Q-2$x4(X00&l1tOo%p4k2t|6>jD1Zl@sRns%wTpB z59!Tt28!xZmY4eHnraN>;xy=7 zA+|*F09I~gRB_G>!$Nz$^?eZkL}o;PkahG#MdJX}RB*w_BuX?C^Dw3zMWd?$mnWbw z7v)<$VGl4LQId3exWRq#xi@d5*1LFU{9ZL#Oiyq}*)c?RcN`7dN{A7&p~*)lQSb64 zdaK$0Y zjgLDRCfw44WS3eDe=HiS;W_Yrf4+ryp1Z#FV93R(eG*M4fX;@W+T$~8^9HFdZX>N- zA+3$NO2-~7MrDqDeJ0S{%tY6#-P|3DCOXUY9Lp}axC{lP^TY7Xv3_u-vOaY67%y>f zDq!FQt=ltr0&g-e*NJ*v4X39qGbYL?d}CvM6=VzJ4sazuY92;pWZ{hliL;lDU1_o+ zTJ4=WM~aHvB0}cvi6|qRVYxeKh?7JO`5sgDK8CB_p+@X|FNJO!o zO*CabPqQ*2ebt#^1SlYvgou~t$>it%hrHhj2GHD5qPdYyuoK5R{WkrH$< z5ObOy3afIzPqg2o@nO)VnCx>+WFQYLld~dL-%z7$6&txMx|$HFZ-D*Vzy+6Y3S73l zIUV$|ysTzlt+69aw~O#j0{tpZ*XX`K7Ejp%-0DCud|9s_g0?VK-m`PsSacN<-4 zc{^4s9N+O1T+}%KwcI+oJI!^;ll4?VQ3c(miJzKBP9aVw<99v z=hj?h;9raNyrcd*hIgo^EvRIZmbI|!g!4{2CSiu4)^(4f6}CMIA{3=(^!60BLhQNq zjuw_a{RrnCh`EwlCPo2q3g6D$Zbk#2-)axcoZPrDyBsHeqxT!GlI*E@(CE`)mTt08 zF7dTI$9XGz#=hZg6_FM7EuK$&hPe-X>V;NQ<4UT8U#);VhClA9fLgf+iQxctl}HFL z@N?M_5De!Ky_Vm;y)91UIteEt)oW_K|J>QYwGNbGAU9Nd8CGF(fJ&P%11gp!TOTFh zM_;enB2isCvkrfa-tZ{XkBv~&Z^uE*m4EzgTNcXwOHfIBw1^U_2N1liqg~rLMW%9u zr3!ak7o%>b(BE`~(ugLFlqJ^?v=TTX(_nOqJGw^6k%o|SChB#!rjTigpM9r;%EHf3 z;;7}^z~p2sK}OPBh?7^E4magrvRBJv-1lX0p|w{zU>$iJzYQhHz3RGakX_0zfmIh7 zMeXQXO)n7UB9fv7ouNrOc>Vwtu4&Ncu0H8eV8w@ai+9gbsKFpw0hHcL;C`8_mAyjU zuK>H%&pH}~3C<-WGWm!S zsK?k|%nV$D5OV!?3MIqoP^atA7PsBwsU2nR*2m~8E_-Mj2W` zqPleR1Q&8!2buo;9!{QTc-^3u+^&B3ifg>zL&n`@LOjrQ=46Zhn5|wL_R}1+s-HId|0E>PSZ~uoayu8wfWt6{n^!i#~dDyFq ztvALjig!kriBjFZ|F4}hBM)wDM2h46v0r{9PNJ35#>dC{Z}y4nj39j%uFR}EICb{>>=^2OGwRI1JEq4h# z|2swl>R;e1{%c`&ryze4i$BPee-2XNZ1c_D#nS9waVh@@sYubbpJzlJiIcI^bT^J> zT4|42w__X-lq@$cS`TJDfv|F)^>9Y1gO%GGmEw5dx#>p%Ao>9DqwcLt|0q-?6;vb} z8F_rk`QjRL?D=|rg$F|4)x>88Qwy%1|FKx@I3C#RN{i0bkC-JyXmZeqp2murI-sKk zvq^{ir@)jTchtn4<~a(WEDcq8*yp2XaaZMb%Q+^JFrZ?~j{*bfARBQnG(DJ1{+W0Z zV1h4z-Y7&z#0Bq(S$U|`qQf@7cR?R;ky-BvJT3GEbg&B&u-mwQS5vCK@07Ku^KC~- zQ)6<|bWYK&Gd%_&Ctk3^`}%%}7BD(82i5s}t^yVP3bW-!r;{~tMpXH54)$n1POyqx zM1ObQj9oEgB!NViC_!W!N_nr~vEgc!IF_2LjK&O?K6JV@HhCS@L;wXxRR-^^ebTH| zsbFq|j0vR(+ZIC*@SrD3!MK!RJJ#CKg+lGKFL3CcT1m5Wx9@fhpVjM8Rt@tsI2%zf zxE0xS}zi?jepNTr4J z1*61fS<+_R2sjyRss9eV+z#(&)WbdsgB9-EFRf6xPar4fJN^7?EORW(-iCa2iP?Q- zxV?)=E^rY>xO{UALoh52B3@ICIu}$@6M+^kE*;SHU(xGkZBwI!-m+Kb@dB|V0aXrk zrCojItu(gM^GB1H_7+y`0oK%aW2hS$0y}zf9UMDmMvtsaZ`$oujd{{S-no)LQRXj8 z^Sfk=H=`_{c7=#-`4ZS;RMna_tDOPAZHaC1@vYX1P@AQ#)3sUHjCNv zeL(*`QU41H=8*GpiTlTvs-XVaME$?FrN0vOsT3LeH9@42nJsyy5!6|-u@o7LLP<%Y z3PQ!1D8Amvhg!Cu2rb0j-sZL_bLg4;^$S5Qb)N5TNA^DzPPOQeap?}3>5eH?6)|%v z^K%|d6**zVRVC+ss?e~Y3LiV()raZCk2~&L&?!q$@_7-oNi_Y`WWoEqAV?b@l?7*W zx1;-zMmD=$JLFosenV&rUq!YK>YJFmV^gD-C^{}KuRLb%e-$pF?71*&n>LZ8fM!ET z|B}h~V6#no^GBg4;jp2E=*soSA3T;$F+7AKkCe%_E=qA_G~&UjN8DfCf8KxiXm0fp zkJR;d_5|ig?>~GQA|n`N5f9ku{gIEMs*?}~-hs=`UELfqo&sj?g{O=tsyOWlsx;8S zRn`%ASu-T6DNfc~2W)#}s3vpbyxApR%(8^1K5Ssq6eg0(AWUi-I?yolI3B2GL$E?4 zrSa3}$2xYT2~DC#W3c_JQ^{`_sW6;0yZvcFQguWfY_tC5U|PDM@m6q4RwnB;M|N1p z@+j76d|i08hh0c;A(Bb6Sp($IL|QQF8x`3i+JTD*sn5_##G0g`DeHX4C9Dfn=O-T! zowbqE;MQ6(AJ6TQXz>Ow#|xlhx)lb6#4AOMt6#v=%60~2s0VwF>7jD(GLK%XgtQK-4=8Fwi7 zx_I(tuK4-4w}7*Ya0`MU)Tc&qLzHrX--C-sF9zGmbom{pg`~|0n|v5`x#5G^3l^q2`x|FjVcN%CN?O z8O}KrbdKnulggBm<&|e8SwR+N-$Ssr>OL7(yM!v>GV%NL9EB*0W-70>-)9R85q{P< z4429Sc9(!g?jkuS$V>7Akv@OrRe}U)vk&m@*eMOW-ur^^h4=fEmuWDa03N*~&U%bY zIGzi3-R9BM7REnL!Uz62bk-l?-~MST|36H^UoIggjtQZk5l+n9DY9Jo=K+YWfj=^l ztAU#`idZmdBT5C-!(}_v0$SYF`FB3^dUuC%6s~<6yjj8NK5a^Vv05$)YT#VS(4+?> zxalsXHz9!V5skwAtm8Uk;-Fla6JAN3Es&Y-$}oMh9sdqjigKkR_cZ$5INLP%{-75L zL(BYjh5*D`K|JS4*z+jOW*I%jqvY?nM;e`l!mWQ424{9`fASxHXbuhpB>c|^W+OzV&gPf|G zMj4bW$RF^+HmPoyn3qfjin&E)f#}`d4Y`F7HYjeb=T_FHJhHOd<qX{Rul)9|7B0qm?%4IOCay0Xn6G3GHXAV<@XNC+J zfQN?(;|$Zr-osTvaAz&Y1>jyX5}g9jdDyI*yHY7rJk5_4=INw(Sn%@XbACRjoX9 z`G(GWepiHmH-c{lUUNHC*?um6zbP)oc{=1XQh%(Dz8*e)rH;BT_BsY6Jz1n8m>FN1 zEg70VsmRAR-8^^|-Y9%XiurXgU4Wn`AiZK@4p}Ko61E*5nUUClmfAq4cPiZ<8o13A zI0>W_6?lGZ#XVFB(Q+XAp3x|M7JnF?WoaPTaGXyTyL4`#*)cqWf%XHa@j@lz06bMQ zimTv|;ccwn2qRsOH7^TKp#P%6I2w!4Wo}S+822i3Y7hTNIG9sA?T}GC*78}MP0VS;;~wSU%Ma9pdYTtTnEws*A9a3i$veaP zkFLA_X@5c6{|@&4pFrII3c~*Hbp9`EXNzQl31&nBvVKB)0~&+85KV@Xh7qU_B?Bwc zETlSU@4i9KGH=cey!Bp9({2Zj?@UE| z8Ra>v+efUNg=0hbQ8zm|gudCchSr>9xr2!Kk0Ze(3~@UAGXl6j7R>$6jO4!{ta%>n zm-!(eAV?ta-5|)tA(Gw;T|Vv)=89E51_J}LCl3Y_C*M2w<^luX3lp;k#}|k{_TCRB z2XTFS7H*BU2RjGv7l_>;(8VDFss|fIKe7iqU3|Zas}~Lc;t&mc(SwC562V*r;8YQ0 z713~o*!)n7ePm)8o~KKhiqUXq8iNg0(PYwOp2UQA$BL`(lRmyPoq=kq6@`c8_4_w8ZJd?Z6uX+nlo7WPEayfkzl9GVI#=|R}Y^-OhAxF zIe{L9s3Y?@Hm<~PClQ!v8l=Y%gg^L(n#IV0KtJnUtI1>qYQ9y3un>0hVDf&szj%Dm zL3m7tjC&-)Sq35=Hjp4Y$~J1lf=1j6IHab9sl&ihHC~QY1ZkLM$det(6SU(uLM4pmw6(q8Y{!E1)Yow<3|iHCz;E zLZqoh5aK=PGVjH2O2u^sHJljBoKCH0NDrvH>#-XHRp6fpm`K_^Ir#`v7y5Bm%xsny zwHOvtP&K%%Bh*K!Eim+oP+bH*5BPMs>uCqqLs?7a+0Cac2z#KEwn@F^lNyd$b_bc^ zVJ3Cjd^!%4J(A;F96cMZILPeIB2M)J?1Q(QEUhd$FR#p=C483%=xY8MGZJ@gXvrLF zj{od(^05u!y#kSw7n}1t-Yh@omC6C8vmLS6cfuy7rR4*Zr=n^JMLN>>4Y9Q-%BH<; z^*@D*Qq--gzJJ2RdC-4yVg8>p{-jlDP$tw+c^$19ZQD(JA$vHFDneq^;L2abVpq&8 zBTTkt%%qkw`ctq3y7WF>|1tf+C&qG+0+ss6g0_c4`xK1d(Yd>?1A1*#$(E1A_qhKe&$ZBuhg?3R8gI0Vkt5y2zE{Ou< z?QXD&wC|wr2NLEx%H7W@8Ar~%!k`RXIp>RH68_bgzGy-F*|F?Dp|5r$NKbJ{cNnpu z*&4?51$s+s+G-zWM~*z9mIAY`-aD-!;gtT$2WL;JW@yK$0TDSE{r9l-HVgMYVk*eo z0BCsptqw)*?=A4h+ee_XS|@IvHx%*O=Tt4VxYTdB?Sdc@0t>?x&UHwH^>CL}t4f+7 zFztyI{h7-T`D`oKKd@YAPS`IzY6fbT#eb1sXi9j8KlXq@=KZ7J_K}|{di&#g6p;SO z73ja4+`nAVVVa!$J|j}-%v4=ENxt24`y+@^h>E3Q3CLPgmMnHv1l}sbD$GOA)ia4) z`GRdhb9FPITq@&c@~yMAfhKiw6;7y9lUL@9YPh-*CYN!b_elqpQBAewcCgIaW9 zc-rHHUZ}6BST^%OsnWD@4oiro56uK11nYOULs+_9IQ_4a_N4`JdKubh6{Z%48Ap;u z9d+8iXZ1H1iYU~@GB`GNjZ2pJl;NRjoNN3R@|~iS_Y2xUminIMYW5BlhneOhG6qf* zfF0#GOx*tG8_W0KkA{21`U;j#5cGR8&#}-tx;lEZ1SiM5m1k63klBqY;w3vm*ty^g zR~h+@FnUD+HN5$K%6L@&&6YBe>ca1HIwEZ6c<@3NOu4=9hu!W|CM%*{rNzY{h0mD8D#f0&j+9a}7K4oiG>JGK{QF zZ##dQ@R$D)>L#+Kd~JB)Dn`*@Y=j7|zOoL{?e#;z-S@Y64@I&3_wT|b0%Sj~U2%88 zI>6-0&Id%G56ROBOG>o+f}hp;kDa96a|&n3bXZcGrK|@;_sIQ{?nvFeTXSY$PNhXq zCPoMLUsuC_%?4M}v+u$%)#PtZ;}WGODSAWi@{N7AwyXVnXXpl!cY=QLw{EwCuW*Hu9 z_GgdZ@}K(7KNZ_4|I0o*g+KfD3~hv+EKST!|CY|=sM@OIh@tw00!hs`2cufp3W?|o z3;Wkdw!|xtQ7N!?t~4uFYf)qo>8@N{W^5YVJUxTf^Mw@QeylmaE1u=Z5q2I>vSlZY zZFD?!%=jK{?auW0y@B?UiX!2`VQH(iRO&In#_+^io@}t#Ow{ni((xr-K~;3L+BqoG zyiQ+C-sKHUBVAuN9|P z4GKiRlXt%JoJUGkudl)iWptk^bkHsAW7M^nkYA7QB=>7RR0Ex}eYSQU5@t#E|Dh8% zjd_Vb;NbJB72@4#v#yOw*;X+aHsz}*reHx?l@)60frtq*rV=4NzK&Me7G`+683j|A zRxq;@vIpyU8DiA7xcMEpFG~E`_r`wKr zHRy7;OQNd(j=^}$iO=p-)SEfOYdJ~<^-9zMc$ZKd^YY8xgMLOgO&e|OSjRq0`~6U9 zifKU7AbwYAcK>yW**#NOPnp#9NA$*YWwq19^B9ABMSnb}UznJ@lCp`Cxtvfm3vIK7 z?K<1ICK{U+Zq2viSX+4F!i?e2cpnKG)+I5^7E(&DWEt%T&&1bUQZil zE&zRK!}NZiI8iV2(zJlDx+!Uia>F=H9*%c=I??g`&-EXiZ8fxWs*a1kLn&N zK>Rf2WQbFoarYR{)}KH%r60imgdBPU4l`Jl#+ce5tP!a%u(AyXfC>a}z%D)xT@nL% zxedP|@2GSNowJ`Ea+_}$X`t|?9O{nntxCNz7Wg%%RMcmeNoXdSKx>*#Hq(RlS4W|mxn*$!5Rb*kl;U)nfy0S?62q`MMX||oe_zTr^ko_ za#%ruazu%nG@u|OpjBi|k0-Lzk##hYdMu!M;QN)dn`HJc&@j#=zfRwu_NEg=P87Hzbx1)KKY5#Yog@^nvDK-3dNyB)03t3~zYX z!j6RTSGOO@CyiHf05u<55-Qad)5(eDlc^0xFD5s;b~=`}x}RQbrAzlkQgKO)s9&_c zT=m1p#(Ft`-MEjP*E1qqmaA$?k#(>$M%zO2hK}989hkfy@{1|SI6gXzZw;WqaPs(m z7mqz5iJ65K!(^nW7dN#S24SIy0#MofYI=wkh2X#Ib41RU$|$|Ir}9b;+_kSu(=-Q( z^aprSns2_{&>zB!oj}*+giDK{x94jXT&;B4-K!I8%lX(r@ z>1`fOvIG(FS9M7z{;spcqosq(cV%Bg+E_Jx-LVM6S4r8(&Ibm(@j|NZt|J9Cx+wKa z!2!Z{)q#!@MKv2;T6+Z)`TUtg4MD#T(qF@C{bIrl#z(j2owlGuA2)iRG*iY5q1y;|D_E8GS*iG}L@BR01# z*^Ua~b?nz`E9Dl}v`XE~};tXw&)-PN)_BKjr^RCRU~DmuUa5(xbSuDkI3s^5Q3 z$EA+v6E?#;E<2ztVxil2z9RUyxZuB@V1W3?r2hQ`16xBkQ@ekE;rd^Rnf@#BpL!Af zzZ?!g|3B4>{^w`&{GYHhbhi0V#{fV9{rdAVYg^1Sl;%&cgNgjN9PvL5>i@oX(t_3NC<9~6u=W6=J>z1IbY4KWCT8r4N^TXMx!-AcS+H1Zc4Q{+ zgf1iTG^MF?+j3T;r?WFY4ab@z@0VwgSr61w=FkIJ%9u}*pQv-7cxwl;LT1<7fA*}0lkFe1aXM{nXi0X3 z%-NNgBqb5A{v zaG*UUo+)95UJtsRxocp_u^0oF;qJweR1VA!9J(UF$LR6%yKNxCdB@R?utBp;r#4(P zil8;75`{hYx(%niJ|5UJymd4uq`?bb&`K`VkmTCg&9@zF_$5A;7t+6%Xhp!qRjli4 zdEPi-ni&O#I@_p#8$bLr{*mFqhFP|z_uj5Db@;Hha%0SyD6!q?iD{pip5$}?G;N1Z z$zgohy)b_g&MJadRxh1MBFL>3!Dma@+f0@D(nQ9bMysN@ja-2y7C0)}ZY4G4-D|S2 zVAMltFeObbwzlq+tpmZ5j>p=|0AJ~ALCpzkItk>wxY0%U@UXn@v(|t2KeHQqHE*F$e z*ldqVv+6R4yNdDCGJ-|B;ug@&2OY_uuVw?g20RNb)ZYg`uHBE9o{uf2JLn|CfmOe$ zsl(M=V7Zd-1u$1?kUfu{P7X&V?Qe!DHx^l)o>L8ebrEDN#q(3VMIEWw^Nzx)6ORlw zC$#;@m7Q~2Ot{os#>M0MO?J0&Ih)@a2&(K8!_c_=5I4L=?R{-aZuhp`4Q}y)DG1>_ zYBcI`_oEW6_B~5_1vP^)%<`#8kIudELbv;B?1FKsU>F(r(XMaR>MKrH+6O4eV-15Y z4JI_8=Gh5zDUT(P;f28b059Wn5f<^M8;w!8KIBcb#8dg(g_|Kf3O9j=n||O7F-VbA zfqa411ZtotFHPy=z%RRPAZ-3~N#fM}m90RU9)VDWj)#1!ZbKdS=Np$NblDt`eg4#L z`MGQJd9w1onuUS%@#0ciV;aeupNyQk8Z1tCRt6C|n|7f$DiZ@xM`=gU6XZkau*{rH zl?c(Hf|Eb>VTt6gzoEzgQ)^}7UPY+!hn_^Z)wAo{%s&4I0Q`J#l90i0*J{8Y-xmI- zN&Ua`aeuiY2Pb<6QzsWoQ)l?`pD+W2s6f9q>yVh$jX-?Cn1frJ@m~GGxVO`_kwp(H z1Kxe{5VOxh5ugF|K3mTyYA)5U=(-Ayo_kK)EhDvj*LSXaa&$PY#A5rp`mj`Io6p$% z`yYHva{OTgZ_yx0n%h5&9gM1sek2{z#yog|MOWm z|5qz#kJCU5MBz|SKt)GEMUX%O2`VHSP-yrOP0m3>L65XIpo0T!#U+p^k)WeV#{m#m zVBY@ZId5kd8{sTGdpIiwYAX~+)b`46!UB2;KyiXv19M^nLDVILk-;; zH8$xt4d7?{j3CC4L~Q_sAo1Bqv^8#MqSnh9L!@euTUm+;mkjj-Rd4DBeV0-C=8Io{ zH&F$LYVT9jRyA?@HKQsHHP2EsGhW0I@vG#th_cwTeSdU7D#!`wM06CXkEjs2xt@=N zn-LOm8EM`ciFaEmL_hPUDh#AZP46M{bvqyF8L259BwpC19{o?IBzUONn$W;5yzTyf z7ra5xECTjmW)DO~4+8HO$th5aHG)gt`+g?RGf%^;#62D);0A9|+%OuEB*SbcF3X_|?npR}Vk8Zcu-6`UmxNPQwez^LtxV oSv=%{8ZS8Hd7E4E#%EcEEpBzESIc(bHyUl&>)Q5ftLOOk136Q%2LJ#7 literal 0 HcmV?d00001 diff --git a/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml b/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml new file mode 100644 index 0000000..8b89c97 --- /dev/null +++ b/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml @@ -0,0 +1,10 @@ + + + + + + + + + src/main/javadoc + diff --git a/target/javadoc-bundle-options/package-list b/target/javadoc-bundle-options/package-list new file mode 100644 index 0000000..42c9b95 --- /dev/null +++ b/target/javadoc-bundle-options/package-list @@ -0,0 +1,203 @@ +java.applet +java.awt +java.awt.color +java.awt.datatransfer +java.awt.dnd +java.awt.event +java.awt.font +java.awt.geom +java.awt.im +java.awt.im.spi +java.awt.image +java.awt.image.renderable +java.awt.print +java.beans +java.beans.beancontext +java.io +java.lang +java.lang.annotation +java.lang.instrument +java.lang.management +java.lang.ref +java.lang.reflect +java.math +java.net +java.nio +java.nio.channels +java.nio.channels.spi +java.nio.charset +java.nio.charset.spi +java.rmi +java.rmi.activation +java.rmi.dgc +java.rmi.registry +java.rmi.server +java.security +java.security.acl +java.security.cert +java.security.interfaces +java.security.spec +java.sql +java.text +java.text.spi +java.util +java.util.concurrent +java.util.concurrent.atomic +java.util.concurrent.locks +java.util.jar +java.util.logging +java.util.prefs +java.util.regex +java.util.spi +java.util.zip +javax.accessibility +javax.activation +javax.activity +javax.annotation +javax.annotation.processing +javax.crypto +javax.crypto.interfaces +javax.crypto.spec +javax.imageio +javax.imageio.event +javax.imageio.metadata +javax.imageio.plugins.bmp +javax.imageio.plugins.jpeg +javax.imageio.spi +javax.imageio.stream +javax.jws +javax.jws.soap +javax.lang.model +javax.lang.model.element +javax.lang.model.type +javax.lang.model.util +javax.management +javax.management.loading +javax.management.modelmbean +javax.management.monitor +javax.management.openmbean +javax.management.relation +javax.management.remote +javax.management.remote.rmi +javax.management.timer +javax.naming +javax.naming.directory +javax.naming.event +javax.naming.ldap +javax.naming.spi +javax.net +javax.net.ssl +javax.print +javax.print.attribute +javax.print.attribute.standard +javax.print.event +javax.rmi +javax.rmi.CORBA +javax.rmi.ssl +javax.script +javax.security.auth +javax.security.auth.callback +javax.security.auth.kerberos +javax.security.auth.login +javax.security.auth.spi +javax.security.auth.x500 +javax.security.cert +javax.security.sasl +javax.sound.midi +javax.sound.midi.spi +javax.sound.sampled +javax.sound.sampled.spi +javax.sql +javax.sql.rowset +javax.sql.rowset.serial +javax.sql.rowset.spi +javax.swing +javax.swing.border +javax.swing.colorchooser +javax.swing.event +javax.swing.filechooser +javax.swing.plaf +javax.swing.plaf.basic +javax.swing.plaf.metal +javax.swing.plaf.multi +javax.swing.plaf.synth +javax.swing.table +javax.swing.text +javax.swing.text.html +javax.swing.text.html.parser +javax.swing.text.rtf +javax.swing.tree +javax.swing.undo +javax.tools +javax.transaction +javax.transaction.xa +javax.xml +javax.xml.bind +javax.xml.bind.annotation +javax.xml.bind.annotation.adapters +javax.xml.bind.attachment +javax.xml.bind.helpers +javax.xml.bind.util +javax.xml.crypto +javax.xml.crypto.dom +javax.xml.crypto.dsig +javax.xml.crypto.dsig.dom +javax.xml.crypto.dsig.keyinfo +javax.xml.crypto.dsig.spec +javax.xml.datatype +javax.xml.namespace +javax.xml.parsers +javax.xml.soap +javax.xml.stream +javax.xml.stream.events +javax.xml.stream.util +javax.xml.transform +javax.xml.transform.dom +javax.xml.transform.sax +javax.xml.transform.stax +javax.xml.transform.stream +javax.xml.validation +javax.xml.ws +javax.xml.ws.handler +javax.xml.ws.handler.soap +javax.xml.ws.http +javax.xml.ws.soap +javax.xml.ws.spi +javax.xml.ws.wsaddressing +javax.xml.xpath +org.ietf.jgss +org.omg.CORBA +org.omg.CORBA.DynAnyPackage +org.omg.CORBA.ORBPackage +org.omg.CORBA.TypeCodePackage +org.omg.CORBA.portable +org.omg.CORBA_2_3 +org.omg.CORBA_2_3.portable +org.omg.CosNaming +org.omg.CosNaming.NamingContextExtPackage +org.omg.CosNaming.NamingContextPackage +org.omg.Dynamic +org.omg.DynamicAny +org.omg.DynamicAny.DynAnyFactoryPackage +org.omg.DynamicAny.DynAnyPackage +org.omg.IOP +org.omg.IOP.CodecFactoryPackage +org.omg.IOP.CodecPackage +org.omg.Messaging +org.omg.PortableInterceptor +org.omg.PortableInterceptor.ORBInitInfoPackage +org.omg.PortableServer +org.omg.PortableServer.CurrentPackage +org.omg.PortableServer.POAManagerPackage +org.omg.PortableServer.POAPackage +org.omg.PortableServer.ServantLocatorPackage +org.omg.PortableServer.portable +org.omg.SendingContext +org.omg.stub.java.rmi +org.w3c.dom +org.w3c.dom.bootstrap +org.w3c.dom.events +org.w3c.dom.ls +org.xml.sax +org.xml.sax.ext +org.xml.sax.helpers \ No newline at end of file diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..75d174e --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Wed Dec 19 16:38:37 CET 2012 +version=0.1.0-SNAPSHOT +groupId=org.gcube.applicationsupportlayer +artifactId=aslsocial diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..e18b361 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,7 @@ +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/ApplicationNewsManager.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/imageType/ImageType.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/SocialPortalBridge.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/ex/ApplicationProfileNotFoundException.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/NotificationManager.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/NewsManager.java +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/main/java/org/gcube/applicationsupportlayer/social/AslNotificationManager.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..d46cfd6 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +/Users/massi/Documents/workspace/applicationSupportLayerSocial/src/test/java/org/gcube/applicationsupportlayer/social/AppTest.java