Bow-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2011
- 4 participants
- 48 discussions
r207 - in trunk/src/main/webapp: WEB-INF/decorators jsp jsp/inc
by vbriand@users.chorem.org 18 Feb '11
by vbriand@users.chorem.org 18 Feb '11
18 Feb '11
Author: vbriand
Date: 2011-02-18 09:35:57 +0100 (Fri, 18 Feb 2011)
New Revision: 207
Url: http://chorem.org/repositories/revision/bow/207
Log:
Replaced deprecated "id" attribute by "var" attribute on all <s:url> tags
Modified:
trunk/src/main/webapp/WEB-INF/decorators/main.jsp
trunk/src/main/webapp/jsp/admin.jsp
trunk/src/main/webapp/jsp/error.jsp
trunk/src/main/webapp/jsp/forgotPassword.jsp
trunk/src/main/webapp/jsp/home.jsp
trunk/src/main/webapp/jsp/inc/bookmark.jsp
trunk/src/main/webapp/jsp/inc/footer.jsp
trunk/src/main/webapp/jsp/inc/rightMenu.jsp
trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
trunk/src/main/webapp/jsp/login.jsp
trunk/src/main/webapp/jsp/preferences.jsp
trunk/src/main/webapp/jsp/register.jsp
trunk/src/main/webapp/jsp/search.jsp
Modified: trunk/src/main/webapp/WEB-INF/decorators/main.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -39,17 +39,17 @@
<decorator:head />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="description" content="Bookmarks on the web" />
- <s:url id="temporaryXml" action="temporaryXml" />
- <s:url id="permanentXml" action="permanentXml" />
- <s:url id="favicon" value="/img/favicon.png" />
+ <s:url var="temporaryXml" action="temporaryXml" />
+ <s:url var="permanentXml" action="permanentXml" />
+ <s:url var="favicon" value="/img/favicon.png" />
<link rel="icon" type="image/png" href="${favicon}" />
<s:if test="%{#session.BowSession.user != null}">
<link rel="search" type="application/opensearchdescription+xml" title="Bow (temporary)" href="${temporaryXml}" />
<link rel="search" type="application/opensearchdescription+xml" title="Bow (permanent)" href="${permanentXml}" />
</s:if>
- <s:url id="globalCSS" value="/css/global.css" />
+ <s:url var="globalCSS" value="/css/global.css" />
<link href="${globalCSS}" rel="stylesheet" type="text/css" media="all" />
- <s:url id="bookmarkJS" value="/js/bookmark.js" />
+ <s:url var="bookmarkJS" value="/js/bookmark.js" />
<script type="text/javascript" src="${bookmarkJS}"></script>
</head>
<body id="page-home">
Modified: trunk/src/main/webapp/jsp/admin.jsp
===================================================================
--- trunk/src/main/webapp/jsp/admin.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/admin.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -30,7 +30,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
- <s:url id="css" value="/css/bookmark.css" />
+ <s:url var="css" value="/css/bookmark.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/error.jsp
===================================================================
--- trunk/src/main/webapp/jsp/error.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/error.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -32,7 +32,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
- <s:url id="css" value="/css/connexion.css" />
+ <s:url var="css" value="/css/connexion.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/forgotPassword.jsp
===================================================================
--- trunk/src/main/webapp/jsp/forgotPassword.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/forgotPassword.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -29,7 +29,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<title><s:text name="bow.forgotpwd.title" /></title>
- <s:url id="css" value="/css/connexion.css" />
+ <s:url var="css" value="/css/connexion.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/home.jsp
===================================================================
--- trunk/src/main/webapp/jsp/home.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/home.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -40,7 +40,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page">
<head>
<title><s:text name="bow.home.title" /></title>
- <s:url id="css" value="/css/bookmark.css" />
+ <s:url var="css" value="/css/bookmark.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -44,18 +44,18 @@
<s:property value="%{#bookmarkAlias}" />
</s:a>
<p class="date">(<s:property value="%{date}" />)</p>
- <s:url id="editBookmarkModify" action="modifyBookmark" escapeAmp="false">
+ <s:url var="editBookmarkModify" action="modifyBookmark" escapeAmp="false">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
<s:param name="fullTextLine"><s:property value="%{#fullTextLine}" /></s:param>
</s:url>
- <s:url id="editBookmark" action="modifyBookmark" escapeAmp="true">
+ <s:url var="editBookmark" action="modifyBookmark" escapeAmp="true">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
<s:param name="fullTextLine"><s:property value="%{#fullTextLine}" /></s:param>
</s:url>
<s:a cssClass="edit" href="%{editBookmark}" onclick="return modify('%{#bookmarkDescription}', '%{#bookmarkAlias}', '%{@org.chorem.bow.BookmarkUtils@getBookmarkTagsString(#request.bookmark)}', '%{#bookmarkLink}', '%{editBookmarkModify}', '%{#wikittyId}');"></s:a>
- <s:url id="removeBookmark" action="removeBookmark" escapeAmp="true">
+ <s:url var="removeBookmark" action="removeBookmark" escapeAmp="true">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
<s:param name="fullTextLine"><s:property value="%{#fullTextLine}" /></s:param>
@@ -68,7 +68,7 @@
<div class="description">
<h3><s:text name="bow.bookmark.description" /> :</h3>
<p>
- <s:url id="addClick" action="addClick">
+ <s:url var="addClick" action="addClick">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
</s:url>
<s:a title="%{#bookmarkLink}" href="%{addClick}" onclick="window.open(this.href); return false;"><s:property value="%{#bookmarkDescription}" /></s:a>
@@ -76,7 +76,7 @@
<p class="tags">
<strong><s:text name="bow.bookmark.tags" /> :</strong>
<s:iterator value="#request.bookmark.labels">
- <s:url id="deleteTag" action="deleteTag" escapeAmp="false">
+ <s:url var="deleteTag" action="deleteTag" escapeAmp="false">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="deleteTag"><s:property /></s:param>
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
@@ -92,7 +92,7 @@
<img style="border:none;" src="img/delete.png" alt="Delete tag" title="Delete" />
</a>
</s:else>
- <s:url id="search" action="search">
+ <s:url var="search" action="search">
<s:param name="searchLine"><s:property /></s:param>
</s:url>
<s:a href="%{search}" cssStyle="text-decoration:none"><s:property /></s:a>
Modified: trunk/src/main/webapp/jsp/inc/footer.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -35,10 +35,10 @@
<a shape="rect" href="http://www.codelutin.com">Code Lutin</a> -
<a shape="rect" href="http://www.chorem.org/projects/bow/issues"><s:text name="bow.footer.bugreport" /></a> -
<a shape="rect" href="http://list.chorem.org/cgi-bin/mailman/listinfo/bow-users"><s:text name="bow.footer.userSupport" /></a> -
- <s:url id="localeEN">
+ <s:url var="localeEN">
<s:param name="request_locale">en_GB</s:param>
</s:url>
- <s:url id="localeFR">
+ <s:url var="localeFR">
<s:param name="request_locale">fr_FR</s:param>
</s:url>
<s:a href="%{localeEN}"><s:text name="bow.action.locale.english" /></s:a> -
Modified: trunk/src/main/webapp/jsp/inc/rightMenu.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -71,7 +71,7 @@
</div>
<div id="add" class="clearfix">
<h2><s:text name="bow.rightMenu.bookmark.addModify" /></h2>
- <s:form id="bookmarkForm" action="%{#request.formAction}">
+ <s:form var="bookmarkForm" action="%{#request.formAction}">
<p>
<s:textfield key="bow.rightMenu.bookmark.link" name="link" value="%{#request.link}" labelSeparator="" /><br />
<s:textfield key="bow.rightMenu.bookmark.alias" name="alias" value="%{#request.alias}" labelSeparator="" /><br />
Modified: trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -35,7 +35,7 @@
<s:set var="maxTags" value="#session.BowSession.preference.tags" />
</s:else>
<s:iterator value="%{#request.bookmarkActions.tagsCloud}" status="tag" begin="0" end="%{#maxTags - 1}">
- <s:url id="search" action="search" escapeAmp="true">
+ <s:url var="search" action="search" escapeAmp="true">
<s:param name="addTag"><s:property value="topicName" /></s:param>
<s:if test="%{request.searchLine != null}">
<s:param name="searchLine">&searchLine=<s:property value="%{request.searchLine}" /></s:param>
Modified: trunk/src/main/webapp/jsp/login.jsp
===================================================================
--- trunk/src/main/webapp/jsp/login.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/login.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -28,7 +28,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page">
<head>
<title><s:text name="bow.login.title" /></title>
- <s:url id="css" value="/css/connexion.css" />
+ <s:url var="css" value="/css/connexion.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/src/main/webapp/jsp/preferences.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/preferences.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -38,7 +38,7 @@
xmlns:jsp="http://java.sun.com/JSP/Page">
<head>
<title><s:text name="bow.preferences.title" /></title>
- <s:url id="css" value="/css/bookmark.css" />
+ <s:url var="css" value="/css/bookmark.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
@@ -78,7 +78,7 @@
:</strong><%=temporaryToken%>
</li>
</ul>
- <s:url id="regenPermToken" action="regenPermToken"/>
+ <s:url var="regenPermToken" action="regenPermToken"/>
<s:a href="%{regenPermToken}" id="regenPermToken"><s:text
name="bow.preferences.regenPermToken"/></s:a>
</p>
@@ -94,7 +94,7 @@
<s:hidden name="update" value="1" />
<s:submit key="bow.preferences.submit" name="submit" />
<br /><br />
- <s:url id="home" action="home" />
+ <s:url var="home" action="home" />
<s:a href="%{home}" id="homePage"><s:text name="bow.home.title" /></s:a>
</p>
</div>
@@ -120,7 +120,7 @@
%>
<div class="deleteImport deleteImport<%=bgColors[i % colorsNb]%>">
<span><%= date + " (" + bookmarkImport.getCount() + " bookmarks)" %></span>
- <s:url id="deleteImport" action="deleteImport">
+ <s:url var="deleteImport" action="deleteImport">
<s:param name="date"><%=dateSave%></s:param>
</s:url>
<a class="deleteImportButton" href="" onclick="deleteConfirmation('<s:property value="%{deleteImport}" />','<%=bookmarkImport.getCount()%>','<%=date%>'); return(false);"></a>
Modified: trunk/src/main/webapp/jsp/register.jsp
===================================================================
--- trunk/src/main/webapp/jsp/register.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/register.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -29,7 +29,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<title><s:text name="bow.register.title" /></title>
- <s:url id="css" value="/css/connexion.css" />
+ <s:url var="css" value="/css/connexion.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
Modified: trunk/src/main/webapp/jsp/search.jsp
===================================================================
--- trunk/src/main/webapp/jsp/search.jsp 2011-02-17 01:16:20 UTC (rev 206)
+++ trunk/src/main/webapp/jsp/search.jsp 2011-02-18 08:35:57 UTC (rev 207)
@@ -44,7 +44,7 @@
<head>
<title><s:text name="bow.search.title" /></title>
- <s:url id="css" value="/css/bookmark.css" />
+ <s:url var="css" value="/css/bookmark.css" />
<link href="${css}" rel="stylesheet" type="text/css" />
<s:head />
</head>
@@ -65,7 +65,7 @@
<s:submit key="bow.search.submit" name="submit" />
<s:set name="bookmarksToDelete" value="%{#request.bookmarkActions.getBookmarks().size()}" />
<s:if test="%{#bookmarksToDelete > 0}">
- <s:url id="deleteSearchResults" action="deleteSearchResults" escapeAmp="false">
+ <s:url var="deleteSearchResults" action="deleteSearchResults" escapeAmp="false">
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
<s:param name="fullTextLine"><s:property value="%{#fullText}" /></s:param>
</s:url>
1
0
r206 - in trunk: . src/main/java/org/chorem/bow src/main/java/org/chorem/bow/action src/main/java/org/chorem/bow/interceptor src/main/resources src/main/resources/i18n src/main/webapp/jsp src/main/webapp/jsp/inc src/main/xmi
by bpoussin@users.chorem.org 17 Feb '11
by bpoussin@users.chorem.org 17 Feb '11
17 Feb '11
Author: bpoussin
Date: 2011-02-17 02:16:20 +0100 (Thu, 17 Feb 2011)
New Revision: 206
Url: http://chorem.org/repositories/revision/bow/206
Log:
Anomalie #279: Bookmarks loss on email change
Evolution #289: Change data model (user, token, Bookmark)
Evolution #291: Create application to migrate data model
Evolution #297: Permit admin authentification with password in config file
Evolution #298: Add migration link in admin page
(data ok et ca refonctionne, reste maintenant un gros refactoring/reecriture)
Added:
trunk/src/main/java/org/chorem/bow/BowMigration04To05.java
trunk/src/main/java/org/chorem/bow/action/Migrate04To05Action.java
trunk/src/main/xmi/README
trunk/src/main/xmi/bow-0.4.zargo
Modified:
trunk/pom.xml
trunk/src/main/java/org/chorem/bow/AliasServlet.java
trunk/src/main/java/org/chorem/bow/BookmarkActions.java
trunk/src/main/java/org/chorem/bow/BookmarkUtils.java
trunk/src/main/java/org/chorem/bow/BowConfig.java
trunk/src/main/java/org/chorem/bow/BowInit.java
trunk/src/main/java/org/chorem/bow/BowProxy.java
trunk/src/main/java/org/chorem/bow/BowSearch.java
trunk/src/main/java/org/chorem/bow/BowSession.java
trunk/src/main/java/org/chorem/bow/BowUtils.java
trunk/src/main/java/org/chorem/bow/OpenSearchActions.java
trunk/src/main/java/org/chorem/bow/action/AddClickAction.java
trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java
trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java
trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java
trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java
trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java
trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java
trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java
trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java
trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java
trunk/src/main/java/org/chorem/bow/action/HomeAction.java
trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
trunk/src/main/java/org/chorem/bow/action/LoginAction.java
trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java
trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
trunk/src/main/java/org/chorem/bow/action/OrderAction.java
trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java
trunk/src/main/java/org/chorem/bow/action/RegisterAction.java
trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java
trunk/src/main/java/org/chorem/bow/action/SearchAction.java
trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java
trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java
trunk/src/main/resources/i18n/bow_en_GB.properties
trunk/src/main/resources/i18n/bow_fr_FR.properties
trunk/src/main/resources/struts.xml
trunk/src/main/webapp/jsp/admin.jsp
trunk/src/main/webapp/jsp/home.jsp
trunk/src/main/webapp/jsp/inc/bookmark.jsp
trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
trunk/src/main/webapp/jsp/preferences.jsp
trunk/src/main/webapp/jsp/search.jsp
trunk/src/main/xmi/bow.zargo
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/pom.xml 2011-02-17 01:16:20 UTC (rev 206)
@@ -47,7 +47,7 @@
<eugenePluginVersion>2.3.2</eugenePluginVersion>
<nuitonUtilsVersion>2.0</nuitonUtilsVersion>
<nuitonI18nVersion>2.3.1</nuitonI18nVersion>
- <wikittyVersion>3.0.4</wikittyVersion>
+ <wikittyVersion>3.0.5-SNAPSHOT</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2Version>2.1.8.1</struts2Version>
@@ -257,11 +257,16 @@
<configuration>
<inputs>
<input>zargo</input>
+ <input>classpath:model:/:wikitty.objectmodel</input>
</inputs>
<!-- <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> -->
<templates>org.nuiton.wikitty.generator.WikittyMetaGenerator
</templates>
<fullPackagePath>org.chorem.bow</fullPackagePath>
+ <defaultPackage>org.chorem.bow</defaultPackage>
+ <extractedPackages>
+ org.chorem.bow,org.nuiton.wikitty
+ </extractedPackages>
<generatedPackages>org.chorem.bow</generatedPackages>
</configuration>
<goals>
Modified: trunk/src/main/java/org/chorem/bow/AliasServlet.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/AliasServlet.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/AliasServlet.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -35,6 +35,7 @@
import org.nuiton.wikitty.search.Search;
/**
+ * TODO poussin 20110216 a revoir avec le ticket http://www.chorem.org/issues/show/295
*
* @author bbrossaud
*/
@@ -68,8 +69,9 @@
alias = alias.substring(1);
BowSession session = BowSession.getBowSession(request);
WikittyProxy proxy = session.getProxy();
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_ALIAS, alias).criteria();
- Bookmark bookmark = proxy.findByCriteria(Bookmark.class, criteria);
+ Criteria criteria = Search.query().eq(
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, alias).criteria();
+ BowBookmark bookmark = proxy.findByCriteria(BowBookmark.class, criteria);
if (bookmark != null) {
String redirect = bookmark.getLink();
int clicks = bookmark.getClick() + 1;
Modified: trunk/src/main/java/org/chorem/bow/BookmarkActions.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -40,8 +40,8 @@
public class BookmarkActions {
protected String fullTextLine = "";
- protected List<Bookmark> bookmarks = new ArrayList<Bookmark>(); // bookmarks which contain the search tags
- protected List<Bookmark> lastBookmarks = new ArrayList<Bookmark>();
+ protected List<BowBookmark> bookmarks = new ArrayList<BowBookmark>(); // bookmarks which contain the search tags
+ protected List<BowBookmark> lastBookmarks = new ArrayList<BowBookmark>();
protected List<FacetTopic> tagsCloud = new ArrayList<FacetTopic>(); // associate a tag with its frequency
protected List<String> tagsSearch = new ArrayList<String>(); // contains the tags taped in the search field
protected int tmax = -1;
@@ -101,9 +101,9 @@
}
public void emptySearchline() {
- List<Bookmark> bookmarkList = new ArrayList<Bookmark>(bookmarks);
- for (Bookmark bookmark : bookmarkList) {
- Set<String> tags = bookmark.getTags();
+ List<BowBookmark> bookmarkList = new ArrayList<BowBookmark>(bookmarks);
+ for (BowBookmark bookmark : bookmarkList) {
+ Set<String> tags = bookmark.getLabels();
if (tags != null && !tags.isEmpty()) {
bookmarks.remove(bookmark);
}
@@ -126,13 +126,13 @@
}
}
- public void setBookmarks(List<Bookmark> bookmarksList) {
- List<Bookmark> newList = new ArrayList<Bookmark>(bookmarksList);
+ public void setBookmarks(List<BowBookmark> bookmarksList) {
+ List<BowBookmark> newList = new ArrayList<BowBookmark>(bookmarksList);
bookmarks = newList;
}
- public void setLastBookmarks(List<Bookmark> bookmarksList) {
- List<Bookmark> newList = new ArrayList<Bookmark>(bookmarksList);
+ public void setLastBookmarks(List<BowBookmark> bookmarksList) {
+ List<BowBookmark> newList = new ArrayList<BowBookmark>(bookmarksList);
lastBookmarks = newList;
}
@@ -166,11 +166,11 @@
return tagsSearch;
}
- public List<Bookmark> getBookmarks() {
+ public List<BowBookmark> getBookmarks() {
return bookmarks;
}
- public List<Bookmark> getLastBookmarks() {
+ public List<BowBookmark> getLastBookmarks() {
return lastBookmarks;
}
Modified: trunk/src/main/java/org/chorem/bow/BookmarkUtils.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -43,27 +43,31 @@
public class BookmarkUtils {
- static public Criteria getBookmarkListCriteriaByUser(User user, String searchLine) {
+ static public Criteria getBookmarkListCriteriaByUser(BowPreference user, String searchLine) {
Criteria criteria = null;
if (user != null) {
if (searchLine != null && !searchLine.isEmpty()) {
String[] words = searchLine.split("\\s+"); //Puts the tags in an array
List<String> tags = new ArrayList<String>(Arrays.asList(words));
- criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).
- eq(Bookmark.FQ_FIELD_BOOKMARK_TAGS, tags).criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ criteria = Search.query()
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId())
+ .eq(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS, tags).criteria()
+ .addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
} else {
- criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).
- criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ criteria = Search.query().eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).
+ criteria().addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
}
+ criteria.setEndIndex(user.getBookmarks());
}
return criteria;
}
- static public BookmarkActions createBookmarkActions(HttpServletRequest request, PagedResult<Bookmark> result, String searchLine) {
+ static public BookmarkActions createBookmarkActions(HttpServletRequest request,
+ PagedResult<BowBookmark> result, String searchLine) {
String fullText = request.getParameter("fullTextLine");
BookmarkActions bookmarkActions = new BookmarkActions();
bookmarkActions.setFullTextLine(fullText);
- List<Bookmark> bookList = result.getAll();
+ List<BowBookmark> bookList = result.getAll();
if (bookList != null) {
bookmarkActions.setBookmarks(bookList);
@@ -75,18 +79,22 @@
bookmarkActions.addTags(searchLine); //Adds the new tags
}
}
- List<FacetTopic> topics = result.getTopic(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ List<FacetTopic> topics = result.getTopic(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
bookmarkActions.createTagCloud(topics);
return bookmarkActions;
}
- static public List<FacetTopic> getBookmarksByImportDate(HttpServletRequest request, User user) {
+ static public List<FacetTopic> getBookmarksByImportDate(HttpServletRequest request, BowUser user) {
BowSession session = BowSession.getBowSession(request);
WikittyProxy proxy = session.getProxy();
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Import.EXT_IMPORT).eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria().
- addFacetField(Import.FQ_FIELD_IMPORT_DATE);
+ Criteria criteria = Search.query()
+ .eq(Element.ELT_EXTENSION, BowImport.EXT_BOWIMPORT)
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria()
+ .addFacetField(BowImport.FQ_FIELD_BOWIMPORT_IMPORTDATE)
+ .setFirstIndex(0).setEndIndex(0);
List<FacetTopic> bookmarksImportDate =
- proxy.findAllByCriteria(Import.class, criteria).getTopic(Import.FQ_FIELD_IMPORT_DATE);
+ proxy.findAllByCriteria(BowImport.class, criteria)
+ .getTopic(BowImport.FQ_FIELD_BOWIMPORT_IMPORTDATE);
request.setAttribute("bookmarksImportDate", bookmarksImportDate);
return bookmarksImportDate;
}
@@ -96,11 +104,11 @@
* @param user User user
* @return Bookmark the bookmark filled
*/
- public static Bookmark createBookmarkFromHtml(String html, String name, User user) {
+ public static BowBookmark createBookmarkFromHtml(String html, String name, BowUser user) {
String link = getUrlFromHtml(html);
String tags = getTagsFromHtml(html);
Date date = getDateFromHtml(html);
- Bookmark bookmark = createBookmark(link, name, tags, user, null, date);
+ BowBookmark bookmark = createBookmark(link, name, tags, user, null, date);
return bookmark;
}
@@ -126,23 +134,23 @@
/* @param bookmarks List<Bookmarks> bookmarks
* @return String the html file
*/
- public static String getExportHtmlBookmark(List<Bookmark> bookmarks) {
+ public static String getExportHtmlBookmark(List<BowBookmark> bookmarks) {
String export;
export = "<!DOCTYPE NETSCAPE-Bookmark-file-1>\n"
+ "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">\n"
+ "<DL><p>\n";
if (bookmarks != null) {
- for (Bookmark bookmark : bookmarks) {
+ for (BowBookmark bookmark : bookmarks) {
export += "<DT><A HREF=\"";
export += bookmark.getLink() + "\" ";
- Date date = bookmark.getDate();
+ Date date = bookmark.getCreationDate();
if (date != null) {
long milli = date.getTime();
String time = String.valueOf(milli / 1000);
export += "ADD_DATE=\"" + time + "\" LAST_MODIFIED=\"" + time + "\" ";
}
export += "LAST_CHARSET=\"UTF-8\" ";
- Set<String> tags = bookmark.getTags();
+ Set<String> tags = bookmark.getLabels();
if (tags != null && !tags.isEmpty()) {
export += "SHORTCUTURL=\"" + getBookmarkTagsString(bookmark) + "\"";
}
@@ -187,9 +195,9 @@
* @return null if all fields are not correctly filled
* @return Bookmark the website bookmark
*/
- public static Bookmark createBookmark(String url, String nameAndTags, User user) {
+ public static BowBookmark createBookmark(String url, String nameAndTags, BowUser user) {
- Bookmark bookmark = new BookmarkImpl();
+ BowBookmark bookmark = new BowBookmarkImpl();
int nameIndex = nameAndTags.indexOf('|'); // get the index name of the website
if (nameIndex > 0) {
@@ -197,7 +205,7 @@
if (!name.isEmpty()) {
name = name.trim();
bookmark.setDescription(name); // set the description (website name)
- bookmark.setAlias(name);
+ bookmark.setPrivateAlias(name);
}
}
String tags = nameAndTags;
@@ -207,12 +215,12 @@
addTagsToBookmark(tags, bookmark);
addUrlToBookmark(url, bookmark);
bookmark.setClick(0);
- bookmark.setEmail(user.getEmail()); // set the email (user name)
- bookmark.setDate(new Date()); // set the date
+ bookmark.setBowUser(user.getWikittyId()); // set the email (user name)
+ bookmark.setCreationDate(new Date()); // set the date
return bookmark;
}
- public static void addUrlToBookmark(String url, Bookmark bookmark) {
+ public static void addUrlToBookmark(String url, BowBookmark bookmark) {
if (url != null && !url.isEmpty()) {
String link = url.trim();
if (! link.matches("[a-z]+://.+") ) {
@@ -224,7 +232,7 @@
}
}
- public static void addTagsToBookmark(String tags, Bookmark bookmark) {
+ public static void addTagsToBookmark(String tags, BowBookmark bookmark) {
if (tags != null && !tags.isEmpty()) {
String[] tagsTab = tags.split("\\s+"); // put the tags in an array
List<String> tagList = Arrays.asList(tagsTab);
@@ -232,13 +240,13 @@
}
}
- public static void addTagsToBookmark(List<String> tagList, Bookmark bookmark) {
+ public static void addTagsToBookmark(List<String> tagList, BowBookmark bookmark) {
if (tagList != null) {
for (String tag : tagList) {
if (tag != null && !tag.isEmpty()) {
// on peut ajouter plusieurs fois le meme tag, car on les
// stocke dans un Set
- bookmark.addTags(tag);
+ bookmark.addLabels(tag);
}
}
}
@@ -255,9 +263,9 @@
* @param date
* @return
*/
- public static Bookmark createBookmark(String url, String name, String tags,
- User user, String alias, Date date) {
- Bookmark bookmark = new BookmarkImpl();
+ public static BowBookmark createBookmark(String url, String name, String tags,
+ BowUser user, String alias, Date date) {
+ BowBookmark bookmark = new BowBookmarkImpl();
if (name != null) {
name = name.trim();
bookmark.setDescription(name);
@@ -271,44 +279,45 @@
bookmark.setClick(0);
- bookmark.setEmail(user.getEmail()); // set the email (user name)
+ bookmark.setBowUser(user.getWikittyId()); // set the email (user name)
if (date == null) {
date = new Date();
}
- bookmark.setDate(date); // set the date
+ bookmark.setCreationDate(date); // set the date
if (alias != null) {
alias = alias.trim();
- bookmark.setAlias(alias);
+ bookmark.setPrivateAlias(alias);
} else {
- bookmark.setAlias("");
+ bookmark.setPrivateAlias("");
}
return bookmark;
}
- public static void updateBookmarkName(Bookmark bookmark, String name) {
+ public static void updateBookmarkName(BowBookmark bookmark, String name) {
if (name != null) {
name = name.trim();
bookmark.setDescription(name);
}
}
- public static void updateBookmark(Bookmark bookmark, String name, String link, String tags, String alias) {
+ public static void updateBookmark(BowBookmark bookmark, String name,
+ String link, String tags, String alias) {
if (name != null) {
name = name.trim();
bookmark.setDescription(name);
}
addUrlToBookmark(link, bookmark);
- bookmark.clearTags();
+ bookmark.clearLabels();
addTagsToBookmark(tags, bookmark);
if (alias != null) {
alias = alias.trim();
- bookmark.setAlias(alias);
+ bookmark.setPrivateAlias(alias);
}
}
- public static String getBookmarkTagsString(Bookmark bookmark) {
+ public static String getBookmarkTagsString(BowBookmark bookmark) {
if (bookmark != null) {
- Set<String> tags = bookmark.getTags();
+ Set<String> tags = bookmark.getLabels();
if (tags != null) {
return StringUtil.join(tags, " ", true);
}
Modified: trunk/src/main/java/org/chorem/bow/BowConfig.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowConfig.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowConfig.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -173,6 +173,15 @@
return StringUtil.split(str, ",");
}
+ /**
+ * Return password for specified admin email
+ * @param admin
+ * @return null or password if available
+ */
+ public String getAdminPassword(String admin) {
+ String str = getOption(Option.BOW_ADMINS.key + ".password." + admin);
+ return str;
+ }
// /**
// * Set {@code solr} and {@code jms} system configuration.
// *
Modified: trunk/src/main/java/org/chorem/bow/BowInit.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -96,19 +96,27 @@
// }
// }
//
- static public void initHomePage(HttpServletRequest request, User user) {
+ static public void initHomePage(HttpServletRequest request, BowPreference user) {
BowSession session = BowSession.getBowSession(request);
+ BowPreference pref = session.getPreference();
+
WikittyProxy proxy = session.getProxy();
Criteria criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
if (criteria != null) {
- Criteria sortCriteria = criteria.addSortDescending(Bookmark.FQ_FIELD_BOOKMARK_CLICK);
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, sortCriteria); //Selects all bookmarks by user
- sortCriteria = criteria.addSortDescending(Bookmark.FQ_FIELD_BOOKMARK_DATE).setEndIndex(10);//TODO: remove hardcoded value
- List<Bookmark> lastBookmarks = proxy.findAllByCriteria(Bookmark.class, sortCriteria).getAll();
- BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
+ Criteria sortCriteria =
+ criteria.addSortDescending(BowBookmark.FQ_FIELD_BOWBOOKMARK_CLICK)
+ .setEndIndex(10); //TODO: remove hardcoded value
+ PagedResult<BowBookmark> result = proxy.findAllByCriteria(BowBookmark.class, sortCriteria); //Selects all bookmarks by user
+ sortCriteria =
+ criteria.addSortDescending(BowBookmark.FQ_FIELD_BOWBOOKMARK_CREATIONDATE)
+ .setEndIndex(10); //TODO: remove hardcoded value
+ List<BowBookmark> lastBookmarks =
+ proxy.findAllByCriteria(BowBookmark.class, sortCriteria).getAll();
+ BookmarkActions bookmarkActions =
+ BookmarkUtils.createBookmarkActions(request, result, null);
bookmarkActions.setTagSearch(null);
- List<Bookmark> bookList = bookmarkActions.getBookmarks();
+ List<BowBookmark> bookList = bookmarkActions.getBookmarks();
if (bookList.size() > 10) { //TODO: remove hardcoded value
bookList = bookmarkActions.getBookmarks().subList(0, 10); //TODO: remove hardcoded value
Added: trunk/src/main/java/org/chorem/bow/BowMigration04To05.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowMigration04To05.java (rev 0)
+++ trunk/src/main/java/org/chorem/bow/BowMigration04To05.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -0,0 +1,139 @@
+package org.chorem.bow;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.search.PagedResult;
+
+/**
+ * Migre les données depuis la version 0.4 vers la version 0.5.
+ * On suppose que les données sont convenablement indexee.
+ *
+ * <li> renomage de User -> BowUser (qui hérite de WikittyUser)
+ * <li> renomage de Preference -> BowPreference
+ * <li> renomage de Bookmark -> BowBookmark
+ * <li> renomage de Import -> BowImport
+ *
+ * <li> deplacement de User.email -> BowUser(WikittyUser).login
+ * <li> deplacement de User.password -> BowUser(WikittyUser).password
+ * <li> deplacement de Token.token -> BowUser.permanentToken
+ * <li> deplacement de Bookmark.date -> BowBookmark.creationDate
+ * <li> deplacement de Bookmark.alias -> BowBookmark.privateAlias
+ * <li> deplacement de Bookmark.tags -> BowBookmark(WikittyLabel).labels
+ * <li> deplacement de Import.date -> BowImport(BowBookmark).importDate
+ *
+ * <li> suppression de Token
+ *
+ * <li> remplacement de Bookmark.email -> lien vers BowUser
+ *
+ * <li> ajout sur BowBookmark d'un lien vers BowImport
+ * <li> ajout sur BowImport d'un lien vers BowUser
+ *
+ * Le nouvel objet BowAlias a ete ajoute, rien est a faire avec pour la
+ * migration.
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class BowMigration04To05 {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(BowMigration04To05.class);
+
+ /** nombre d'objet a charger en 1 fois */
+ final static public int MAX = 100;
+
+ /**
+ * Point d'entree de la migration
+ *
+ * @param proxy
+ */
+ static public void migrate(WikittyProxy proxy) {
+ UserImpl userExample = new UserImpl();
+ int i = 0;
+ PagedResult<UserImpl> pagedUser;
+ do {
+ pagedUser = proxy.findAllByExample(userExample, i, i += MAX);
+ List<UserImpl> users = pagedUser.getAll();
+ List<BowUser> bowUsers = migrateUser(proxy, users);
+ proxy.store(bowUsers);
+ proxy.delete(users);
+ } while (pagedUser.size() >= MAX);
+ }
+
+ static public List<BowUser> migrateUser(WikittyProxy proxy, List<UserImpl> users) {
+ List<BowUser> result = new ArrayList<BowUser>(users.size());
+ for (UserImpl user : users) {
+ BowPreference bowUser = new BowPreferenceImpl();
+ result.add(bowUser);
+
+ // copie des informations du user
+ bowUser.setLogin(user.getEmail());
+ bowUser.setPassword(user.getPassword());
+
+ // copie des preferences
+ Preference pref = proxy.restore(Preference.class, user.getWikittyId());
+ bowUser.setColors(pref.getColors());
+ bowUser.setSearchEngineUrlResults(pref.getSearchEngineUrlResults());
+ bowUser.setSearchEngineUrlSuggestions(pref.getSearchEngineUrlSuggestions());
+ bowUser.setTags(pref.getTags());
+ bowUser.setBookmarks(pref.getBookmarks());
+
+ // copie du permanent token
+ TokenImpl tokenExample = new TokenImpl();
+ tokenExample.setEmail(user.getEmail());
+ TokenImpl permanentToken = proxy.findByExample(tokenExample);
+ bowUser.setPermanentToken(permanentToken.getToken());
+
+ // migration des bookmarks
+ BookmarkImpl bookmarkExample = new BookmarkImpl();
+ bookmarkExample.setEmail(user.getEmail());
+ int i = 0;
+ PagedResult<BookmarkImpl> pagedBookmark;
+ do {
+ pagedBookmark = proxy.findAllByExample(bookmarkExample, i, i+=MAX);
+ List<BookmarkImpl> bookmarks = pagedBookmark.getAll();
+ List<BowBookmark> bowbookmarks =
+ migrateBookmark(proxy, bowUser, bookmarks);
+ proxy.store(bowbookmarks);
+ proxy.delete(bookmarks);
+ } while (pagedBookmark.size() >= MAX);
+ }
+ return result;
+ }
+
+ static public List<BowBookmark> migrateBookmark(WikittyProxy proxy, BowUser user,
+ List<BookmarkImpl> bookmarks) {
+ List<BowBookmark> result = new ArrayList<BowBookmark>(bookmarks.size());
+ for (BookmarkImpl bookmark : bookmarks) {
+ BowBookmark bowBookmark = new BowBookmarkImpl();
+ result.add(bowBookmark);
+
+ // copie du bookmark
+ bowBookmark.setBowUser(user.getWikittyId());
+ bowBookmark.setClick(bookmark.getClick());
+ bowBookmark.setCreationDate(bookmark.getDate());
+ bowBookmark.setDescription(bookmark.getDescription());
+ bowBookmark.setLabels(bookmark.getTags());
+ bowBookmark.setLink(bookmark.getLink());
+ bowBookmark.setPrivateAlias(bookmark.getAlias());
+
+ // copie de l'import si besoin
+ Wikitty w = proxy.getWikitty(bookmark);
+ if (ImportHelper.hasExtension(w)) {
+ Wikitty bowImport = proxy.getWikitty(bowBookmark);
+ BowImportHelper.addExtension(bowImport);
+ BowImportHelper.setImportDate(bowImport, ImportHelper.getDate(w));
+ }
+ }
+ return result;
+ }
+
+}
Modified: trunk/src/main/java/org/chorem/bow/BowProxy.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowProxy.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowProxy.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,6 +23,7 @@
*/
package org.chorem.bow;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.nuiton.util.ApplicationConfig;
@@ -73,17 +74,11 @@
static protected WikittyService getWikittyService(ApplicationConfig config) {
if (ws == null) {
synchronized(BowProxy.class) {
- if (ws == null) {
- /*
- * Fixe me when wikitty will integrate this function
- */
- WikittyExtensionMigration.migrationRegistry.put(User.EXT_USER, new UserMigration());
-
- List<WikittyExtension> extensions = Arrays.asList(
- UserImpl.extensionUser,
- PreferenceImpl.extensionPreference,
- BookmarkImpl.extensionBookmark,
- TokenImpl.extensionToken);
+ if (ws == null) {
+ List<WikittyExtension> extensions = new ArrayList<WikittyExtension>();
+ extensions.addAll(BowPreferenceImpl.extensions); // inherit BowUSer, WikittyUser
+ extensions.addAll(BowImportImpl.extensions); // inherit BowBookmark, WikittyLabel
+ extensions.addAll(BowAliasImpl.extensions);
ws = WikittyServiceFactory.buildWikittyService(config);
ws.storeExtension(null, extensions);
Modified: trunk/src/main/java/org/chorem/bow/BowSearch.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -35,7 +35,7 @@
public class BowSearch {
- static public void search(HttpServletRequest request, User user)
+ static public void search(HttpServletRequest request, BowPreference user)
throws IOException, ServletException {
String searchLine = request.getParameter("searchLine");
@@ -59,17 +59,18 @@
BowSession session = BowSession.getBowSession(request);
WikittyProxy proxy = session.getProxy();
Criteria criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
- criteria = criteria.addSortDescending(Bookmark.FQ_FIELD_BOOKMARK_CLICK);
+ criteria = criteria.addSortDescending(BowBookmark.FQ_FIELD_BOWBOOKMARK_CLICK);
if (criteria != null) {
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria); //Selects all bookmarks by user
+ PagedResult<BowBookmark> result =
+ proxy.findAllByCriteria(BowBookmark.class, criteria); //Selects all bookmarks by user
BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, searchLine);
request.setAttribute("bookmarkActions", bookmarkActions);
}
}
}
- static public void fullText(HttpServletRequest request, User user) throws IOException, ServletException {
+ static public void fullText(HttpServletRequest request, BowPreference user) throws IOException, ServletException {
String fullText = request.getParameter("fullTextLine");
if (fullText == null || fullText.isEmpty()) {
@@ -81,12 +82,12 @@
if (!fullText.isEmpty()) {
criteria = Search.query().keyword(fullText).
- eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria().
- addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria().
+ addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
} else {
criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
}
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ PagedResult<BowBookmark> result = proxy.findAllByCriteria(BowBookmark.class, criteria);
BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
request.setAttribute("bookmarkActions", bookmarkActions);
}
Modified: trunk/src/main/java/org/chorem/bow/BowSession.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSession.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowSession.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,15 +23,13 @@
*/
package org.chorem.bow;
-
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.search.Search;
+import org.nuiton.wikitty.entities.Wikitty;
/**
* Classe utilisee pour stocker les objets utils en session utilisateur
@@ -50,9 +48,8 @@
static final private String BOW_SESSION_KEY = BowSession.class.getSimpleName();
protected BowProxy proxy;
- protected User user = null;
- protected Preference preference = null;
- protected String permanentToken = null;
+ // preference herite de user, on ne stocke que preference
+ protected BowPreference preference = null;
protected String temporaryToken = null;
protected boolean admin = false;
@@ -92,39 +89,26 @@
return proxy;
}
- public Preference getPreference() {
+ public BowPreference getPreference() {
return preference;
}
- public void setPreference(Preference preference) {
- this.preference = preference;
- }
-
- public User getUser() {
- return user;
- }
-
- public void setUser(User user) {
- // si c'est le meme user, on ne fait rien
- if (ObjectUtils.equals(this.user, user)) {
+ public void setPreference(BowPreference preference) {
+ // si c'est le meme objet on ne fait rien
+ if (this.preference == preference) {
return;
}
- this.user = user;
-
- if (user != null) {
- // load user preference
- Preference preference = getProxy().restore(Preference.class, user.getWikittyId());
+ if (preference != null) {
checkPreference(preference);
- setPreference(preference);
// check if this user is admin
- String email = user.getEmail();
+ String login = preference.getLogin();
String[] admins = BowConfig.getInstance().getAdmins();
boolean isAdmin = false;
if (admins != null) {
for (String admin : admins) {
- if (email.equals(admin)) {
+ if (login.equals(admin)) {
isAdmin = true;
break;
}
@@ -132,37 +116,39 @@
}
setAdmin(isAdmin);
- // retrieve or generate permanent token
- loadToken();
+ // si c'est le meme user, on ne regenere pas le temporaryToken
+ if (!ObjectUtils.equals(this.preference, preference)) {
+ // generate temporary token
+ String temporaryToken = BowUtils.generateToken();
+ setTemporaryToken(temporaryToken);
+ }
}
+ this.preference = preference;
}
- /**
- * if user is set. Load or create token for this user. temporary token
- * is regenerated
- */
- public void loadToken() {
- if (getUser() != null) {
- String email = getUser().getEmail();
-
- // retrieve or generate permanent token
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_TOKEN_EMAIL, email).criteria();
- Token token = getProxy().findByCriteria(Token.class, criteria);
- if (token == null) {
- token = new TokenImpl();
- String newToken = BowUtils.generateToken();
- token.setToken(newToken);
- token.setEmail(email);
- token = proxy.store(token);
+ public BowUser getUser() {
+ return preference;
+ }
+
+ public void setUser(BowUser user) {
+ // si c'est le meme objet on ne fait rien
+ if (this.preference == user) {
+ return;
+ }
+
+ BowPreference preference = null;
+ if (user != null) {
+ // load user preference
+ preference = getProxy().restore(BowPreference.class, user.getWikittyId());
+ if (preference == null) {
+ Wikitty w = getProxy().getWikitty(user);
+ preference = new BowPreferenceImpl(w);
}
- // generate new temporary token
- setPermanentToken(token.getToken());
- String temporaryToken = BowUtils.generateToken();
- setTemporaryToken(temporaryToken);
}
+ setPreference(preference);
}
- protected void checkPreference(Preference preference) {
+ protected void checkPreference(BowPreference preference) {
if (preference.getBookmarks() <= 0) {
preference.setBookmarks(100); // set default to 100
}
@@ -181,13 +167,9 @@
}
public String getPermanentToken() {
- return permanentToken;
+ return getUser().getPermanentToken();
}
- public void setPermanentToken(String permanentToken) {
- this.permanentToken = permanentToken;
- }
-
public String getTemporaryToken() {
return temporaryToken;
}
Modified: trunk/src/main/java/org/chorem/bow/BowUtils.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,7 +23,6 @@
*/
package org.chorem.bow;
-import java.security.NoSuchAlgorithmException;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -51,8 +50,8 @@
}
}
- static public User checkToken(BowSession session, String token) {
- User result = null;
+ static public BowUser checkToken(BowSession session, String token) {
+ BowUser result = null;
if (checkTemporaryToken(session, token) || checkPermanentToken(session, token)) {
result = session.getUser();
}
@@ -70,13 +69,10 @@
WikittyProxy proxy = session.getProxy();
boolean result = false;
if (token != null) {
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_TOKEN_TOKEN, token).criteria();
- Token DbToken = proxy.findByCriteria(Token.class, criteria);
-
- if (DbToken != null) { // check if the token exists
- String userEmail = DbToken.getEmail(); // the token owner user name (email)
- criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, userEmail).criteria(); // retrieve user by token
- User user = proxy.findByCriteria(User.class, criteria);
+ Criteria criteria = Search.query().eq(
+ BowUser.FQ_FIELD_BOWUSER_PERMANENTTOKEN, token).criteria();
+ BowUser user = proxy.findByCriteria(BowUser.class, criteria);
+ if (user != null) {
session.setUser(user);
result = true;
}
Modified: trunk/src/main/java/org/chorem/bow/OpenSearchActions.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/OpenSearchActions.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/OpenSearchActions.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -37,7 +37,7 @@
*/
public class OpenSearchActions {
- protected List<Bookmark> bookmarkList = new ArrayList<Bookmark>();
+ protected List<BowBookmark> bookmarkList = new ArrayList<BowBookmark>();
protected List<FacetTopic> suggestions = new ArrayList<FacetTopic>();
protected String[] search;
@@ -54,9 +54,9 @@
}
}
}
- List<Bookmark> cpy = new ArrayList<Bookmark>(bookmarkList);
- for (Bookmark bookmark : cpy) {
- Set<String> tags = bookmark.getTags();
+ List<BowBookmark> cpy = new ArrayList<BowBookmark>(bookmarkList);
+ for (BowBookmark bookmark : cpy) {
+ Set<String> tags = bookmark.getLabels();
boolean delete = true;
for (FacetTopic topic : suggestions) {
String name = topic.getTopicName();
@@ -72,8 +72,8 @@
Collections.sort(suggestions, new SuggestionsComparator());
}
- protected boolean bookmarkHasTag(Bookmark bookmark, String tag) {
- Set<String> tagList = bookmark.getTags();
+ protected boolean bookmarkHasTag(BowBookmark bookmark, String tag) {
+ Set<String> tagList = bookmark.getLabels();
if (tagList != null) {
if (tagList.contains(tag)) {
return true;
@@ -82,9 +82,9 @@
return false;
}
- public void setBookmarkList(List<Bookmark> bookmarks) {
+ public void setBookmarkList(List<BowBookmark> bookmarks) {
if (bookmarks != null) {
- List<Bookmark> newList = new ArrayList<Bookmark>(bookmarks);
+ List<BowBookmark> newList = new ArrayList<BowBookmark>(bookmarks);
bookmarkList = newList;
}
}
@@ -116,7 +116,7 @@
}
}
if (bookmarkList.size() <= 5 && suggestions.size() > 0) {
- for (Bookmark bookmark : bookmarkList) {
+ for (BowBookmark bookmark : bookmarkList) {
str += ",\"" + bookmark.getLink() + "\"";
}
}
@@ -148,7 +148,7 @@
}
}
- public List<Bookmark> getBookmarkList() {
+ public List<BowBookmark> getBookmarkList() {
return bookmarkList;
}
Modified: trunk/src/main/java/org/chorem/bow/action/AddClickAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,7 +23,7 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.nuiton.wikitty.WikittyProxy;
public class AddClickAction extends BowBaseAction {
@@ -62,7 +62,7 @@
String result = ERROR;
if (bookmarkId != null && !bookmarkId.isEmpty()) {
WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId);
if (bookmark != null) {
bookmark.setClick(bookmark.getClick() + 1);
proxy.store(bookmark);
Modified: trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,10 +23,10 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowUtils;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
@@ -155,14 +155,15 @@
public String execute() {
WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = null;
+ BowBookmark bookmark = null;
- User user = getBowSession().getUser();
+ BowUser user = getBowSession().getUser();
if (name != null) {
if (alias != null && !alias.isEmpty()) {
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_ALIAS, alias).criteria();
+ Criteria criteria = Search.query().eq(
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, alias).criteria();
- if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
+ if (proxy.findByCriteria(BowBookmark.class, criteria) != null) {
alias = "";
}
}
@@ -172,7 +173,7 @@
bookmark = BookmarkUtils.createBookmark(link, nameAndTags, user);
}
}
- if (bookmark != null && !bookmark.getDescription().isEmpty() && !bookmark.getEmail().isEmpty()) {
+ if (bookmark != null && !bookmark.getDescription().isEmpty() && !bookmark.getBowUser().isEmpty()) {
proxy.store(bookmark); //Stores the bookmark if everything is ok
if (log.isDebugEnabled()) {
log.debug("Adding URL");
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,15 +23,13 @@
*/
package org.chorem.bow.action;
-import java.util.ArrayList;
import java.util.List;
-import org.chorem.bow.Bookmark;
-import org.chorem.bow.Import;
-import org.chorem.bow.User;
+import org.chorem.bow.BowBookmark;
+import org.chorem.bow.BowImport;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.operators.Element;
import org.nuiton.wikitty.search.Search;
/**
@@ -63,18 +61,12 @@
if (date != null &&
date.matches("[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{1,3}Z")) {
WikittyProxy proxy = getBowProxy();
- User user = getBowSession().getUser();
+ BowUser user = getBowSession().getUser();
Criteria criteria = Search.query()
- .eq(Element.ELT_EXTENSION, Import.EXT_IMPORT)
- .eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail())
- .eq(Import.FQ_FIELD_IMPORT_DATE, date).criteria();
- List<Import> bookmarks = proxy.findAllByCriteria(Import.class, criteria).getAll();
- List<String> ids = new ArrayList<String>();
-
- for (Import bookmark : bookmarks) {
- ids.add(bookmark.getWikittyId());
- }
- proxy.delete(ids);
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId())
+ .eq(BowImport.FQ_FIELD_BOWIMPORT_IMPORTDATE, date).criteria();
+ List<BowImport> bookmarks = proxy.findAllByCriteria(BowImport.class, criteria).getAll();
+ proxy.delete(bookmarks);
}
return SUCCESS;
}
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -26,9 +26,10 @@
import java.util.ArrayList;
import java.util.List;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
-import org.chorem.bow.User;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
@@ -79,18 +80,21 @@
WikittyProxy proxy = getBowProxy();
Criteria criteria;
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
if (fullTextLine.isEmpty()) {
criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
} else {
- criteria = Search.query().keyword(fullTextLine).eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ criteria = Search.query().keyword(fullTextLine)
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria()
+ .addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
}
- List<Bookmark> bookmarks = proxy.findAllByCriteria(Bookmark.class, criteria).getAll();
+ List<BowBookmark> bookmarks = proxy.findAllByCriteria(BowBookmark.class, criteria).getAll();
List<String> ids = new ArrayList<String>();
- for (Bookmark bookmark : bookmarks) {
- if (searchLine.isEmpty() && bookmark.getTags() == null || !searchLine.isEmpty()
- || fullTextLine.isEmpty() && bookmark.getTags() == null || !fullTextLine.isEmpty()) {
+ // TODO poussin 20110216 a revoir, incomprehensible :(
+ for (BowBookmark bookmark : bookmarks) {
+ if (searchLine.isEmpty() && bookmark.getLabels() == null || !searchLine.isEmpty()
+ || fullTextLine.isEmpty() && bookmark.getLabels() == null || !fullTextLine.isEmpty()) {
ids.add(bookmark.getWikittyId());
}
}
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,7 +23,7 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BowUtils;
import org.nuiton.wikitty.WikittyProxy;
@@ -104,10 +104,10 @@
if (deleteTag != null && bookmarkId != null) {
if (!bookmarkId.isEmpty()) {
WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId);
if (bookmark != null) {
- bookmark.removeTags(deleteTag);
+ bookmark.removeLabels(deleteTag);
proxy.store(bookmark);
}
}
Modified: trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -29,12 +29,13 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowConfig;
import org.chorem.bow.BowInit;
+import org.chorem.bow.BowPreference;
import org.chorem.bow.BowSearch;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.WikittyProxy;
/**
@@ -100,12 +101,12 @@
public String execute() {
if (bookmarkId != null && !bookmarkId.isEmpty()) {
WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId);
if (bookmark != null) {
request.setAttribute("link", bookmark.getLink());
request.setAttribute("name", bookmark.getDescription());
- request.setAttribute("alias", bookmark.getAlias());
+ request.setAttribute("alias", bookmark.getPrivateAlias());
request.setAttribute("tags", BookmarkUtils.getBookmarkTagsString(bookmark));
String servletName = BowConfig.getInstance().getServletBow();
request.setAttribute("formAction",
@@ -115,7 +116,7 @@
+ "&fullTextLine=" + fullTextLine);
}
}
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
if (searchLine == null || searchLine.equals("")) {
BowInit.initHomePage(request, user);
return "home";
Modified: trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -30,9 +30,9 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletResponseAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
@@ -55,10 +55,10 @@
public String execute() {
WikittyProxy proxy = getBowProxy();
- User user = getBowSession().getUser();
+ BowUser user = getBowSession().getUser();
Criteria criteria = Search.query()
- .eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria();
- List<Bookmark> bookmarks = proxy.findAllByCriteria(Bookmark.class, criteria).getAll();
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria();
+ List<BowBookmark> bookmarks = proxy.findAllByCriteria(BowBookmark.class, criteria).getAll();
String export = BookmarkUtils.getExportHtmlBookmark(bookmarks);
byte[] buff = export.getBytes();
ServletOutputStream op;
Modified: trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -30,7 +30,7 @@
import org.apache.commons.lang.RandomStringUtils;
import org.chorem.bow.BowMail;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -81,8 +81,8 @@
email = email.trim();
if (!email.isEmpty()) {
WikittyProxy proxy = getBowProxy();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, email).criteria();
- User user = proxy.findByCriteria(User.class, criteria);
+ Criteria criteria = Search.query().eq(BowUser.FQ_FIELD_WIKITTYUSER_LOGIN, email).criteria();
+ BowUser user = proxy.findByCriteria(BowUser.class, criteria);
if (user != null) {
// boolean bool = true;
Modified: trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -29,9 +29,10 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
+import org.chorem.bow.BowPreference;
import org.chorem.bow.BowSearch;
import org.chorem.bow.BowSession;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
/**
* Fait la recherche fulltext
@@ -79,7 +80,7 @@
public String execute() {
BowSession session = getBowSession();
- User user = session.getUser();
+ BowPreference user = session.getPreference();
try {
BowSearch.fullText(request, user);
Modified: trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,8 +23,8 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Token;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
+import org.chorem.bow.BowUtils;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
@@ -39,19 +39,16 @@
private static final long serialVersionUID = 1141019772989666309L;
public String execute() {
- User user = getBowSession().getUser();
+ BowUser user = getBowSession().getUser();
WikittyProxy proxy = getBowProxy();
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_TOKEN_EMAIL, user.getEmail()).criteria();
- Token currentToken = proxy.findByCriteria(Token.class, criteria);
- if (currentToken != null) {
- String id = currentToken.getWikittyId();
- proxy.delete(id);
- }
- // on vient d'effacer le token permanent, demande le load, va en
- // regenerer un
- getBowSession().loadToken();
+ String permanentToken = BowUtils.generateToken();
+ user.setPermanentToken(permanentToken);
+ proxy.store(user);
+ String temporaryToken = BowUtils.generateToken();
+ getBowSession().setTemporaryToken(temporaryToken);
+
return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/HomeAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/HomeAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/HomeAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -27,7 +27,8 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.chorem.bow.BowInit;
-import org.chorem.bow.User;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUser;
/**
* Prepare l'affichage de la page d'accueil
@@ -58,7 +59,7 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
BowInit.initHomePage(request, user);
return SUCCESS;
Modified: trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -34,13 +34,14 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowInit;
import org.chorem.bow.BowSearch;
import org.chorem.bow.BowUtils;
-import org.chorem.bow.ImportHelper;
-import org.chorem.bow.User;
+import org.chorem.bow.BowImportHelper;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUser;
import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.util.NodeList;
@@ -167,8 +168,8 @@
// }
// }
- protected void parseHtmlToBookmarks(NodeList list, User user, Date date,
- List<Bookmark> bookmarks, List<String> tagList)
+ protected void parseHtmlToBookmarks(NodeList list, BowUser user, Date date,
+ List<BowBookmark> bookmarks, List<String> tagList)
throws ParserException {
if (list != null) {
boolean isFolder = false;
@@ -185,10 +186,10 @@
isFolder = true;
}
} else if (text != null && text.startsWith("A HREF")) { // HREF = new bookmarks
- Bookmark bookmark = BookmarkUtils.createBookmarkFromHtml(text, plainText, user);
+ BowBookmark bookmark = BookmarkUtils.createBookmarkFromHtml(text, plainText, user);
Wikitty w = getBowProxy().getWikitty(bookmark);
- ImportHelper.addExtension(w);
- ImportHelper.setDate(w, date);
+ BowImportHelper.addExtension(w);
+ BowImportHelper.setImportDate(w, date);
BookmarkUtils.addTagsToBookmark(tagList, bookmark);
if (bookmark != null) {
@@ -212,7 +213,7 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
if (upfile != null) {
// try {
@@ -228,7 +229,7 @@
URL url = upfile.toURI().toURL();
Parser parser = new Parser(url.openConnection());
NodeList list = parser.parse(null);
- List<Bookmark> bookmarks = new ArrayList<Bookmark>();
+ List<BowBookmark> bookmarks = new ArrayList<BowBookmark>();
parseHtmlToBookmarks(list, user, new Date(), bookmarks, new ArrayList<String>());
bookmarks = proxy.store(bookmarks);
// createImportExtension(bookmarks);
Modified: trunk/src/main/java/org/chorem/bow/action/LoginAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/LoginAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/LoginAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -24,13 +24,14 @@
package org.chorem.bow.action;
-import java.security.NoSuchAlgorithmException;
-
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.chorem.bow.User;
+import org.chorem.bow.BowConfig;
+import org.chorem.bow.BowUser;
import org.chorem.bow.BowInit;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUserImpl;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -69,22 +70,43 @@
public void setServletRequest(HttpServletRequest request) {
this.servletRequest = request;
}
-
- protected User checkLogin(String email, String password) throws NoSuchAlgorithmException {
- if (email != null && password != null) {
- if (!email.isEmpty() && !password.equals(StringUtil.encodeMD5(""))) {
- WikittyProxy proxy = getBowProxy();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, email).
- eq(User.FQ_FIELD_USER_PASSWORD, password).criteria();
- User user = proxy.findByCriteria(User.class, criteria);
- if (user == null) {
- addActionError(getText(n_("bow.login.authenticationFailure")));
- }
- return user;
- }
- }
- return null;
+ /**
+ * Check password in solr index, if fail try to check password admin in config file
+ *
+ * @param email
+ * @param password
+ * @return
+ */
+ protected BowUser checkLogin(String email, String password) {
+ BowUser result = null;
+ if (email != null && password != null) {
+ if (!email.isEmpty() && !password.equals(StringUtil.encodeMD5(""))) {
+ WikittyProxy proxy = getBowProxy();
+ Criteria criteria = Search.query().eq(BowUser.FQ_FIELD_WIKITTYUSER_LOGIN, email).
+ eq(BowUser.FQ_FIELD_WIKITTYUSER_PASSWORD, password).criteria();
+ result = proxy.findByCriteria(BowUser.class, criteria);
+
+ if (result == null) {
+ // failback: try to authenticate admin with config info
+ String configPassword = BowConfig.getInstance().getAdminPassword(email);
+ log.info("failback password: " + password + " configPassword: " + configPassword);
+ if (password.equals(configPassword)) {
+ // admin authenticate with config, this is possible when
+ // solr index is corrupted or missed. Admin must go to admin
+ // page en recreate index
+ result = new BowUserImpl();
+ result.setLogin(email);
+ result.setPassword(configPassword);
+ addActionMessage(getText(n_("bow.login.admin.failback")));
+ log.warn(getText(n_("bow.login.admin.failback")));
+ } else {
+ addActionError(getText(n_("bow.login.authenticationFailure")));
+ }
+ }
+ }
+ }
+ return result;
}
public String execute() {
@@ -93,16 +115,13 @@
if (password != null) {
String md5 = StringUtil.encodeMD5(password);
- User user;
+ BowUser user;
- try {
- user = checkLogin(email, md5);
- } catch (NoSuchAlgorithmException e) {
- return ERROR;
- }
+ user = checkLogin(email, md5);
if (user != null) {
getBowSession().setUser(user);
- BowInit.initHomePage(servletRequest, user);
+ BowPreference pref = getBowSession().getPreference();
+ BowInit.initHomePage(servletRequest, pref);
return SUCCESS;
}
}
Added: trunk/src/main/java/org/chorem/bow/action/Migrate04To05Action.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/Migrate04To05Action.java (rev 0)
+++ trunk/src/main/java/org/chorem/bow/action/Migrate04To05Action.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -0,0 +1,34 @@
+package org.chorem.bow.action;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.bow.BowMigration04To05;
+import org.chorem.bow.BowSession;
+import org.nuiton.wikitty.WikittyProxy;
+
+/**
+ * Lance la migration des données de la version 0.4 vers 0.5
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class Migrate04To05Action extends BowBaseAction {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(Migrate04To05Action.class);
+
+ public String execute() {
+ BowSession session = getBowSession();
+ if (session.isAdmin()) { //If is admin
+ WikittyProxy proxy = getBowProxy();
+
+ BowMigration04To05.migrate(proxy);
+ }
+ return SUCCESS;
+ }
+
+}
Modified: trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,7 +23,7 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkUtils;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -143,15 +143,16 @@
}
public String execute() {
- WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ WikittyProxy proxy = getBowProxy();
+ BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId);
if (bookmark != null) {
if (alias != null && !alias.isEmpty()) {
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_ALIAS, alias).criteria();
+ Criteria criteria = Search.query().eq(
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, alias).criteria();
- if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
- alias = bookmark.getAlias();
+ if (proxy.findByCriteria(BowBookmark.class, criteria) != null) {
+ alias = bookmark.getPrivateAlias();
}
}
BookmarkUtils.updateBookmark(bookmark, name, link, tags, alias);
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -28,13 +28,13 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkActions;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowConfig;
import org.chorem.bow.BowUtils;
-import org.chorem.bow.Preference;
-import org.chorem.bow.User;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
@@ -100,7 +100,7 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
if (searchLine != null && searchLine.matches("^http://[^ ]*")) {
redirectTo = BowUtils.redirectTo(searchLine, null);
} else if (searchLine != null
@@ -112,8 +112,8 @@
WikittyProxy proxy = getBowProxy();
Criteria criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
- criteria = criteria.addSortDescending(Bookmark.FQ_FIELD_BOOKMARK_CLICK);
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria); //Retrieves bookmarks by search
+ criteria = criteria.addSortDescending(BowBookmark.FQ_FIELD_BOWBOOKMARK_CLICK);
+ PagedResult<BowBookmark> result = proxy.findAllByCriteria(BowBookmark.class, criteria); //Retrieves bookmarks by search
BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, searchLine);
request.setAttribute("bookmarkActions", bookmarkActions);
request.setAttribute("token", token);
@@ -125,12 +125,12 @@
Criteria criteria;
if (!fullText.isEmpty()) {
criteria = Search.query().keyword(fullText).
- eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria().
- addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria().
+ addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
} else {
criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
}
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ PagedResult<BowBookmark> result = proxy.findAllByCriteria(BowBookmark.class, criteria);
BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
request.setAttribute("bookmarkActions", bookmarkActions);
request.setAttribute("token", token);
@@ -141,8 +141,7 @@
redirectTo = BowConfig.getInstance().getAliasUrl() + searchLine;
} else {
// on fait une recherche sur le moteur de recherche configure
- WikittyProxy proxy = getBowProxy();
- Preference pref = proxy.restore(Preference.class, user.getWikittyId());
+ BowPreference pref = getBowSession().getPreference();
String searchEngineURL = pref.getSearchEngineUrlResults();
if (searchEngineURL == null || "".equals(searchEngineURL)) {
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -30,9 +30,9 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.OpenSearchActions;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.FacetTopic;
import org.nuiton.wikitty.search.PagedResult;
@@ -70,37 +70,41 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowUser user = getBowSession().getUser();
- if (searchLine != null) {
- OpenSearchActions openSearchActions = new OpenSearchActions();
- WikittyProxy proxy = getBowProxy();
- String[] words = searchLine.split("\\s+");
- List<String> searchLineList = new ArrayList<String>(Arrays.asList(words));
+ if (searchLine != null) {
+ OpenSearchActions openSearchActions = new OpenSearchActions();
+ WikittyProxy proxy = getBowProxy();
+ String[] words = searchLine.split("\\s+");
+ List<String> searchLineList = new ArrayList<String>(Arrays.asList(words));
- if (searchLine.charAt(searchLine.length() - 1) == ' ') {
- searchLineList.add(""); //If the user doesn't type anything, we have to propose suggestions
- }
- Criteria criteria;
+ if (searchLine.charAt(searchLine.length() - 1) == ' ') {
+ searchLineList.add(""); //If the user doesn't type anything, we have to propose suggestions
+ }
+ Criteria criteria;
- if (searchLineList.size() > 1) {
- List<String> cpy = new ArrayList<String>(searchLineList);
- cpy.remove(cpy.size() - 1);
- criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).
- eq(Bookmark.FQ_FIELD_BOOKMARK_TAGS, cpy).criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
- } else {
- criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).
- criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
- }
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
- List<Bookmark> bookList = result.getAll();
- List<FacetTopic> topics = result.getTopic(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ if (searchLineList.size() > 1) {
+ List<String> cpy = new ArrayList<String>(searchLineList);
+ cpy.remove(cpy.size() - 1);
+ criteria = Search.query()
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId())
+ // TODO poussin 20110216 eq n'est sans doute pas bon, plutot un contains ?
+ .eq(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS, cpy).criteria()
+ .addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
+ } else {
+ criteria = Search.query()
+ .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, user.getWikittyId()).criteria()
+ .addFacetField(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
+ }
+ PagedResult<BowBookmark> result = proxy.findAllByCriteria(BowBookmark.class, criteria);
+ List<BowBookmark> bookList = result.getAll();
+ List<FacetTopic> topics = result.getTopic(BowBookmark.FQ_FIELD_WIKITTYLABEL_LABELS);
- openSearchActions.setBookmarkList(bookList);
- openSearchActions.setSuggestionList(topics);
- openSearchActions.findSuggestions(searchLineList);
- request.setAttribute("openSearchAction", openSearchActions);
- }
- return SUCCESS;
+ openSearchActions.setBookmarkList(bookList);
+ openSearchActions.setSuggestionList(topics);
+ openSearchActions.findSuggestions(searchLineList);
+ request.setAttribute("openSearchAction", openSearchActions);
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/OrderAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -26,10 +26,11 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BookmarkActions;
import org.chorem.bow.BookmarkUtils;
-import org.chorem.bow.User;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUser;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
@@ -81,37 +82,37 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
Criteria baseCriteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
if (type != null && baseCriteria != null && !type.isEmpty()) {
WikittyProxy proxy = getBowProxy();
- PagedResult<Bookmark> result = null;
+ PagedResult<BowBookmark> result = null;
if (type.equals("ascName")) {
Criteria criteria = baseCriteria.addSortAscending(
- Bookmark.FQ_FIELD_BOOKMARK_DESCRIPTION);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_DESCRIPTION);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
} else if (type.equals("ascDate")) {
Criteria criteria = baseCriteria.addSortAscending(
- Bookmark.FQ_FIELD_BOOKMARK_DATE);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_CREATIONDATE);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
} else if (type.equals("ascClick")) {
Criteria criteria = baseCriteria.addSortAscending(
- Bookmark.FQ_FIELD_BOOKMARK_CLICK);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_CLICK);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
} else if (type.equals("descName")) {
Criteria criteria = baseCriteria.addSortDescending(
- Bookmark.FQ_FIELD_BOOKMARK_DESCRIPTION);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_DESCRIPTION);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
} else if (type.equals("descDate")) {
Criteria criteria = baseCriteria.addSortDescending(
- Bookmark.FQ_FIELD_BOOKMARK_DATE);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_CREATIONDATE);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
} else if (type.equals("descClick")) {
Criteria criteria = baseCriteria.addSortDescending(
- Bookmark.FQ_FIELD_BOOKMARK_CLICK);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BowBookmark.FQ_FIELD_BOWBOOKMARK_CLICK);
+ result = proxy.findAllByCriteria(BowBookmark.class, criteria);
}
BookmarkActions bookmarkActions =
BookmarkUtils.createBookmarkActions(request, result, searchLine);
Modified: trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -31,8 +31,9 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowInit;
-import org.chorem.bow.Preference;
-import org.chorem.bow.User;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowProxy;
+import org.chorem.bow.BowUser;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.FacetTopic;
@@ -221,9 +222,7 @@
this.request = request;
}
- protected Preference changePreference() {
- Preference preference = getBowSession().getPreference();
-
+ protected BowPreference changePreference(BowPreference preference) {
preference.setColors(colors);
if ((tagsNb != null && !tagsNb.isEmpty())) {
preference.setTags(Integer.valueOf(tagsNb));
@@ -237,9 +236,9 @@
return preference;
}
- protected User changeUser(User newUser) {
+ protected BowUser changeUser(BowUser newUser) {
if (email != null && !email.isEmpty()) {
- newUser.setEmail(email);
+ newUser.setLogin(email);
}
if (newPassword != null && confirmNewPassword != null && currentPassword != null) {
if (!newPassword.isEmpty() && !confirmNewPassword.isEmpty() && !currentPassword.isEmpty()) {
@@ -258,49 +257,47 @@
}
public String execute() {
- User user = getBowSession().getUser();
+ BowProxy proxy = getBowSession().getProxy();
+ // BowPreference etends BowUser, donc on l'utilise pour tout
+ BowPreference preference = getBowSession().getPreference();
- setBookmarksImportDate(BookmarkUtils.getBookmarksByImportDate(request, user));
+ setBookmarksImportDate(BookmarkUtils.getBookmarksByImportDate(request, preference));
if (update != null) { //If the user submitted the form
- WikittyProxy proxy = getBowProxy();
- Preference preference = changePreference();
- proxy.store(preference);
+ preference = changePreference(preference);
+ preference = proxy.store(preference);
+ getBowSession().setPreference(preference);
- User newUser = proxy.restore(User.class, user.getWikittyId());
- Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, email).criteria();
- User find = proxy.findByCriteria(User.class, criteria);
+ Criteria criteria = Search.query().eq(BowUser.FQ_FIELD_WIKITTYUSER_LOGIN, email).criteria();
+ BowUser find = proxy.findByCriteria(BowUser.class, criteria);
- if (find == null || find.getEmail().equals(user.getEmail())) {
- if ((newUser = changeUser(newUser)) == null) {
+ if (find == null || find.getLogin().equals(preference.getLogin())) {
+ BowUser newUser = changeUser(preference);
+ if (newUser == null) {
return ERROR;
}
newUser = proxy.store(newUser);
getBowSession().setUser(newUser);
- preference = proxy.restore(Preference.class, newUser.getWikittyId());
- getBowSession().setPreference(preference);
return "update";
} else {
// this email address is already used by someone else
- setEmail(user.getEmail());
+ setEmail(preference.getLogin());
addActionError(getText("bow.preferences.emailAldyExists"));
return ERROR;
}
} else {
// If the user didn't submit the form, the fields are filled with
// the current preferences values
- Preference preference = getBowSession().getPreference();
-
- setEmail(user.getEmail());
- if (preference != null) {
- setColors(preference.getColors());
- setTagsNb(String.valueOf(preference.getTags()));
- setBookmarksHomePage(String.valueOf(preference.getBookmarks()));
- setSearchEngineUrlSuggestions(preference.getSearchEngineUrlSuggestions());
- setSearchEngineUrlResults(preference.getSearchEngineUrlResults());
- }
+ setEmail(preference.getLogin());
+ setColors(preference.getColors());
+ setTagsNb(String.valueOf(preference.getTags()));
+ setBookmarksHomePage(String.valueOf(preference.getBookmarks()));
+ setSearchEngineUrlSuggestions(preference.getSearchEngineUrlSuggestions());
+ setSearchEngineUrlResults(preference.getSearchEngineUrlResults());
}
- BowInit.initHomePage(request, user);
+ // retrieve last reference
+ preference = getBowSession().getPreference();
+ BowInit.initHomePage(request, preference);
return SUCCESS;
}
}
Modified: trunk/src/main/java/org/chorem/bow/action/RegisterAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -29,9 +29,11 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.chorem.bow.BowMail;
-import org.chorem.bow.User;
-import org.chorem.bow.UserImpl;
+import org.chorem.bow.BowUser;
+import org.chorem.bow.BowUserImpl;
import org.chorem.bow.BowInit;
+import org.chorem.bow.BowPreference;
+import org.chorem.bow.BowUtils;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -102,9 +104,9 @@
if (email != null && passwordMD5 != null) {
if (!email.isEmpty() && !passwordMD5.equals(StringUtil.encodeMD5(""))) {
WikittyProxy proxy = getBowProxy();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, email).criteria(); //Retrieves user by user name (email)
+ Criteria criteria = Search.query().eq(BowUser.FQ_FIELD_WIKITTYUSER_LOGIN, email).criteria(); //Retrieves user by user name (email)
- if (proxy.findByCriteria(User.class, criteria) == null) {
+ if (proxy.findByCriteria(BowUser.class, criteria) == null) {
return false;
}
//FIXME : message d'erreur mais return true ???
@@ -129,16 +131,19 @@
if (!checkRegister(md5)) {
WikittyProxy proxy = getBowProxy();
- UserImpl newUser = new UserImpl();
+ BowUserImpl newUser = new BowUserImpl();
newUser.setPassword(md5);
- newUser.setEmail(email);
- User login = proxy.store(newUser); //Stores the new user
+ newUser.setLogin(email);
+ String permanentToken = BowUtils.generateToken();
+ newUser.setPermanentToken(permanentToken);
+ BowUser login = proxy.store(newUser); //Stores the new user
if (login == null) {
addFieldError("email", getText(n_("bow.register.invalidLogin")));
} else {
getBowSession().setUser(login);
- BowInit.initHomePage(request, login);
+ BowPreference pref = getBowSession().getPreference();
+ BowInit.initHomePage(request, pref);
try {
String mailContent;
Modified: trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -23,7 +23,7 @@
*/
package org.chorem.bow.action;
-import org.chorem.bow.Bookmark;
+import org.chorem.bow.BowBookmark;
import org.chorem.bow.BowUtils;
import org.nuiton.wikitty.WikittyProxy;
@@ -92,7 +92,7 @@
if (bookmarkId != null && !bookmarkId.isEmpty()) {
try {
WikittyProxy proxy = getBowProxy();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId);
if (bookmark != null) {
proxy.delete(bookmarkId);
Modified: trunk/src/main/java/org/chorem/bow/action/SearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -29,8 +29,9 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
+import org.chorem.bow.BowPreference;
import org.chorem.bow.BowSearch;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
/**
* gere les recherches de bookmark
@@ -93,7 +94,7 @@
public String execute() {
try {
- User user = getBowSession().getUser();
+ BowPreference user = getBowSession().getPreference();
BowSearch.search(request, user);
} catch (IOException e) {
// TODO Auto-generated catch block
Modified: trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -26,7 +26,7 @@
import java.util.Map;
import org.apache.struts2.ServletActionContext;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
@@ -49,7 +49,7 @@
Map<String, Object> session = ActionContext.getContext().getSession();
BowSession bowSession = BowSession.getBowSession(session);
- User user = bowSession.getUser();
+ BowUser user = bowSession.getUser();
if (user != null) {
ServletActionContext.getResponse().sendRedirect(redirect);
return null;
Modified: trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-17 01:16:20 UTC (rev 206)
@@ -26,9 +26,8 @@
import java.util.Map;
import org.apache.struts2.ServletActionContext;
-import org.chorem.bow.BowInit;
import org.chorem.bow.BowUtils;
-import org.chorem.bow.User;
+import org.chorem.bow.BowUser;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
@@ -51,7 +50,7 @@
Map<String, Object> session = ActionContext.getContext().getSession();
BowSession bowSession = BowSession.getBowSession(session);
- User user = bowSession.getUser();
+ BowUser user = bowSession.getUser();
if (user == null) {
Map<String, Object> params = ActionContext.getContext().getParameters();
Modified: trunk/src/main/resources/i18n/bow_en_GB.properties
===================================================================
--- trunk/src/main/resources/i18n/bow_en_GB.properties 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/resources/i18n/bow_en_GB.properties 2011-02-17 01:16:20 UTC (rev 206)
@@ -25,6 +25,7 @@
bow.home.title=Home
bow.label.locale.english=
bow.label.locale.french=
+bow.login.admin.failback=Authentication problem, you must recreate index in admin page
bow.login.authenticationFailure=Either your email address doesn''t exist or your password is incorrect
bow.login.email=Email
bow.login.email.required=Email is required
Modified: trunk/src/main/resources/i18n/bow_fr_FR.properties
===================================================================
--- trunk/src/main/resources/i18n/bow_fr_FR.properties 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/resources/i18n/bow_fr_FR.properties 2011-02-17 01:16:20 UTC (rev 206)
@@ -25,6 +25,7 @@
bow.home.title=Accueil
bow.label.locale.english=
bow.label.locale.french=
+bow.login.admin.failback=Probl\u00E8me d''authentification, vous devriez reconstruire l''index via la page d'admin
bow.login.authenticationFailure=Soit votre adresse email n''existe pas, soit votre mot de passe est eronn\u00E9
bow.login.email=Email
bow.login.email.required=Veuillez entrer votre adresse email
Modified: trunk/src/main/resources/struts.xml
===================================================================
--- trunk/src/main/resources/struts.xml 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/resources/struts.xml 2011-02-17 01:16:20 UTC (rev 206)
@@ -187,5 +187,9 @@
<interceptor-ref name="loginStack" />
<result>/jsp/admin.jsp</result>
</action>
+ <action name="migrate04To05" class="org.chorem.bow.action.Migrate04To05Action">
+ <interceptor-ref name="loginStack" />
+ <result>/jsp/admin.jsp</result>
+ </action>
</package>
</struts>
Modified: trunk/src/main/webapp/jsp/admin.jsp
===================================================================
--- trunk/src/main/webapp/jsp/admin.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/admin.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -24,8 +24,6 @@
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
-<%@page import="org.chorem.bow.Preference" %>
-<%@page import="org.chorem.bow.User" %>
<%@page import="org.chorem.bow.BowSession" %>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -41,15 +39,18 @@
<div id="formFrame">
<h1>Admin panel</h1>
<br /><br />
-<%
+ <%
BowSession bowSession = BowSession.getBowSession(session);
if (bowSession.isAdmin()) {
-%>
- <a href="/bow/reIndexation.action">All data re-indexation</a>
- <a href="/bow/home.action" id="homePage">Return to the home page</a>
-<% } else { %>
+ %>
+ <ul>
+ <li><a href="/bow/reIndexation.action">All data re-indexation</a></li>
+ <li><a href="/bow/migrate04To05.action">Migration all data from 0.4 to 0.5</a></li>
+ <li><a href="/bow/home.action" id="homePage">Return to the home page</a></li>
+ </ul>
+ <% } else {%>
<h2>You don't have admin right !</h2>
-<% } %>
+ <% }%>
</div>
</div>
</body>
Modified: trunk/src/main/webapp/jsp/home.jsp
===================================================================
--- trunk/src/main/webapp/jsp/home.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/home.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -25,14 +25,14 @@
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
<%@page import="org.chorem.bow.BowSession" %>
-<%@page import="org.chorem.bow.Bookmark" %>
-<%@page import="org.chorem.bow.Preference" %>
+<%@page import="org.chorem.bow.BowBookmark" %>
+<%@page import="org.chorem.bow.BowPreference" %>
<%@page import="java.util.List" %>
<%@page import="java.text.SimpleDateFormat" %>
<%
BowSession bowSession = BowSession.getBowSession(session);
BookmarkActions bookmarkActions = (BookmarkActions) request.getAttribute("bookmarkActions");
-Preference preference = bowSession.getPreference();
+BowPreference preference = bowSession.getPreference();
if (bookmarkActions != null) {
%>
@@ -53,10 +53,10 @@
int nbBookmarks = preference.getBookmarks();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
- List<Bookmark> bookmarkList = bookmarkActions.getBookmarks();
+ List<BowBookmark> bookmarkList = bookmarkActions.getBookmarks();
if (!bookmarkList.isEmpty()) {
int count = 0;
- for (Bookmark bookmark : bookmarkList) {
+ for (BowBookmark bookmark : bookmarkList) {
request.setAttribute("bookmark", bookmark);
request.setAttribute("sdf", sdf);
%>
@@ -78,11 +78,11 @@
</div>
<div class="content">
<%
- List<Bookmark> lastBookmarks = bookmarkActions.getLastBookmarks();
+ List<BowBookmark> lastBookmarks = bookmarkActions.getLastBookmarks();
if (!lastBookmarks.isEmpty()) {
int count = 0;
- for (Bookmark bookmark : lastBookmarks) {
+ for (BowBookmark bookmark : lastBookmarks) {
request.setAttribute("bookmark", bookmark);
request.setAttribute("sdf", sdf);
%>
Modified: trunk/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -32,12 +32,12 @@
<s:set var="fullTextLine" value="%{#request.fullTextLine}" />
<s:set var="wikittyId" value="%{#request.bookmark.getWikittyId()}" />
<s:set var="bookmarkLink" value="%{#request.bookmark.getLink()}" />
- <s:set var="bookmarkAlias" value="%{#request.bookmark.getAlias()}" />
+ <s:set var="bookmarkAlias" value="%{#request.bookmark.getPrivateAlias()}" />
<s:set var="bookmarkDescription" value="%{#request.bookmark.getDescription()}" />
<s:set var="bookmarkClicks" value="%{#request.bookmark.getClick()}" />
<s:set var="formBookmarkId" value="%{#request.formBookmarkId}" />
<s:set var="aliasUrl" value="%{@org.chorem.bow.BowConfig@getInstance().getServletAliasUrl() + #bookmarkAlias}" />
- <s:set var="date" value="%{#request.sdf.format(#request.bookmark.getDate())}" />
+ <s:set var="date" value="%{#request.sdf.format(#request.bookmark.getCreationDate())}" />
<div class="bookmarkhead">
<s:a cssClass="alias" href="%{#aliasUrl}" title="%{#bookmarkLink}" onclick="window.open(this.href); return false;">
@@ -75,7 +75,7 @@
</p>
<p class="tags">
<strong><s:text name="bow.bookmark.tags" /> :</strong>
- <s:iterator value="#request.bookmark.tags">
+ <s:iterator value="#request.bookmark.labels">
<s:url id="deleteTag" action="deleteTag" escapeAmp="false">
<s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="deleteTag"><s:property /></s:param>
Modified: trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -1,3 +1,4 @@
+<%@page import="org.chorem.bow.BookmarkActions"%>
<!--
#%L
bow
@@ -27,11 +28,11 @@
<div id="nuage"
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
xmlns:jsp="http://java.sun.com/JSP/Page">
- <s:if test="%{#request.nbTags > #request.bookmarkActions.getTagsCloud().size()}">
+ <s:if test="%{#session.BowSession.preference.tags > #request.bookmarkActions.getTagsCloud().size()}">
<s:set var="maxTags" value="#request.bookmarkActions.getTagsCloud().size()" />
</s:if>
<s:else>
- <s:set var="maxTags" value="#request.nbTags" />
+ <s:set var="maxTags" value="#session.BowSession.preference.tags" />
</s:else>
<s:iterator value="%{#request.bookmarkActions.tagsCloud}" status="tag" begin="0" end="%{#maxTags - 1}">
<s:url id="search" action="search" escapeAmp="true">
Modified: trunk/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/src/main/webapp/jsp/preferences.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/preferences.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -24,7 +24,7 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@page import="org.chorem.bow.BowSession" %>
-<%@page import="org.chorem.bow.Import" %>
+<%@page import="org.chorem.bow.BowImport" %>
<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
<%@page import="java.util.List" %>
Modified: trunk/src/main/webapp/jsp/search.jsp
===================================================================
--- trunk/src/main/webapp/jsp/search.jsp 2011-02-16 21:44:28 UTC (rev 205)
+++ trunk/src/main/webapp/jsp/search.jsp 2011-02-17 01:16:20 UTC (rev 206)
@@ -24,7 +24,7 @@
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
-<%@page import="org.chorem.bow.Bookmark" %>
+<%@page import="org.chorem.bow.BowBookmark" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@page import="java.util.List" %>
@@ -78,11 +78,11 @@
</div>
<div class="content">
<%
- List<Bookmark> bookmarkList = bookmarkActions.getBookmarks();
+ List<BowBookmark> bookmarkList = bookmarkActions.getBookmarks();
if (!bookmarkList.isEmpty()) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
- for (Bookmark bookmark : bookmarkList) {
+ for (BowBookmark bookmark : bookmarkList) {
request.setAttribute("bookmark", bookmark);
request.setAttribute("sdf", sdf);
%>
Added: trunk/src/main/xmi/README
===================================================================
--- trunk/src/main/xmi/README (rev 0)
+++ trunk/src/main/xmi/README 2011-02-17 01:16:20 UTC (rev 206)
@@ -0,0 +1,2 @@
+bow-0.4.zargo data model for bow 0.4 and previous
+bow.zargo data model for current bow version
Added: trunk/src/main/xmi/bow-0.4.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/xmi/bow-0.4.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/xmi/bow.zargo
===================================================================
(Binary files differ)
1
0
Author: tchemit
Date: 2011-02-16 22:44:28 +0100 (Wed, 16 Feb 2011)
New Revision: 205
Url: http://chorem.org/repositories/revision/bow/205
Log:
Update mavenpom4redmine to 2.5.1.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 09:02:13 UTC (rev 204)
+++ trunk/pom.xml 2011-02-16 21:44:28 UTC (rev 205)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.5</version>
+ <version>2.5.1</version>
</parent>
<groupId>org.chorem</groupId>
1
0
Author: tchemit
Date: 2011-02-16 10:02:13 +0100 (Wed, 16 Feb 2011)
New Revision: 204
Url: http://chorem.org/repositories/revision/bow/204
Log:
Anomalie #296: POM has no url
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:36:00 UTC (rev 203)
+++ trunk/pom.xml 2011-02-16 09:02:13 UTC (rev 204)
@@ -21,6 +21,7 @@
<description>bookmarks on web</description>
<inceptionYear>2010</inceptionYear>
+ <url>http://maven-site.chorem.org/bow</url>
<packaging>war</packaging>
<licenses>
1
0
Author: bpoussin
Date: 2011-02-16 01:36:00 +0100 (Wed, 16 Feb 2011)
New Revision: 203
Url: http://chorem.org/repositories/revision/bow/203
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:35:58 UTC (rev 202)
+++ trunk/pom.xml 2011-02-16 00:36:00 UTC (rev 203)
@@ -15,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>bow</artifactId>
- <version>0.4</version>
+ <version>0.5-SNAPSHOT</version>
<name>bow</name>
<description>bookmarks on web</description>
@@ -32,11 +32,11 @@
</licenses>
<scm>
- <connection>scm:svn:http://svn.chorem.org/svn/bow/tags/bow-0.4</connection>
+ <connection>scm:svn:http://svn.chorem.org/svn/bow/trunk</connection>
<developerConnection>
- scm:svn:http://svn.chorem.org/svn/bow/tags/bow-0.4
+ scm:svn:http://svn.chorem.org/svn/bow/trunk
</developerConnection>
- <url>http://www.chorem.org/repositories/browse/bow/tags/bow-0.4</url>
+ <url>http://www.chorem.org/repositories/browse/bow/trunk</url>
</scm>
<properties>
1
0
Author: bpoussin
Date: 2011-02-16 01:35:58 +0100 (Wed, 16 Feb 2011)
New Revision: 202
Url: http://chorem.org/repositories/revision/bow/202
Log:
[maven-release-plugin] copy for tag bow-0.4
Added:
tags/bow-0.4/
1
0
Author: bpoussin
Date: 2011-02-16 01:35:55 +0100 (Wed, 16 Feb 2011)
New Revision: 201
Url: http://chorem.org/repositories/revision/bow/201
Log:
[maven-release-plugin] prepare release bow-0.4
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:34:17 UTC (rev 200)
+++ trunk/pom.xml 2011-02-16 00:35:55 UTC (rev 201)
@@ -15,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>bow</artifactId>
- <version>0.4-SNAPSHOT</version>
+ <version>0.4</version>
<name>bow</name>
<description>bookmarks on web</description>
@@ -32,11 +32,11 @@
</licenses>
<scm>
- <connection>scm:svn:http://svn.chorem.org/svn/bow/trunk</connection>
+ <connection>scm:svn:http://svn.chorem.org/svn/bow/tags/bow-0.4</connection>
<developerConnection>
- scm:svn:http://svn.chorem.org/svn/bow/trunk
+ scm:svn:http://svn.chorem.org/svn/bow/tags/bow-0.4
</developerConnection>
- <url>http://www.chorem.org/repositories/browse/bow/trunk</url>
+ <url>http://www.chorem.org/repositories/browse/bow/tags/bow-0.4</url>
</scm>
<properties>
1
0
Author: bpoussin
Date: 2011-02-16 01:34:17 +0100 (Wed, 16 Feb 2011)
New Revision: 200
Url: http://chorem.org/repositories/revision/bow/200
Log:
retour a la version 0.4-SNAPSHOT
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:33:06 UTC (rev 199)
+++ trunk/pom.xml 2011-02-16 00:34:17 UTC (rev 200)
@@ -15,7 +15,7 @@
<groupId>org.chorem</groupId>
<artifactId>bow</artifactId>
- <version>0.5-SNAPSHOT</version>
+ <version>0.4-SNAPSHOT</version>
<name>bow</name>
<description>bookmarks on web</description>
1
0
Author: bpoussin
Date: 2011-02-16 01:33:06 +0100 (Wed, 16 Feb 2011)
New Revision: 199
Url: http://chorem.org/repositories/revision/bow/199
Log:
suppression du tag car le mvn release:prepare a fait n'importe quoi :(
Removed:
tags/bow-0.4/
1
0
r198 - in trunk/src: license main/webapp/WEB-INF/decorators main/webapp/jsp main/webapp/jsp/inc
by bpoussin@users.chorem.org 16 Feb '11
by bpoussin@users.chorem.org 16 Feb '11
16 Feb '11
Author: bpoussin
Date: 2011-02-16 01:18:16 +0100 (Wed, 16 Feb 2011)
New Revision: 198
Url: http://chorem.org/repositories/revision/bow/198
Log:
update license
Modified:
trunk/src/license/THIRD-PARTY.properties
trunk/src/main/webapp/WEB-INF/decorators/main.jsp
trunk/src/main/webapp/jsp/inc/footer.jsp
trunk/src/main/webapp/jsp/inc/header.jsp
trunk/src/main/webapp/jsp/login.jsp
Modified: trunk/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/src/license/THIRD-PARTY.properties 2011-02-16 00:16:53 UTC (rev 197)
+++ trunk/src/license/THIRD-PARTY.properties 2011-02-16 00:18:16 UTC (rev 198)
@@ -5,10 +5,13 @@
# - Apache License
# - Apache Software License, version 1.1
# - BSD License
+# - BSD style
+# - BSD-style license
# - CDDL
-# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) v1.0
# - Common Development and Distribution License (CDDL) v1.0
# - Common Public License
+# - Common Public License Version 1.0
# - GPLv2+CE
# - Indiana University Extreme! Lab Software License, vesion 1.1.1
# - LGPL 2.1
@@ -16,16 +19,21 @@
# - Lesser General Public License (LGPL) v 3.0
# - MIT License
# - Public Domain
+# - Public domain
+# - The Apache Software License, Version 1.1
# - The Apache Software License, Version 2.0
# - The H2 License, Version 1.0
+# - The OpenSymphony Software License 1.1
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Tue Nov 23 09:14:09 CET 2010
-com.experlog--xapool--1.5.0--jar=Lesser General Public License (LGPL) v 3.0
+#Wed Feb 16 01:05:46 CET 2011
commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0
+concurrent--concurrent--1.0--jar=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
+javax.servlet--jsp-api--2.0--jar=Common Development and Distribution License (CDDL) v1.0
javax.servlet--servlet-api--2.5--jar=Common Development and Distribution License (CDDL) v1.0
javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) v1.0
-jgroups--jgroups--2.9.0.GA--jar=Lesser General Public License (LGPL) v 3.0
+ognl--ognl--2.7.3--jar=The OpenSymphony Software License 1.1
woodstox--wstx-asl--3.2.7--jar=LGPL 2.1 / The Apache Software License - Version 2.0
+xpp3--xpp3_min--1.1.3.4.O--jar=Indiana University Extreme! Lab Software License, vesion 1.1.1
Modified: trunk/src/main/webapp/WEB-INF/decorators/main.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-16 00:16:53 UTC (rev 197)
+++ trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-16 00:18:16 UTC (rev 198)
@@ -1,4 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #%L
+ bow
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+
<!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
Modified: trunk/src/main/webapp/jsp/inc/footer.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-16 00:16:53 UTC (rev 197)
+++ trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-16 00:18:16 UTC (rev 198)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ bow
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
Modified: trunk/src/main/webapp/jsp/inc/header.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-16 00:16:53 UTC (rev 197)
+++ trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-16 00:18:16 UTC (rev 198)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ bow
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<div id="header"
Modified: trunk/src/main/webapp/jsp/login.jsp
===================================================================
--- trunk/src/main/webapp/jsp/login.jsp 2011-02-16 00:16:53 UTC (rev 197)
+++ trunk/src/main/webapp/jsp/login.jsp 2011-02-16 00:18:16 UTC (rev 198)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ bow
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2010 - 2011 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
1
0