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
Author: bpoussin
Date: 2011-02-16 01:16:53 +0100 (Wed, 16 Feb 2011)
New Revision: 197
Url: http://chorem.org/repositories/revision/bow/197
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:16:51 UTC (rev 196)
+++ trunk/pom.xml 2011-02-16 00:16:53 UTC (rev 197)
@@ -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:16:51 +0100 (Wed, 16 Feb 2011)
New Revision: 196
Url: http://chorem.org/repositories/revision/bow/196
Log:
[maven-release-plugin] copy for tag bow-0.4
Added:
tags/bow-0.4/
1
0
Author: bpoussin
Date: 2011-02-16 01:16:47 +0100 (Wed, 16 Feb 2011)
New Revision: 195
Url: http://chorem.org/repositories/revision/bow/195
Log:
[maven-release-plugin] prepare release bow-0.4
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-16 00:01:43 UTC (rev 194)
+++ trunk/pom.xml 2011-02-16 00:16:47 UTC (rev 195)
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -17,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>
@@ -34,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:01:43 +0100 (Wed, 16 Feb 2011)
New Revision: 194
Url: http://chorem.org/repositories/revision/bow/194
Log:
use wikitty 3.0.4
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-14 16:06:56 UTC (rev 193)
+++ trunk/pom.xml 2011-02-16 00:01:43 UTC (rev 194)
@@ -48,7 +48,7 @@
<eugenePluginVersion>2.3.2</eugenePluginVersion>
<nuitonUtilsVersion>2.0</nuitonUtilsVersion>
<nuitonI18nVersion>2.3.1</nuitonI18nVersion>
- <wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
+ <wikittyVersion>3.0.4</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2Version>2.1.8.1</struts2Version>
1
0
Author: tchemit
Date: 2011-02-14 17:06:56 +0100 (Mon, 14 Feb 2011)
New Revision: 193
Url: http://chorem.org/repositories/revision/bow/193
Log:
Evolution #293: Updates to i18n 2.3.1
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-14 14:53:06 UTC (rev 192)
+++ trunk/pom.xml 2011-02-14 16:06:56 UTC (rev 193)
@@ -47,7 +47,7 @@
<eugenePluginVersion>2.3.2</eugenePluginVersion>
<nuitonUtilsVersion>2.0</nuitonUtilsVersion>
- <nuitonI18nVersion>3.0-SNAPSHOT</nuitonI18nVersion>
+ <nuitonI18nVersion>2.3.1</nuitonI18nVersion>
<wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2Version>2.1.8.1</struts2Version>
1
0
Author: tchemit
Date: 2011-02-14 15:53:06 +0100 (Mon, 14 Feb 2011)
New Revision: 192
Url: http://chorem.org/repositories/revision/bow/192
Log:
add missing svn-keywords (+ add svn-eol native)
add missing headers
make jsp i18n compiliant
Modified:
trunk/LICENSE.txt
trunk/README.txt
trunk/TODO.txt
trunk/changelog.txt
trunk/src/license/THIRD-PARTY.properties
trunk/src/main/i18n/jsp.rules
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/BowMail.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/SuggestionsComparator.java
trunk/src/main/java/org/chorem/bow/UserMigration.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/BowBaseAction.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/LocaleAction.java
trunk/src/main/java/org/chorem/bow/action/LoginAction.java
trunk/src/main/java/org/chorem/bow/action/LogoutAction.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/ReIndexationAction.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/bow.properties
trunk/src/main/resources/i18n/bow_en_GB.properties
trunk/src/main/resources/i18n/bow_fr_FR.properties
trunk/src/main/resources/log4j.properties
trunk/src/main/resources/org/chorem/bow/action/ForgotPasswordAction-validation.xml
trunk/src/main/resources/org/chorem/bow/action/LoginAction-validation.xml
trunk/src/main/resources/org/chorem/bow/action/RegisterAction-validation.xml
trunk/src/main/resources/struts.properties
trunk/src/main/resources/struts.xml
trunk/src/main/webapp/WEB-INF/decorators.xml
trunk/src/main/webapp/WEB-INF/decorators/main.jsp
trunk/src/main/webapp/WEB-INF/dwr.xml
trunk/src/main/webapp/WEB-INF/sitemesh.xml
trunk/src/main/webapp/WEB-INF/web.xml
trunk/src/main/webapp/css/bookmark.css
trunk/src/main/webapp/css/connexion.css
trunk/src/main/webapp/css/global.css
trunk/src/main/webapp/extensions/bow4chromium.pem
trunk/src/main/webapp/extensions/chromium/_locales/en/messages.json
trunk/src/main/webapp/extensions/chromium/_locales/fr/messages.json
trunk/src/main/webapp/extensions/chromium/background.html
trunk/src/main/webapp/extensions/chromium/css/extension.css
trunk/src/main/webapp/extensions/chromium/css/options.css
trunk/src/main/webapp/extensions/chromium/img/favicon.png
trunk/src/main/webapp/extensions/chromium/img/fdboutonV.jpg
trunk/src/main/webapp/extensions/chromium/img/fondconnexion.jpg
trunk/src/main/webapp/extensions/chromium/img/fondhead.jpg
trunk/src/main/webapp/extensions/chromium/img/logobow.jpg
trunk/src/main/webapp/extensions/chromium/img/moyen-livre.jpg
trunk/src/main/webapp/extensions/chromium/img/ptit-livre.jpg
trunk/src/main/webapp/extensions/chromium/manifest.json
trunk/src/main/webapp/extensions/chromium/options.html
trunk/src/main/webapp/extensions/chromium/popup.html
trunk/src/main/webapp/extensions/chromium/properties.js
trunk/src/main/webapp/index.jsp
trunk/src/main/webapp/js/bookmark.js
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/errorFrame.jsp
trunk/src/main/webapp/jsp/inc/footer.jsp
trunk/src/main/webapp/jsp/inc/header.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/permanentXml.jsp
trunk/src/main/webapp/jsp/preferences.jsp
trunk/src/main/webapp/jsp/register.jsp
trunk/src/main/webapp/jsp/search.jsp
trunk/src/main/webapp/jsp/suggestions.jsp
trunk/src/main/webapp/jsp/temporaryXml.jsp
trunk/src/main/webapp/styles/forms.css
trunk/src/main/webapp/styles/layout-1col.css
trunk/src/main/webapp/styles/layout-navleft-1col.css
trunk/src/main/webapp/styles/layout-navleft-2col.css
trunk/src/main/webapp/styles/layout-navtop-1col.css
trunk/src/main/webapp/styles/layout-navtop-3col.css
trunk/src/main/webapp/styles/layout-navtop-localleft.css
trunk/src/main/webapp/styles/layout-navtop-subright.css
trunk/src/main/webapp/styles/layout.css
trunk/src/main/webapp/styles/main.css
trunk/src/main/webapp/styles/nav-horizontal.css
trunk/src/main/webapp/styles/nav-vertical.css
trunk/src/main/webapp/styles/tools.css
trunk/src/main/webapp/styles/typo.css
trunk/src/main/webapp/template/simple/form-common.ftl
trunk/src/main/webapp/template/xhtml/controlheader-core.ftl
trunk/src/main/webapp/template/xhtml/file.ftl
trunk/src/main/webapp/template/xhtml/form-close.ftl
trunk/src/main/webapp/template/xhtml/form.ftl
trunk/src/main/webapp/template/xhtml/password.ftl
trunk/src/main/webapp/template/xhtml/submit-close.ftl
trunk/src/main/webapp/template/xhtml/submit.ftl
trunk/src/main/webapp/template/xhtml/text.ftl
trunk/src/site/rst/developper/installation.rst
trunk/src/site/rst/developper/presentation.rst
trunk/src/site/rst/index.rst
trunk/src/site/rst/todo.rst
trunk/src/site/rst/user/addBookmark.rst
trunk/src/site/rst/user/alias.rst
trunk/src/site/rst/user/importExport.rst
trunk/src/site/rst/user/openSearch.rst
trunk/src/site/rst/user/preferences.rst
trunk/src/site/rst/user/search.rst
trunk/src/site/rst/user/user.rst
trunk/src/site/site.xml
Property changes on: trunk/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/TODO.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/changelog.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/license/THIRD-PARTY.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/i18n/jsp.rules
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/AliasServlet.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/BookmarkActions.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BookmarkUtils.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
import java.util.ArrayList;
Property changes on: trunk/src/main/java/org/chorem/bow/BookmarkUtils.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/BowConfig.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BowInit.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
import java.util.List;
Property changes on: trunk/src/main/java/org/chorem/bow/BowInit.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BowMail.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowMail.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BowMail.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
import java.util.Properties;
Property changes on: trunk/src/main/java/org/chorem/bow/BowMail.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/BowProxy.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BowSearch.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
import java.io.IOException;
Property changes on: trunk/src/main/java/org/chorem/bow/BowSearch.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BowSession.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSession.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BowSession.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
Property changes on: trunk/src/main/java/org/chorem/bow/BowSession.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/BowUtils.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow;
import java.security.NoSuchAlgorithmException;
Property changes on: trunk/src/main/java/org/chorem/bow/BowUtils.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/OpenSearchActions.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/SuggestionsComparator.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/UserMigration.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/AddClickAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
Property changes on: trunk/src/main/java/org/chorem/bow/action/AddClickAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
Property changes on: trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import com.opensymphony.xwork2.ActionSupport;
Property changes on: trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.util.ArrayList;
Property changes on: trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.util.ArrayList;
Property changes on: trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
Property changes on: trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.io.IOException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.io.IOException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.util.List;
Property changes on: trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.io.IOException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Token;
Property changes on: trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/HomeAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/HomeAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/HomeAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import javax.servlet.http.HttpServletRequest;
Property changes on: trunk/src/main/java/org/chorem/bow/action/HomeAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.io.File;
Property changes on: trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/LocaleAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/LocaleAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/LocaleAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
public class LocaleAction extends BowBaseAction {
Property changes on: trunk/src/main/java/org/chorem/bow/action/LocaleAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/java/org/chorem/bow/action/LoginAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/LogoutAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/LogoutAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/LogoutAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.BowSession;
Property changes on: trunk/src/main/java/org/chorem/bow/action/LogoutAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
Property changes on: trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import javax.servlet.http.HttpServletRequest;
Property changes on: trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.util.ArrayList;
Property changes on: trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/OrderAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import javax.servlet.http.HttpServletRequest;
Property changes on: trunk/src/main/java/org/chorem/bow/action/OrderAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.security.NoSuchAlgorithmException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.BowSession;
Property changes on: trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/RegisterAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import javax.mail.MessagingException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/RegisterAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
Property changes on: trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/action/SearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.action;
import java.io.IOException;
Property changes on: trunk/src/main/java/org/chorem/bow/action/SearchAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.interceptor;
import java.util.Map;
Property changes on: trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
package org.chorem.bow.interceptor;
import java.util.Map;
Property changes on: trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/resources/bow.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/resources/i18n/bow_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/resources/i18n/bow_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/resources/org/chorem/bow/action/ForgotPasswordAction-validation.xml
===================================================================
--- trunk/src/main/resources/org/chorem/bow/action/ForgotPasswordAction-validation.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/resources/org/chorem/bow/action/ForgotPasswordAction-validation.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ -->
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
Property changes on: trunk/src/main/resources/org/chorem/bow/action/ForgotPasswordAction-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/resources/org/chorem/bow/action/LoginAction-validation.xml
===================================================================
--- trunk/src/main/resources/org/chorem/bow/action/LoginAction-validation.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/resources/org/chorem/bow/action/LoginAction-validation.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ -->
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
Property changes on: trunk/src/main/resources/org/chorem/bow/action/LoginAction-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/resources/org/chorem/bow/action/RegisterAction-validation.xml
===================================================================
--- trunk/src/main/resources/org/chorem/bow/action/RegisterAction-validation.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/resources/org/chorem/bow/action/RegisterAction-validation.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ -->
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
Property changes on: trunk/src/main/resources/org/chorem/bow/action/RegisterAction-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/resources/struts.properties
===================================================================
--- trunk/src/main/resources/struts.properties 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/resources/struts.properties 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+###
struts.locale=fr_FR
struts.i18n.encoding=UTF-8
Property changes on: trunk/src/main/resources/struts.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/resources/struts.xml
===================================================================
--- trunk/src/main/resources/struts.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/resources/struts.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -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 struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
Property changes on: trunk/src/main/resources/struts.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/WEB-INF/decorators/main.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,11 +1,15 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!--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" %>
<%@page import="org.chorem.bow.BowUtils" %>
<%@taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<%@taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>
<%@taglib prefix="s" uri="/struts-tags" %>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page"
+ xmlns:decorator="http://www.opensymphony.com/sitemesh/decorator">
<head>
<title>Bow : <decorator:title default="Bow" /></title>
<decorator:head />
Property changes on: trunk/src/main/webapp/WEB-INF/decorators/main.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/WEB-INF/decorators.xml
===================================================================
--- trunk/src/main/webapp/WEB-INF/decorators.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/WEB-INF/decorators.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,5 +1,29 @@
<?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%
+ -->
+
<decorators defaultdir="/WEB-INF/decorators">
<!-- Any urls that are excluded will never be decorated by Sitemesh -->
<excludes>
Property changes on: trunk/src/main/webapp/WEB-INF/decorators.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/WEB-INF/dwr.xml
===================================================================
--- trunk/src/main/webapp/WEB-INF/dwr.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/WEB-INF/dwr.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -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 dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
Property changes on: trunk/src/main/webapp/WEB-INF/dwr.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/WEB-INF/sitemesh.xml
===================================================================
--- trunk/src/main/webapp/WEB-INF/sitemesh.xml 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/WEB-INF/sitemesh.xml 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,5 +1,29 @@
<?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%
+ -->
+
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml"/>
<excludes file="${decorators-file}"/>
Property changes on: trunk/src/main/webapp/WEB-INF/sitemesh.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/css/bookmark.css
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/css/connexion.css
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/css/global.css
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/bow4chromium.pem
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/_locales/en/messages.json
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/_locales/fr/messages.json
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/background.html
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/css/extension.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/extensions/chromium/css/options.css
===================================================================
--- trunk/src/main/webapp/extensions/chromium/css/options.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/extensions/chromium/css/options.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
* #%L
* bow
*
- * $Id: options.css 144 2010-12-23 10:24:48Z bpoussin $
- * $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/extensions/chromium/opt… $
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2010 CodeLutin
* %%
Property changes on: trunk/src/main/webapp/extensions/chromium/css/options.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/img/favicon.png
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/fdboutonV.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/fondconnexion.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/fondhead.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/logobow.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/moyen-livre.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/img/ptit-livre.jpg
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/main/webapp/extensions/chromium/manifest.json
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/options.html
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/popup.html
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/extensions/chromium/properties.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/index.jsp
===================================================================
--- trunk/src/main/webapp/index.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/index.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -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 import="org.chorem.bow.BowSession"%>
<%
if (BowSession.getBowSession(session).getUser() == null) {
Property changes on: trunk/src/main/webapp/index.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/js/bookmark.js
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/admin.jsp
===================================================================
--- trunk/src/main/webapp/jsp/admin.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/admin.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -3,8 +3,8 @@
#%L
bow
- $Id: admin.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/admin.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
Property changes on: trunk/src/main/webapp/jsp/admin.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/jsp/error.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/forgotPassword.jsp
===================================================================
--- trunk/src/main/webapp/jsp/forgotPassword.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/forgotPassword.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
#%L
bow
- $Id: forgotPassword.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/forgotPassword.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
Property changes on: trunk/src/main/webapp/jsp/forgotPassword.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/home.jsp
===================================================================
--- trunk/src/main/webapp/jsp/home.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/home.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
#%L
bow
- $Id: home.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/home.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
@@ -36,10 +36,8 @@
if (bookmarkActions != null) {
%>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- xmlns:jsp="http://java.sun.com/JSP/Page"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ 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" />
Property changes on: trunk/src/main/webapp/jsp/home.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
#%L
bow
- $Id: bookmark.jsp 150 2010-12-23 14:19:56Z vbriand $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/bookmark.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
@@ -23,23 +23,22 @@
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
-<%@page import="org.chorem.bow.BowConfig" %>
-<%@page import="org.chorem.bow.Bookmark" %>
-<%@page import="java.text.SimpleDateFormat" %>
-<%@page import="java.util.Set" %>
-<s:set var="searchLine" value="%{#request.searchLine}" />
-<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="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())}" />
+<div class="bookmark"
+ xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
-<div class="bookmark">
+ <s:set var="searchLine" value="%{#request.searchLine}" />
+ <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="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())}" />
+
<div class="bookmarkhead">
<s:a cssClass="alias" href="%{#aliasUrl}" title="%{#bookmarkLink}" onclick="window.open(this.href); return false;">
<s:property value="%{#bookmarkAlias}" />
@@ -83,7 +82,7 @@
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
<s:param name="fullTextLine"><s:property value="%{#fullTextLine}" /></s:param>
</s:url>
- <s:if test="%{formBookmarkId != null && formBookmarkId.equals(wikittyId)}">
+ <s:if test="%{!(formBookmarkId == null || !formBookmarkId.equals(wikittyId))}">
<s:a cssStyle="text-decoration:none;" href="%{deleteTag}">
<img style="border:none;" src="img/delete.png" alt="Delete tag" title="Delete" />
</s:a>
Property changes on: trunk/src/main/webapp/jsp/inc/bookmark.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/errorFrame.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/errorFrame.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/errorFrame.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -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" %>
<%
String userError = (String)request.getAttribute("errorMsgUser");
Property changes on: trunk/src/main/webapp/jsp/inc/errorFrame.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/footer.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,7 +1,9 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
-<div id="footer">
+<div id="footer"
+ xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
<p>
<a shape="rect" href="http://www.chorem.org/projects/show/bow">bow</a>
<a shape="rect" href="http://www.chorem.org/projects/list_files/bow"></a> -
Property changes on: trunk/src/main/webapp/jsp/inc/footer.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/header.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,10 +1,13 @@
-<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@taglib prefix="s" uri="/struts-tags"%>
-<div id="header">
- <s:if test="%{#session.BowSession.user != null}">
- <a class="logo" href="<s:property value='%{#session.bowUrl}' />home.action?token=<s:property value='%{#session.BowSession.getPermanentToken()}' />">bow</a>
- </s:if>
- <s:else>
- <a class="logo" href="">bow</a>
- </s:else>
+<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@taglib prefix="s" uri="/struts-tags" %>
+<div id="header"
+ 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="%{#session.BowSession.user != null}">
+ <a class="logo"
+ href="<s:property value='%{#session.bowUrl}' />home.action?token=<s:property value='%{#session.BowSession.getPermanentToken()}' />">bow</a>
+ </s:if>
+ <s:else>
+ <a class="logo" href="">bow</a>
+ </s:else>
</div>
\ No newline at end of file
Property changes on: trunk/src/main/webapp/jsp/inc/header.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/rightMenu.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -24,10 +24,8 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
+<%@page import="org.chorem.bow.BowConfig" %>
<%@page import="org.chorem.bow.BowSession" %>
-<%@page import="org.chorem.bow.Bookmark" %>
-<%@page import="org.chorem.bow.BowConfig" %>
-<%@page import="org.chorem.bow.Preference" %>
<%
BowSession bowSession = BowSession.getBowSession(session);
BookmarkActions bookmarkActions = (BookmarkActions)request.getAttribute("bookmarkActions");
@@ -36,13 +34,12 @@
String permanentToken = bowSession.getPermanentToken();
String bowUrl = BowConfig.getInstance().getBowUrl();
-if ((String)request.getAttribute("formAction") == null)
+if (request.getAttribute("formAction") == null)
request.setAttribute("formAction", "addUrl");
%>
-<s:set var="searchLine" value="%{request.bookmarkActions.searchLine}" />
-<s:set var="fullTextLine" value="%{request.bookmarkActions.fullTextLine}" />
-<div id="logoutDiv">
+<div id="logoutDiv" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
<s:form action="logout">
<div class="input">
<s:submit key="bow.rightMenu.logout" name="submit" />
@@ -50,7 +47,10 @@
</s:form>
<a href="http://maven-site.chorem.org/bow/" class="help" onclick="window.open(this.href); return false;"><s:text name="bow.rightMenu.help" /></a>
</div>
-<div id="side">
+<div id="side" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+ <s:set var="searchLine" value="%{request.bookmarkActions.searchLine}" />
+ <s:set var="fullTextLine" value="%{request.bookmarkActions.fullTextLine}" />
<div id="colonneD">
<ul class="droite">
<%if (bowSession.isAdmin()) {%>
@@ -83,16 +83,16 @@
</p>
</s:form>
</div>
- <div id="nuage">
- <s:if test="%{searchLine != null}">
- <jsp:include page="tagsCloud.jsp" flush="true">
- <jsp:param name="searchLine" value="%{searchLine}" />
- </jsp:include>
- </s:if>
- <s:else>
- <jsp:include page="tagsCloud.jsp" flush="true" />
- </s:else>
- </div>
+ <!--div id="nuage"-->
+ <s:if test="%{searchLine != null}">
+ <jsp:include page="tagsCloud.jsp" flush="true">
+ <jsp:param name="searchLine" value="%{searchLine}" />
+ </jsp:include>
+ </s:if>
+ <s:else>
+ <jsp:include page="tagsCloud.jsp" flush="true" />
+ </s:else>
+ <!--/div-->
<div class="recherche">
<s:form action="search">
<div class="input">
Property changes on: trunk/src/main/webapp/jsp/inc/rightMenu.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -23,10 +23,11 @@
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
-<%@page import="org.chorem.bow.BookmarkActions" %>
-<%@page import="java.util.List" %>
-<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
-<s:if test="%{#request.nbTags > #request.bookmarkActions.getTagsCloud().size()}">
+
+<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:set var="maxTags" value="#request.bookmarkActions.getTagsCloud().size()" />
</s:if>
<s:else>
@@ -42,3 +43,5 @@
<!-- -->
<s:a href="%{search}" title="%{count} results" cssClass="tag" cssStyle="font-size: %{#request.bookmarkActions.getFont(count)}px"><s:property value="topicName" /></s:a>
</s:iterator>
+
+</div>
\ No newline at end of file
Property changes on: trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/login.jsp
===================================================================
--- trunk/src/main/webapp/jsp/login.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/login.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,10 +1,8 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- xmlns:jsp="http://java.sun.com/JSP/Page"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ 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" />
Property changes on: trunk/src/main/webapp/jsp/login.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/jsp/permanentXml.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/src/main/webapp/jsp/preferences.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/preferences.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
#%L
bow
- $Id: preferences.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/preferences.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
@@ -34,10 +34,8 @@
String temporaryToken = bowSession.getTemporaryToken();
%>
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- xmlns:jsp="http://java.sun.com/JSP/Page"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ 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" />
@@ -52,28 +50,38 @@
<s:actionerror />
<s:form action="preferences">
<div class="formFrame">
- <h3><s:text name="bow.preferences.userInfo" /></h3>
- <p>
- <s:textfield key="bow.login.email" name="email" labelposition="top" /><br />
- <s:password key="bow.preferences.currentPassword" name="currentPassword" labelposition="top" /><br />
- <s:password key="bow.preferences.newPassword" name="newPassword" labelposition="top" /><br />
- <s:password key="bow.preferences.confirmNewPassword" name="confirmNewPassword" labelposition="top" /><br />
- <s:submit key="bow.preferences.submit" name="submit" /><br />
- </p>
+ <h3><s:text name="bow.preferences.userInfo"/></h3>
+
+ <p>
+ <s:textfield key="bow.login.email" name="email"
+ labelposition="top"/><br/>
+ <s:password key="bow.preferences.currentPassword"
+ name="currentPassword" labelposition="top"/><br/>
+ <s:password key="bow.preferences.newPassword" name="newPassword"
+ labelposition="top"/><br/>
+ <s:password key="bow.preferences.confirmNewPassword"
+ name="confirmNewPassword" labelposition="top"/><br/>
+ <s:submit key="bow.preferences.submit" name="submit"/><br/>
+ </p>
<!--
</p>
</div>
<div class="formFrame">
<p>
-->
- <p>
- <ul>
- <li><strong><s:text name="bow.rightMenu.token.permanent" /> :</strong><%=permanentToken%></li>
- <li><strong><s:text name="bow.rightMenu.token.temporary" /> :</strong><%=temporaryToken%></li>
- </ul>
- <s:url id="regenPermToken" action="regenPermToken" />
- <s:a href="%{regenPermToken}" id="regenPermToken"><s:text name="bow.preferences.regenPermToken" /></s:a>
- </p>
+ <p>
+ <ul>
+ <li><strong><s:text name="bow.rightMenu.token.permanent"/>
+ :</strong><%=permanentToken%>
+ </li>
+ <li><strong><s:text name="bow.rightMenu.token.temporary"/>
+ :</strong><%=temporaryToken%>
+ </li>
+ </ul>
+ <s:url id="regenPermToken" action="regenPermToken"/>
+ <s:a href="%{regenPermToken}" id="regenPermToken"><s:text
+ name="bow.preferences.regenPermToken"/></s:a>
+ </p>
</div>
<div class="formFrame">
<h3><s:text name="bow.preferences.siteLook" /></h3>
Property changes on: trunk/src/main/webapp/jsp/preferences.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/register.jsp
===================================================================
--- trunk/src/main/webapp/jsp/register.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/register.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -2,8 +2,8 @@
#%L
bow
- $Id: register.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/register.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
Property changes on: trunk/src/main/webapp/jsp/register.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/search.jsp
===================================================================
--- trunk/src/main/webapp/jsp/search.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/search.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -3,8 +3,8 @@
#%L
bow
- $Id: search.jsp 144 2010-12-23 10:24:48Z bpoussin $
- $HeadURL: http://svn.chorem.org/svn/bow/trunk/src/main/webapp/search.jsp $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2010 CodeLutin
%%
@@ -24,9 +24,8 @@
-->
<%@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.BookmarkActions" %>
-<%@page import="org.chorem.bow.Bookmark" %>
-<%@page import="org.chorem.bow.Preference" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@page import="java.util.List" %>
<%
@@ -34,13 +33,15 @@
if (bookmarkActions != null) {
%>
- <s:set var="searchLine" value="%{#request.bookmarkActions.getSearchLine()}" />
- <s:set var="fullText" value="%{#request.bookmarkActions.getFullTextLine()}" />
+
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- xmlns:jsp="http://java.sun.com/JSP/Page"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+
+ <s:set var="searchLine" value="%{#request.bookmarkActions.getSearchLine()}" />
+ <s:set var="fullText" value="%{#request.bookmarkActions.getFullTextLine()}" />
+
<head>
<title><s:text name="bow.search.title" /></title>
<s:url id="css" value="/css/bookmark.css" />
Property changes on: trunk/src/main/webapp/jsp/search.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/jsp/suggestions.jsp
===================================================================
--- trunk/src/main/webapp/jsp/suggestions.jsp 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/jsp/suggestions.jsp 2011-02-14 14:53:06 UTC (rev 192)
@@ -23,9 +23,8 @@
-->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="org.chorem.bow.OpenSearchActions" %>
-<%@page import="java.util.List" %>
-<%@page import="java.util.Iterator" %>
<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
+<%@page import="java.util.List" %>
<%
OpenSearchActions osa = (OpenSearchActions) request.getAttribute("openSearchAction");
Property changes on: trunk/src/main/webapp/jsp/suggestions.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/jsp/temporaryXml.jsp
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/forms.css
===================================================================
--- trunk/src/main/webapp/styles/forms.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/forms.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* FORM ELEMENTS */
Property changes on: trunk/src/main/webapp/styles/forms.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-1col.css
===================================================================
--- trunk/src/main/webapp/styles/layout-1col.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-1col.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-horizontal.css");
Property changes on: trunk/src/main/webapp/styles/layout-1col.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navleft-1col.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navleft-1col.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navleft-1col.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-vertical.css");
Property changes on: trunk/src/main/webapp/styles/layout-navleft-1col.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navleft-2col.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navleft-2col.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navleft-2col.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-vertical.css");
Property changes on: trunk/src/main/webapp/styles/layout-navleft-2col.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navtop-1col.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navtop-1col.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navtop-1col.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-horizontal.css");
Property changes on: trunk/src/main/webapp/styles/layout-navtop-1col.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navtop-3col.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navtop-3col.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navtop-3col.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-horizontal.css");
Property changes on: trunk/src/main/webapp/styles/layout-navtop-3col.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navtop-localleft.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navtop-localleft.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navtop-localleft.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-horizontal.css");
Property changes on: trunk/src/main/webapp/styles/layout-navtop-localleft.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout-navtop-subright.css
===================================================================
--- trunk/src/main/webapp/styles/layout-navtop-subright.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout-navtop-subright.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
@import url("nav-horizontal.css");
Property changes on: trunk/src/main/webapp/styles/layout-navtop-subright.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/layout.css
===================================================================
--- trunk/src/main/webapp/styles/layout.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/layout.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* SITE SPECIFIC LAYOUT */
Property changes on: trunk/src/main/webapp/styles/layout.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/main.css
===================================================================
--- trunk/src/main/webapp/styles/main.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/main.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,4 +1,27 @@
/*
+ * #%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%
+ */
+/*
Css Framework
=============
- see http://www.contentwithstyle.co.uk/Articles/17/a-css-framework
Property changes on: trunk/src/main/webapp/styles/main.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/nav-horizontal.css
===================================================================
--- trunk/src/main/webapp/styles/nav-horizontal.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/nav-horizontal.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* NAV */
Property changes on: trunk/src/main/webapp/styles/nav-horizontal.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/nav-vertical.css
===================================================================
--- trunk/src/main/webapp/styles/nav-vertical.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/nav-vertical.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* NAV */
Property changes on: trunk/src/main/webapp/styles/nav-vertical.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/tools.css
===================================================================
--- trunk/src/main/webapp/styles/tools.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/tools.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* clearing */
Property changes on: trunk/src/main/webapp/styles/tools.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/styles/typo.css
===================================================================
--- trunk/src/main/webapp/styles/typo.css 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/styles/typo.css 2011-02-14 14:53:06 UTC (rev 192)
@@ -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%
+ */
/* A CSS Framework by Mike Stenhouse of Content with Style */
/* TYPOGRAPHY */
Property changes on: trunk/src/main/webapp/styles/typo.css
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/simple/form-common.ftl
===================================================================
--- trunk/src/main/webapp/template/simple/form-common.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/simple/form-common.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: form.ftl 590812 2007-10-31 20:32:54Z apetrelli $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/simple/form-common.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/controlheader-core.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/controlheader-core.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/controlheader-core.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: controlheader-core.ftl 720258 2008-11-24 19:05:16Z musachy $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/controlheader-core.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/file.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/file.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/file.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: file.ftl 590812 2007-10-31 20:32:54Z apetrelli $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/file.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/form-close.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/form-close.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/form-close.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: form-close.ftl 590812 2007-10-31 20:32:54Z apetrelli $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/form-close.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/form.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/form.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/form.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: form.ftl 720258 2008-11-24 19:05:16Z musachy $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/form.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/password.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/password.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/password.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: password.ftl 590812 2007-10-31 20:32:54Z apetrelli $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/password.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/main/webapp/template/xhtml/submit-close.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/submit.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/submit.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/submit.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: submit.ftl 720258 2008-11-24 19:05:16Z musachy $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/submit.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/main/webapp/template/xhtml/text.ftl
===================================================================
--- trunk/src/main/webapp/template/xhtml/text.ftl 2011-02-14 14:46:54 UTC (rev 191)
+++ trunk/src/main/webapp/template/xhtml/text.ftl 2011-02-14 14:53:06 UTC (rev 192)
@@ -1,6 +1,6 @@
<#--
/*
- * $Id: text.ftl 590812 2007-10-31 20:32:54Z apetrelli $
+ * $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Property changes on: trunk/src/main/webapp/template/xhtml/text.ftl
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/developper/installation.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/developper/presentation.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/index.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/todo.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/addBookmark.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/alias.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/importExport.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/openSearch.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/preferences.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/search.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/rst/user/user.rst
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/src/site/site.xml
___________________________________________________________________
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2011-02-14 15:46:54 +0100 (Mon, 14 Feb 2011)
New Revision: 191
Url: http://chorem.org/repositories/revision/bow/191
Log:
use i18nj 3.0-SNAPSHOT to improve parsing of jsp files
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-14 13:56:42 UTC (rev 190)
+++ trunk/pom.xml 2011-02-14 14:46:54 UTC (rev 191)
@@ -22,8 +22,17 @@
<name>bow</name>
<description>bookmarks on web</description>
<inceptionYear>2010</inceptionYear>
+
<packaging>war</packaging>
+ <licenses>
+ <license>
+ <name>GNU Affero General Public License version 3</name>
+ <url>http://www.gnu.org/licenses/agpl.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
<scm>
<connection>scm:svn:http://svn.chorem.org/svn/bow/trunk</connection>
<developerConnection>
@@ -38,7 +47,7 @@
<eugenePluginVersion>2.3.2</eugenePluginVersion>
<nuitonUtilsVersion>2.0</nuitonUtilsVersion>
- <nuitonI18nVersion>2.3</nuitonI18nVersion>
+ <nuitonI18nVersion>3.0-SNAPSHOT</nuitonI18nVersion>
<wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2Version>2.1.8.1</struts2Version>
@@ -292,9 +301,13 @@
</userRulesFiles>
<namespaces>
<s>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</s>
- <sx>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
+ <sx>
+ http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
</sx>
<jsp>http://java.sun.com/JSP/Page</jsp>
+ <decorator>
+ http://www.opensymphony.com/sitemesh/decorator
+ </decorator>
</namespaces>
</configuration>
</execution>
1
0
Author: tchemit
Date: 2011-02-14 14:56:42 +0100 (Mon, 14 Feb 2011)
New Revision: 190
Url: http://chorem.org/repositories/revision/bow/190
Log:
clean pom once again\!\!\!
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-14 11:49:15 UTC (rev 189)
+++ trunk/pom.xml 2011-02-14 13:56:42 UTC (rev 190)
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -17,13 +19,105 @@
<artifactId>bow</artifactId>
<version>0.4-SNAPSHOT</version>
+ <name>bow</name>
+ <description>bookmarks on web</description>
+ <inceptionYear>2010</inceptionYear>
+ <packaging>war</packaging>
+
+ <scm>
+ <connection>scm:svn:http://svn.chorem.org/svn/bow/trunk</connection>
+ <developerConnection>
+ scm:svn:http://svn.chorem.org/svn/bow/trunk
+ </developerConnection>
+ <url>http://www.chorem.org/repositories/browse/bow/trunk</url>
+ </scm>
+
+ <properties>
+ <platform>chorem.org</platform>
+ <projectId>bow</projectId>
+
+ <eugenePluginVersion>2.3.2</eugenePluginVersion>
+ <nuitonUtilsVersion>2.0</nuitonUtilsVersion>
+ <nuitonI18nVersion>2.3</nuitonI18nVersion>
+ <wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
+ <slf4jVersion>1.6.1</slf4jVersion>
+ <struts2Version>2.1.8.1</struts2Version>
+
+ <i18n.bundles>fr_FR,en_GB</i18n.bundles>
+ <i18n.silent>true</i18n.silent>
+ <i18n.bundleOutputName>bow-i18n</i18n.bundleOutputName>
+ <i18n.bundleOutputDir>${basedir}/target/generated-sources/resources
+ </i18n.bundleOutputDir>
+ <i18n.addBundleOuputDirParent>false</i18n.addBundleOuputDirParent>
+
+ <!-- license to use -->
+ <license.licenseName>agpl_v3</license.licenseName>
+ </properties>
+
<dependencies>
+
+ <!-- compile dependencies -->
+
<dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ <version>${nuitonUtilsVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ <version>${nuitonI18nVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.nuiton.wikitty</groupId>
+ <artifactId>wikitty-api</artifactId>
+ <version>${wikittyVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-core</artifactId>
+ <version>${struts2Version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.opensymphony</groupId>
+ <artifactId>xwork-core</artifactId>
+ <version>2.1.6</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+
+ <!--dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2.1</version>
+ </dependency-->
+
+ <dependency>
+ <groupId>org.htmlparser</groupId>
+ <artifactId>htmlparser</artifactId>
+ <version>1.6</version>
+ </dependency>
+
+ <dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.3</version>
</dependency>
+ <!-- provided dependencies -->
+
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
@@ -38,6 +132,8 @@
<scope>provided</scope>
</dependency>
+ <!-- runtime dependencies -->
+
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
@@ -46,20 +142,16 @@
<dependency>
<groupId>org.nuiton.wikitty</groupId>
- <artifactId>wikitty-api</artifactId>
- <version>${wikittyVersion}</version>
- </dependency>
-
- <dependency>
- <groupId>org.nuiton.wikitty</groupId>
<artifactId>wikitty-jdbc-impl</artifactId>
<version>${wikittyVersion}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.nuiton.wikitty</groupId>
<artifactId>wikitty-solr-impl</artifactId>
<version>${wikittyVersion}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
@@ -84,111 +176,28 @@
</dependency>
<dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-utils</artifactId>
- <version>${nuitonUtilsVersion}</version>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-spring-plugin</artifactId>
+ <version>${struts2Version}</version>
+ <scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>org.nuiton.i18n</groupId>
- <artifactId>nuiton-i18n</artifactId>
- <version>${nuitonI18nVersion}</version>
- </dependency>
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </dependency>
-
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.2.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.htmlparser</groupId>
- <artifactId>htmlparser</artifactId>
- <version>1.6</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>org.apache.struts</groupId>
- <artifactId>struts2-core</artifactId>
- <version>${struts2.version}</version>
+ <artifactId>struts2-config-browser-plugin</artifactId>
+ <version>${struts2Version}</version>
+ <scope>runtime</scope>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-sitemesh-plugin</artifactId>
- <version>${struts2.version}</version>
+ <version>${struts2Version}</version>
+ <scope>runtime</scope>
</dependency>
-
- <dependency>
- <groupId>org.apache.struts</groupId>
- <artifactId>struts2-spring-plugin</artifactId>
- <version>${struts2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.struts</groupId>
- <artifactId>struts2-config-browser-plugin</artifactId>
- <version>${struts2.version}</version>
- </dependency>
+
</dependencies>
- <scm>
- <connection>scm:svn:http://svn.chorem.org/svn/bow/trunk</connection>
- <developerConnection>
- scm:svn:http://svn.chorem.org/svn/bow/trunk
- </developerConnection>
- <url>http://www.chorem.org/repositories/browse/bow/trunk</url>
- </scm>
-
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
-
- <name>bow</name>
- <description>bookmarks on web</description>
- <inceptionYear>2010</inceptionYear>
-
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
-
- <packaging>war</packaging>
-
- <properties>
- <platform>chorem.org</platform>
- <projectId>bow</projectId>
-
- <nuitonUtilsVersion>2.0</nuitonUtilsVersion>
- <nuitonI18nVersion>2.3</nuitonI18nVersion>
- <wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
- <slf4jVersion>1.6.1</slf4jVersion>
- <struts2.version>2.1.8.1</struts2.version>
-
- <i18n.bundles>fr_FR,en_GB</i18n.bundles>
- <i18n.silent>true</i18n.silent>
- <i18n.bundleOutputName>bow-i18n</i18n.bundleOutputName>
- <i18n.bundleOutputDir>${basedir}/target/generated-sources/resources</i18n.bundleOutputDir>
- <i18n.addBundleOuputDirParent>false</i18n.addBundleOuputDirParent>
-
- <!-- license to use -->
- <license.licenseName>agpl_v3</license.licenseName>
- </properties>
-
<build>
<resources>
<resource>
@@ -202,6 +211,7 @@
<pluginManagement>
<plugins>
+
<plugin>
<artifactId>maven-site-plugin</artifactId>
<dependencies>
@@ -212,6 +222,19 @@
</dependency>
</dependencies>
</plugin>
+
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <version>${eugenePluginVersion}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <version>${nuitonI18nVersion}</version>
+ </plugin>
+
</plugins>
</pluginManagement>
@@ -219,19 +242,17 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>maven-eugene-plugin</artifactId>
-<!-- <version>2.1</version> -->
<executions>
<execution>
<id>api generator</id>
<phase>generate-sources</phase>
-<!-- <phase>process-sources</phase> -->
-
<configuration>
<inputs>
<input>zargo</input>
</inputs>
-<!-- <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> -->
- <templates>org.nuiton.wikitty.generator.WikittyMetaGenerator</templates>
+ <!-- <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> -->
+ <templates>org.nuiton.wikitty.generator.WikittyMetaGenerator
+ </templates>
<fullPackagePath>org.chorem.bow</fullPackagePath>
<generatedPackages>org.chorem.bow</generatedPackages>
</configuration>
@@ -253,7 +274,6 @@
<plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
- <version>${nuitonI18nVersion}</version>
<executions>
<execution>
<id>scan-java-sources</id>
@@ -272,7 +292,8 @@
</userRulesFiles>
<namespaces>
<s>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</s>
- <sx>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</sx>
+ <sx>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
+ </sx>
<jsp>http://java.sun.com/JSP/Page</jsp>
</namespaces>
</configuration>
Property changes on: trunk/pom.xml
___________________________________________________________________
Added: svn:eol-style
+ native
1
0
r189 - in trunk/src/main: java/org/chorem/bow/action webapp/jsp/inc
by bpoussin@users.chorem.org 14 Feb '11
by bpoussin@users.chorem.org 14 Feb '11
14 Feb '11
Author: bpoussin
Date: 2011-02-14 12:49:15 +0100 (Mon, 14 Feb 2011)
New Revision: 189
Url: http://chorem.org/repositories/revision/bow/189
Log:
fix bug in edit bookmark tag
Modified:
trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
trunk/src/main/webapp/jsp/inc/bookmark.jsp
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-11 17:48:26 UTC (rev 188)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-14 11:49:15 UTC (rev 189)
@@ -3,7 +3,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.Map;
import javax.servlet.http.HttpServletRequest;
Modified: trunk/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-11 17:48:26 UTC (rev 188)
+++ trunk/src/main/webapp/jsp/inc/bookmark.jsp 2011-02-14 11:49:15 UTC (rev 189)
@@ -26,7 +26,6 @@
<%@page import="org.chorem.bow.BowConfig" %>
<%@page import="org.chorem.bow.Bookmark" %>
<%@page import="java.text.SimpleDateFormat" %>
-<%@page import="org.chorem.bow.BookmarkActions" %>
<%@page import="java.util.Set" %>
<s:set var="searchLine" value="%{#request.searchLine}" />
@@ -56,7 +55,7 @@
<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.BookmarkActions@getBookmarkTagsString(#request.bookmark)}', '%{#bookmarkLink}', '%{editBookmarkModify}', '%{#wikittyId}');"></s:a>
+ <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:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param>
<s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param>
1
0
r188 - 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/webapp src/main/webapp/WEB-INF src/main/webapp/WEB-INF/decorators src/main/webapp/jsp src/main/webapp/jsp/inc src/main/xmi
by bpoussin@users.chorem.org 11 Feb '11
by bpoussin@users.chorem.org 11 Feb '11
11 Feb '11
Author: bpoussin
Date: 2011-02-11 18:48:26 +0100 (Fri, 11 Feb 2011)
New Revision: 188
Url: http://chorem.org/repositories/revision/bow/188
Log:
Evolution #258: Use wikitty 3.0
- refactore to use BowSession
- refactire to use one Proxy by user
(many other refactoring is needed :()
Added:
trunk/src/main/java/org/chorem/bow/BookmarkUtils.java
trunk/src/main/java/org/chorem/bow/BowSession.java
Removed:
trunk/src/main/java/org/chorem/bow/BowBookmark.java
trunk/src/main/java/org/chorem/bow/TokenActions.java
trunk/src/main/resources/wikitty-jdbc-config.properties
trunk/src/main/webapp/jsp/inc/bookmarkTop.jsp
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/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/BowUtils.java
trunk/src/main/java/org/chorem/bow/OpenSearchActions.java
trunk/src/main/java/org/chorem/bow/SuggestionsComparator.java
trunk/src/main/java/org/chorem/bow/UserMigration.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/BowBaseAction.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/LogoutAction.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/ReIndexationAction.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/bow.properties
trunk/src/main/webapp/WEB-INF/decorators/main.jsp
trunk/src/main/webapp/WEB-INF/web.xml
trunk/src/main/webapp/index.jsp
trunk/src/main/webapp/jsp/admin.jsp
trunk/src/main/webapp/jsp/error.jsp
trunk/src/main/webapp/jsp/home.jsp
trunk/src/main/webapp/jsp/inc/footer.jsp
trunk/src/main/webapp/jsp/inc/header.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/permanentXml.jsp
trunk/src/main/webapp/jsp/preferences.jsp
trunk/src/main/webapp/jsp/search.jsp
trunk/src/main/webapp/jsp/suggestions.jsp
trunk/src/main/webapp/jsp/temporaryXml.jsp
trunk/src/main/xmi/bow.zargo
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/pom.xml 2011-02-11 17:48:26 UTC (rev 188)
@@ -57,6 +57,12 @@
</dependency>
<dependency>
+ <groupId>org.nuiton.wikitty</groupId>
+ <artifactId>wikitty-solr-impl</artifactId>
+ <version>${wikittyVersion}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4jVersion}</version>
@@ -113,7 +119,6 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>3.8.1</version>
<scope>test</scope>
</dependency>
@@ -168,9 +173,9 @@
<platform>chorem.org</platform>
<projectId>bow</projectId>
- <nuitonUtilsVersion>1.4.2</nuitonUtilsVersion>
- <nuitonI18nVersion>2.0</nuitonI18nVersion>
- <wikittyVersion>2.0</wikittyVersion>
+ <nuitonUtilsVersion>2.0</nuitonUtilsVersion>
+ <nuitonI18nVersion>2.3</nuitonI18nVersion>
+ <wikittyVersion>3.0.4-SNAPSHOT</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2.version>2.1.8.1</struts2.version>
@@ -214,20 +219,19 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>maven-eugene-plugin</artifactId>
- <version>2.1</version>
+<!-- <version>2.1</version> -->
<executions>
<execution>
<id>api generator</id>
- <phase>process-sources</phase>
+ <phase>generate-sources</phase>
+<!-- <phase>process-sources</phase> -->
<configuration>
<inputs>
<input>zargo</input>
</inputs>
- <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver>
- <templates>org.nuiton.wikitty.generator.WikittyMetaGenerator
- </templates>
- <inputs>zargo</inputs>
+<!-- <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> -->
+ <templates>org.nuiton.wikitty.generator.WikittyMetaGenerator</templates>
<fullPackagePath>org.chorem.bow</fullPackagePath>
<generatedPackages>org.chorem.bow</generatedPackages>
</configuration>
@@ -249,6 +253,7 @@
<plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>maven-i18n-plugin</artifactId>
+ <version>${nuitonI18nVersion}</version>
<executions>
<execution>
<id>scan-java-sources</id>
Modified: trunk/src/main/java/org/chorem/bow/AliasServlet.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/AliasServlet.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/AliasServlet.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -30,7 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
@@ -66,8 +66,9 @@
if (!StringUtils.isEmpty(alias)) {
// remove first '/'
alias = alias.substring(1);
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_ALIAS, alias).criteria();
+ 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);
if (bookmark != null) {
String redirect = bookmark.getLink();
Modified: trunk/src/main/java/org/chorem/bow/BookmarkActions.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -24,13 +24,14 @@
package org.chorem.bow;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.FacetTopic;
+import org.nuiton.wikitty.search.FacetTopic;
/**
*
@@ -46,227 +47,6 @@
protected int tmax = -1;
protected int tmin = -1;
- /* @param html String html
- * @param name String name
- * @param user User user
- * @return Bookmark the bookmark filled
- */
- public static Bookmark createBookmarkFromHtml(String html, String name, User user) {
- String link = getUrlFromHtml(html);
- String tags = getTagsFromHtml(html);
- Date date = getDateFromHtml(html);
- Bookmark bookmark = createBookmark(link, name, tags, user, null, date);
- return bookmark;
- }
-
- /* @param html String html
- * @return Date from the html
- */
- public static Date getDateFromHtml(String html) {
- Date date = null;
- if (html != null) {
- Pattern p = Pattern.compile("ADD_DATE=\"([^\"]*)\"");
- Matcher m = p.matcher(html);
- if (m.find()) {
- String str = m.group(1);
- if (str != null && !str.isEmpty()) {
- long time = Long.valueOf(str) * 1000; // the date in ms
- date = new Date(time);
- }
- }
- }
- return date;
- }
-
- /* @param bookmarks List<Bookmarks> bookmarks
- * @return String the html file
- */
- public static String getExportHtmlBookmark(List<Bookmark> 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) {
- export += "<DT><A HREF=\"";
- export += bookmark.getLink() + "\" ";
- Date date = bookmark.getDate();
- 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();
- if (tags != null && !tags.isEmpty()) {
- export += "SHORTCUTURL=\"" + getBookmarkTagsString(bookmark) + "\"";
- }
- export += ">" + bookmark.getDescription() + "</A>\n";
- }
- }
- export += "</DL><p>";
- return export;
- }
-
- /* @param html String html
- *
- */
- public static String getUrlFromHtml(String html) {
- String url = "";
- if (html != null) {
- Pattern p = Pattern.compile("A HREF=\"([^\"]*)\"");
- Matcher m = p.matcher(html);
- if (m.find()) {
- url = m.group(1);
- }
- }
- return url;
- }
-
- public static String getTagsFromHtml(String html) {
- String tags = "";
- if (html != null) {
- Pattern p = Pattern.compile("SHORTCUTURL=\"([^\"]*)\"");
- Matcher m = p.matcher(html);
- if (m.find()) {
- tags = m.group(1);
- }
- }
- return tags;
- }
-
- /* @param url String which contains the bookmark url
- * @param nameAndTags String which contains the name and the tags of the
- * bookmark separated by '|' ==> name|tag1 tag2...
- * @param user bookmark user
- * @return null if all fields are not correctly filled
- * @return Bookmark the website bookmark
- */
- public static Bookmark createBookmark(String url, String nameAndTags, User user) {
-
- Bookmark bookmark = new BookmarkImpl();
-
- int nameIndex = nameAndTags.indexOf('|'); // get the index name of the website
- if (nameIndex > 0) {
- String name = nameAndTags.substring(0, nameIndex); // get the website name
- if (!name.isEmpty()) {
- name = name.trim();
- bookmark.setDescription(name); // set the description (website name)
- bookmark.setAlias(name);
- }
- }
- String tags = nameAndTags;
- if (nameIndex >= 0) {
- tags = nameAndTags.substring(nameIndex + 1); // get tags, +1 because of '|'
- }
- 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
- return bookmark;
- }
-
- public static void addUrlToBookmark(String url, Bookmark bookmark) {
- if (url != null && !url.isEmpty()) {
- String link = url.trim();
- if (! link.matches("[a-z]+://.+") ) {
- link = "http://" + link;
- }
- bookmark.setLink(link);
- } else {
- bookmark.setLink("");
- }
- }
-
- public static void addTagsToBookmark(String tags, Bookmark bookmark) {
- if (tags != null && !tags.isEmpty()) {
- tags = tags.trim();
- String[] tagsTab = tags.split("\\s+"); // put the tags in an array
- for (String aTagsTab : tagsTab) {
- if (aTagsTab == null) {
-
- continue;
- }
- Set<String> tagList = bookmark.getTags();
- if (tagList != null) {
- if (!tagList.contains(aTagsTab) && !aTagsTab.isEmpty()) {
- bookmark.addTags(aTagsTab); // Added tag for each rank (one tag by rank)
- }
- } else if (!aTagsTab.isEmpty()) {
- bookmark.addTags(aTagsTab);
- }
- }
- }
- }
-
- public static void addTagsToBookmark(List<String> tagList, Bookmark bookmark) {
- if (tagList != null && !tagList.isEmpty()) {
- for (String tag : tagList) {
- addTagsToBookmark(tag, bookmark);
- }
- }
- }
-
- public static Bookmark createBookmark(String url, String name, String tags, User user, String alias, Date date) {
- Bookmark bookmark = new BookmarkImpl();
- if (name != null) {
- name = name.trim();
- bookmark.setDescription(name);
- } else {
- bookmark.setDescription("");
- }
-
- addTagsToBookmark(tags, bookmark);
-
- addUrlToBookmark(url, bookmark);
-
- bookmark.setClick(0);
-
- bookmark.setEmail(user.getEmail()); // set the email (user name)
- if (date == null) {
- date = new Date();
- }
- bookmark.setDate(date); // set the date
- if (alias != null) {
- alias = alias.trim();
- bookmark.setAlias(alias);
- } else {
- bookmark.setAlias("");
- }
- return bookmark;
- }
-
- public static void updateBookmarkName(Bookmark 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) {
- if (name != null) {
- name = name.trim();
- bookmark.setDescription(name);
- }
- addUrlToBookmark(link, bookmark);
- bookmark.clearTags();
- addTagsToBookmark(tags, bookmark);
- if (alias != null) {
- alias = alias.trim();
- bookmark.setAlias(alias);
- }
- }
-
- public static String getBookmarkTagsString(Bookmark bookmark) {
- if (bookmark != null) {
- Set<String> tags = bookmark.getTags();
- if (tags != null) {
- return StringUtil.join(tags, " ", true);
- }
- }
- return "";
- }
public void createTagCloud(List<FacetTopic> cpy) {
setTagCloud(cpy);
Copied: trunk/src/main/java/org/chorem/bow/BookmarkUtils.java (from rev 184, trunk/src/main/java/org/chorem/bow/BowBookmark.java)
===================================================================
--- trunk/src/main/java/org/chorem/bow/BookmarkUtils.java (rev 0)
+++ trunk/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -0,0 +1,296 @@
+package org.chorem.bow;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.servlet.http.HttpServletRequest;
+import org.nuiton.util.StringUtil;
+
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.FacetTopic;
+import org.nuiton.wikitty.search.PagedResult;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.operators.Element;
+import org.nuiton.wikitty.search.Search;
+
+public class BookmarkUtils {
+
+ static public Criteria getBookmarkListCriteriaByUser(User 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);
+ } else {
+ criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).
+ criteria().addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ }
+ }
+ return criteria;
+ }
+
+ static public BookmarkActions createBookmarkActions(HttpServletRequest request, PagedResult<Bookmark> result, String searchLine) {
+ String fullText = request.getParameter("fullTextLine");
+ BookmarkActions bookmarkActions = new BookmarkActions();
+ bookmarkActions.setFullTextLine(fullText);
+ List<Bookmark> bookList = result.getAll();
+
+ if (bookList != null) {
+ bookmarkActions.setBookmarks(bookList);
+ }
+ if (fullText == null || fullText.isEmpty()) {
+ if (searchLine != null && searchLine.isEmpty()) {
+ bookmarkActions.emptySearchline();
+ } else {
+ bookmarkActions.addTags(searchLine); //Adds the new tags
+ }
+ }
+ List<FacetTopic> topics = result.getTopic(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ bookmarkActions.createTagCloud(topics);
+ return bookmarkActions;
+ }
+
+ static public List<FacetTopic> getBookmarksByImportDate(HttpServletRequest request, User 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);
+ List<FacetTopic> bookmarksImportDate =
+ proxy.findAllByCriteria(Import.class, criteria).getTopic(Import.FQ_FIELD_IMPORT_DATE);
+ request.setAttribute("bookmarksImportDate", bookmarksImportDate);
+ return bookmarksImportDate;
+ }
+
+ /* @param html String html
+ * @param name String name
+ * @param user User user
+ * @return Bookmark the bookmark filled
+ */
+ public static Bookmark createBookmarkFromHtml(String html, String name, User user) {
+ String link = getUrlFromHtml(html);
+ String tags = getTagsFromHtml(html);
+ Date date = getDateFromHtml(html);
+ Bookmark bookmark = createBookmark(link, name, tags, user, null, date);
+ return bookmark;
+ }
+
+ /* @param html String html
+ * @return Date from the html
+ */
+ public static Date getDateFromHtml(String html) {
+ Date date = null;
+ if (html != null) {
+ Pattern p = Pattern.compile("ADD_DATE=\"([^\"]*)\"");
+ Matcher m = p.matcher(html);
+ if (m.find()) {
+ String str = m.group(1);
+ if (str != null && !str.isEmpty()) {
+ long time = Long.valueOf(str) * 1000; // the date in ms
+ date = new Date(time);
+ }
+ }
+ }
+ return date;
+ }
+
+ /* @param bookmarks List<Bookmarks> bookmarks
+ * @return String the html file
+ */
+ public static String getExportHtmlBookmark(List<Bookmark> 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) {
+ export += "<DT><A HREF=\"";
+ export += bookmark.getLink() + "\" ";
+ Date date = bookmark.getDate();
+ 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();
+ if (tags != null && !tags.isEmpty()) {
+ export += "SHORTCUTURL=\"" + getBookmarkTagsString(bookmark) + "\"";
+ }
+ export += ">" + bookmark.getDescription() + "</A>\n";
+ }
+ }
+ export += "</DL><p>";
+ return export;
+ }
+
+ /* @param html String html
+ *
+ */
+ public static String getUrlFromHtml(String html) {
+ String url = "";
+ if (html != null) {
+ Pattern p = Pattern.compile("A HREF=\"([^\"]*)\"");
+ Matcher m = p.matcher(html);
+ if (m.find()) {
+ url = m.group(1);
+ }
+ }
+ return url;
+ }
+
+ public static String getTagsFromHtml(String html) {
+ String tags = "";
+ if (html != null) {
+ Pattern p = Pattern.compile("SHORTCUTURL=\"([^\"]*)\"");
+ Matcher m = p.matcher(html);
+ if (m.find()) {
+ tags = m.group(1);
+ }
+ }
+ return tags;
+ }
+
+ /* @param url String which contains the bookmark url
+ * @param nameAndTags String which contains the name and the tags of the
+ * bookmark separated by '|' ==> name|tag1 tag2...
+ * @param user bookmark user
+ * @return null if all fields are not correctly filled
+ * @return Bookmark the website bookmark
+ */
+ public static Bookmark createBookmark(String url, String nameAndTags, User user) {
+
+ Bookmark bookmark = new BookmarkImpl();
+
+ int nameIndex = nameAndTags.indexOf('|'); // get the index name of the website
+ if (nameIndex > 0) {
+ String name = nameAndTags.substring(0, nameIndex); // get the website name
+ if (!name.isEmpty()) {
+ name = name.trim();
+ bookmark.setDescription(name); // set the description (website name)
+ bookmark.setAlias(name);
+ }
+ }
+ String tags = nameAndTags;
+ if (nameIndex >= 0) {
+ tags = nameAndTags.substring(nameIndex + 1); // get tags, +1 because of '|'
+ }
+ 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
+ return bookmark;
+ }
+
+ public static void addUrlToBookmark(String url, Bookmark bookmark) {
+ if (url != null && !url.isEmpty()) {
+ String link = url.trim();
+ if (! link.matches("[a-z]+://.+") ) {
+ link = "http://" + link;
+ }
+ bookmark.setLink(link);
+ } else {
+ bookmark.setLink("");
+ }
+ }
+
+ public static void addTagsToBookmark(String tags, Bookmark bookmark) {
+ if (tags != null && !tags.isEmpty()) {
+ String[] tagsTab = tags.split("\\s+"); // put the tags in an array
+ List<String> tagList = Arrays.asList(tagsTab);
+ addTagsToBookmark(tagList, bookmark);
+ }
+ }
+
+ public static void addTagsToBookmark(List<String> tagList, Bookmark 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);
+ }
+ }
+ }
+ }
+
+ /**
+ * Create new Bookmark
+ *
+ * @param url
+ * @param name
+ * @param tags
+ * @param user
+ * @param alias
+ * @param date
+ * @return
+ */
+ public static Bookmark createBookmark(String url, String name, String tags,
+ User user, String alias, Date date) {
+ Bookmark bookmark = new BookmarkImpl();
+ if (name != null) {
+ name = name.trim();
+ bookmark.setDescription(name);
+ } else {
+ bookmark.setDescription("");
+ }
+
+ addTagsToBookmark(tags, bookmark);
+
+ addUrlToBookmark(url, bookmark);
+
+ bookmark.setClick(0);
+
+ bookmark.setEmail(user.getEmail()); // set the email (user name)
+ if (date == null) {
+ date = new Date();
+ }
+ bookmark.setDate(date); // set the date
+ if (alias != null) {
+ alias = alias.trim();
+ bookmark.setAlias(alias);
+ } else {
+ bookmark.setAlias("");
+ }
+ return bookmark;
+ }
+
+ public static void updateBookmarkName(Bookmark 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) {
+ if (name != null) {
+ name = name.trim();
+ bookmark.setDescription(name);
+ }
+ addUrlToBookmark(link, bookmark);
+ bookmark.clearTags();
+ addTagsToBookmark(tags, bookmark);
+ if (alias != null) {
+ alias = alias.trim();
+ bookmark.setAlias(alias);
+ }
+ }
+
+ public static String getBookmarkTagsString(Bookmark bookmark) {
+ if (bookmark != null) {
+ Set<String> tags = bookmark.getTags();
+ if (tags != null) {
+ return StringUtil.join(tags, " ", true);
+ }
+ }
+ return "";
+ }
+
+}
Deleted: trunk/src/main/java/org/chorem/bow/BowBookmark.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowBookmark.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowBookmark.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,62 +0,0 @@
-package org.chorem.bow;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.FacetTopic;
-import org.nuiton.wikitty.PagedResult;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.Element;
-import org.nuiton.wikitty.search.Search;
-
-public class BowBookmark {
- static public Criteria getBookmarkListCriteriaByUser(User 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_EMAIL, user.getEmail()).
- eq(Bookmark.FQ_FIELD_TAGS, tags).criteria().addFacetField(Bookmark.FQ_FIELD_TAGS);
- } else {
- criteria = Search.query().eq(Bookmark.FQ_FIELD_EMAIL, user.getEmail()).
- criteria().addFacetField(Bookmark.FQ_FIELD_TAGS);
- }
- }
- return criteria;
- }
-
- static public BookmarkActions createBookmarkActions(HttpServletRequest request, PagedResult<Bookmark> result, String searchLine) {
- String fullText = request.getParameter("fullTextLine");
- BookmarkActions bookmarkActions = new BookmarkActions();
- bookmarkActions.setFullTextLine(fullText);
- List<Bookmark> bookList = result.getAll();
-
- if (bookList != null) {
- bookmarkActions.setBookmarks(bookList);
- }
- if (fullText == null || fullText.isEmpty()) {
- if (searchLine != null && searchLine.isEmpty()) {
- bookmarkActions.emptySearchline();
- } else {
- bookmarkActions.addTags(searchLine); //Adds the new tags
- }
- }
- List<FacetTopic> topics = result.getTopic(Bookmark.FQ_FIELD_TAGS);
- bookmarkActions.createTagCloud(topics);
- return bookmarkActions;
- }
-
- static public List<FacetTopic> getBookmarksByImportDate(HttpServletRequest request, User user) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Import.EXT_IMPORT).eq(Bookmark.FQ_FIELD_EMAIL, user.getEmail()).criteria().
- addFacetField(Import.FQ_FIELD_DATE);
- List<FacetTopic> bookmarksImportDate = proxy.findAllByCriteria(Import.class, criteria).getTopic(Import.FQ_FIELD_DATE);
- request.setAttribute("bookmarksImportDate", bookmarksImportDate);
- return bookmarksImportDate;
- }
-}
Modified: trunk/src/main/java/org/chorem/bow/BowConfig.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowConfig.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowConfig.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -62,7 +62,7 @@
try {
instance = new BowConfig();
instance.parse(StringUtil.EMPTY_STRING_ARRAY);
- instance.setDataDirInSystemProps();
+// instance.setDataDirInSystemProps();
} catch (Exception e) {
throw new UnhandledException(e);
}
@@ -136,10 +136,10 @@
return result;
}
- public File getDataDirAsFile() {
- File option = getOptionAsFile(Option.DATA_DIR.key);
- return option;
- }
+// public File getDataDirAsFile() {
+// File option = getOptionAsFile(Option.DATA_DIR.key);
+// return option;
+// }
/**
* Get bow smtp server as string.
@@ -173,22 +173,22 @@
return StringUtil.split(str, ",");
}
- /**
- * Set {@code solr} and {@code jms} system configuration.
- *
- * This is the "only" way to configure embedded solr.
- */
- protected void setDataDirInSystemProps() {
- String value = System.getProperty(Option.DATA_DIR.key, null);
- if (value == null) {
- value = getOption(Option.DATA_DIR.key);
- if (log.isInfoEnabled()) {
- log.info("Setting system property " + Option.DATA_DIR.key + " : " + value);
- }
- System.setProperty(Option.DATA_DIR.key, value);
- env.put(Option.DATA_DIR.key, value);
- }
- }
+// /**
+// * Set {@code solr} and {@code jms} system configuration.
+// *
+// * This is the "only" way to configure embedded solr.
+// */
+// protected void setDataDirInSystemProps() {
+// String value = System.getProperty(Option.DATA_DIR.key, null);
+// if (value == null) {
+// value = getOption(Option.DATA_DIR.key);
+// if (log.isInfoEnabled()) {
+// log.info("Setting system property " + Option.DATA_DIR.key + " : " + value);
+// }
+// System.setProperty(Option.DATA_DIR.key, value);
+// env.put(Option.DATA_DIR.key, value);
+// }
+// }
/**
* Vradi option definition.
@@ -214,9 +214,9 @@
BOW_ADDRESSFROM("bow.addressFrom", _("bow.config.bow.addressFrom.description"),
null, String.class, false, false),
BOW_ADMINS("bow.admins", _("bow.config.bow.admins.description"),
- null, String.class, false, false),
- DATA_DIR("solr.data.dir", _("bow.config.data.dir.description"),
- System.getProperty("user.home") + "/.bow/solr", String.class, false, false);
+ null, String.class, false, false);
+// DATA_DIR("solr.data.dir", _("bow.config.data.dir.description"),
+// System.getProperty("user.home") + "/.bow/solr", String.class, false, false);
public final String key;
public final String description;
public final String defaultValue;
Modified: trunk/src/main/java/org/chorem/bow/BowInit.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowInit.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,90 +1,100 @@
package org.chorem.bow;
-import java.security.NoSuchAlgorithmException;
import java.util.List;
-import java.util.Map;
import javax.servlet.http.HttpServletRequest;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.Search;
public class BowInit {
- static public void checkAdmin(Map<String, Object> session, String login) {
- String[] admins = BowConfig.getInstance().getAdmins();
- if (admins != null) {
- for (String admin : admins) {
- if (login.equals(admin)) {
- session.put("admin", true);
- break;
- }
- }
- }
- else {
- session.put("admin", false);
- }
- }
+// static public void checkAdmin(Map<String, Object> session, String login) {
+// String[] admins = BowConfig.getInstance().getAdmins();
+//
+// boolean isAdmin = false;
+// if (admins != null) {
+// for (String admin : admins) {
+// if (login.equals(admin)) {
+// isAdmin = true;
+// break;
+// }
+// }
+// }
+// BowSession bowSession = BowSession.getBowSession(session);
+// bowSession.setAdmin(isAdmin);
+// }
+//
+// /**
+// * load token if not already loaded, or create new bow token if token not
+// * found in data
+// *
+// * @param session
+// * @param login
+// * @throws NoSuchAlgorithmException
+// */
+// static public void initializeToken(Map<String, Object> session, User login)
+// throws NoSuchAlgorithmException {
+// BowSession bowSession = BowSession.getBowSession(session);
+// BowToken bowToken = bowSession.getBowToken();
+// if (bowToken == null) {
+// WikittyProxy proxy = bowSession.getProxy();
+// Criteria criteria = Search.query().eq(Token.FQ_FIELD_TOKEN_EMAIL, login.getEmail()).criteria();
+// Token token = proxy.findByCriteria(Token.class, criteria);
+// bowToken = new BowToken();
+//
+// if (token == null) {
+// token = new TokenImpl();
+// String newToken = bowToken.generateToken();
+// token.setToken(newToken);
+// token.setEmail(login.getEmail());
+// proxy.store(token);
+// }
+// bowToken.setPermanentToken(token.getToken());
+// String temporaryToken = bowToken.generateToken();
+// bowToken.setTemporaryToken(temporaryToken);
+// bowSession.setBowToken(bowToken);
+// }
+// }
- static public void initializeToken(Map<String, Object> session, User login)
- throws NoSuchAlgorithmException {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_EMAIL, login.getEmail()).criteria();
- Token token = proxy.findByCriteria(Token.class, criteria);
- TokenActions tokenActions = new TokenActions();
+// static public void initSession(Map<String, Object> session, User user) throws NoSuchAlgorithmException {
+// BowSession bowSession = BowSession.getBowSession(session);
+//// WikittyProxy proxy = bowSession.getProxy();
+//
+// if (user != null) {
+// bowSession.setUser(user);
+//
+// // pas ajouter dans bowSession car, en a t on vraiment besoin ?
+//// session.put("version", config.getVersion());
+//// session.put("bowUrl", config.getBowUrl());
+//// initializeToken(session, user);
+//// checkAdmin(session, user.getEmail());
+// }
+// }
+//
+ static public void initHomePage(HttpServletRequest request, User user) {
+ BowSession session = BowSession.getBowSession(request);
+ WikittyProxy proxy = session.getProxy();
+ Criteria criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
- if (token == null) {
- token = new TokenImpl();
- String newToken = tokenActions.generateToken();
- token.setToken(newToken);
- token.setEmail(login.getEmail());
- proxy.store(token);
- }
- tokenActions.setPermanentToken(token.getToken());
- String temporaryToken = tokenActions.generateToken();
- tokenActions.setTemporaryToken(temporaryToken);
- session.put("tokenActions", tokenActions);
- }
+ 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);
+ bookmarkActions.setTagSearch(null);
+ List<Bookmark> bookList = bookmarkActions.getBookmarks();
- static public void initSession(Map<String, Object> session, User user) throws NoSuchAlgorithmException {
- WikittyProxy proxy = BowProxy.getInstance();
-
- if (user != null) {
- Preference preference = proxy.restore(Preference.class, user.getWikittyId());
- BowConfig config = BowConfig.getInstance();
-
- session.put("user", user);
- session.put("preference", preference);
- session.put("version", config.getVersion());
- session.put("bowUrl", config.getBowUrl());
- initializeToken(session, user);
- checkAdmin(session, user.getEmail());
- }
+ if (bookList.size() > 10) { //TODO: remove hardcoded value
+ bookList = bookmarkActions.getBookmarks().subList(0, 10); //TODO: remove hardcoded value
+ bookmarkActions.setBookmarks(bookList);
+ }
+ if (lastBookmarks != null) {
+ bookmarkActions.setLastBookmarks(lastBookmarks);
+ }
+ request.setAttribute("bookmarkActions", bookmarkActions);
+ }
}
-
- static public void initHomePage(HttpServletRequest request, User user) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = BowBookmark.getBookmarkListCriteriaByUser(user, null);
-
- if (criteria != null) {
- Criteria sortCriteria = criteria.addSortDescending(Bookmark.FQ_FIELD_CLICK);
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, sortCriteria); //Selects all bookmarks by user
- sortCriteria = criteria.addSortDescending(Bookmark.FQ_FIELD_DATE).setEndIndex(10);//TODO: remove hardcoded value
- List<Bookmark> lastBookmarks = proxy.findAllByCriteria(Bookmark.class, sortCriteria).getAll();
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, null);
- bookmarkActions.setTagSearch(null);
- List<Bookmark> bookList = bookmarkActions.getBookmarks();
-
- if (bookList.size() > 10) { //TODO: remove hardcoded value
- bookList = bookmarkActions.getBookmarks().subList(0, 10); //TODO: remove hardcoded value
- bookmarkActions.setBookmarks(bookList);
- }
- if (lastBookmarks != null) {
- bookmarkActions.setLastBookmarks(lastBookmarks);
- }
- request.setAttribute("bookmarkActions", bookmarkActions);
- }
- }
}
Modified: trunk/src/main/java/org/chorem/bow/BowProxy.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowProxy.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowProxy.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -25,12 +25,12 @@
import java.util.Arrays;
import java.util.List;
-import org.nuiton.wikitty.WikittyExtension;
-import org.nuiton.wikitty.WikittyExtensionMigration;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.services.WikittyExtensionMigration;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyServiceCached;
-import org.nuiton.wikitty.jdbc.WikittyServiceJDBC;
+import org.nuiton.wikitty.WikittyServiceFactory;
/**
* Proxy pour utiliser les wikitty convenablement initialise.
@@ -43,30 +43,54 @@
*/
public class BowProxy extends WikittyProxy {
- static protected BowProxy instance;
+ static protected WikittyService ws = null;
- synchronized static public BowProxy getInstance() {
- if (instance == null) {
- BowConfig config = BowConfig.getInstance();
- instance = new BowProxy(config);
- /*
- * Fixe me when wikitty will integrate this function
- */
- WikittyExtensionMigration.migrationRegistry.put(User.EXT_USER, new UserMigration());
- }
- return instance;
+ protected BowProxy(BowConfig config, WikittyService ws) {
+ super(config, ws);
}
- protected BowProxy(BowConfig config) {
- List<WikittyExtension> extensions = Arrays.asList(
- UserImpl.extensionUser,
- PreferenceImpl.extensionPreference,
- BookmarkImpl.extensionBookmark,
- TokenImpl.extensionToken);
- WikittyService ws = new WikittyServiceJDBC(config.getFlatOptions());
- ws = new WikittyServiceCached(ws);
- String token = getSecurityToken();
- ws.storeExtension(token, extensions);
- setWikittyService(ws);
+ /**
+ * Return instance of BowProxy with specified security token
+ *
+ * @param token
+ * @return
+ */
+ static public BowProxy getInstance(String token) {
+ BowConfig config = BowConfig.getInstance();
+ WikittyService ws = getWikittyService(config);
+ BowProxy result = new BowProxy(config, ws);
+ result.setSecurityToken(token);
+
+ return result;
}
+
+ /**
+ * Return WikittyService to use. This WikittyService is singleton.
+ *
+ * @param config
+ * @return
+ */
+ 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);
+
+ ws = WikittyServiceFactory.buildWikittyService(config);
+ ws.storeExtension(null, extensions);
+ }
+ }
+ }
+ return ws;
+ }
+
}
Modified: trunk/src/main/java/org/chorem/bow/BowSearch.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowSearch.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -5,64 +5,67 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
public class BowSearch {
+
static public void search(HttpServletRequest request, User user)
- throws IOException, ServletException {
- String searchLine = request.getParameter("searchLine");
+ throws IOException, ServletException {
+ String searchLine = request.getParameter("searchLine");
- if (searchLine == null) {
- searchLine = "";
- }
- String fulltext = request.getParameter("fullTextLine");
+ if (searchLine == null) {
+ searchLine = "";
+ }
+ String fulltext = request.getParameter("fullTextLine");
- if (fulltext != null && !fulltext.isEmpty() && searchLine.isEmpty()) {
- fullText(request, user);
- } else {
- String tag = request.getParameter("addTag");
+ if (fulltext != null && !fulltext.isEmpty() && searchLine.isEmpty()) {
+ fullText(request, user);
+ } else {
+ String tag = request.getParameter("addTag");
- if (tag != null && !tag.isEmpty()) {
- if (searchLine.isEmpty()) {
- searchLine = tag;
- } else {
- searchLine += " " + tag;
- }
- }
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = BowBookmark.getBookmarkListCriteriaByUser(user, searchLine);
- criteria = criteria.addSortDescending(Bookmark.FQ_FIELD_CLICK);
-
- if (criteria != null) {
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria); //Selects all bookmarks by user
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, searchLine);
- request.setAttribute("bookmarkActions", bookmarkActions);
- }
- }
+ if (tag != null && !tag.isEmpty()) {
+ if (searchLine.isEmpty()) {
+ searchLine = tag;
+ } else {
+ searchLine += " " + tag;
+ }
+ }
+ BowSession session = BowSession.getBowSession(request);
+ WikittyProxy proxy = session.getProxy();
+ Criteria criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
+ criteria = criteria.addSortDescending(Bookmark.FQ_FIELD_BOOKMARK_CLICK);
+
+ if (criteria != null) {
+ PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.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 {
- String fullText = request.getParameter("fullTextLine");
+ String fullText = request.getParameter("fullTextLine");
- if (fullText == null || fullText.isEmpty()) {
- search(request, user);
- } else {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria;
+ if (fullText == null || fullText.isEmpty()) {
+ search(request, user);
+ } else {
+ BowSession session = BowSession.getBowSession(request);
+ WikittyProxy proxy = session.getProxy();
+ Criteria criteria;
- if (!fullText.isEmpty()) {
- criteria = Search.query().keyword(fullText).
- eq(Bookmark.FQ_FIELD_EMAIL, user.getEmail()).criteria().
- addFacetField(Bookmark.FQ_FIELD_TAGS);
- } else {
- criteria = BowBookmark.getBookmarkListCriteriaByUser(user, null);
- }
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, null);
- request.setAttribute("bookmarkActions", bookmarkActions);
- }
+ if (!fullText.isEmpty()) {
+ criteria = Search.query().keyword(fullText).
+ eq(Bookmark.FQ_FIELD_BOOKMARK_EMAIL, user.getEmail()).criteria().
+ addFacetField(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
+ } else {
+ criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
+ }
+ PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
+ request.setAttribute("bookmarkActions", bookmarkActions);
+ }
}
}
Added: trunk/src/main/java/org/chorem/bow/BowSession.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowSession.java (rev 0)
+++ trunk/src/main/java/org/chorem/bow/BowSession.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -0,0 +1,184 @@
+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;
+
+/**
+ * Classe utilisee pour stocker les objets utils en session utilisateur
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class BowSession {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(BowSession.class);
+
+ 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;
+ protected String temporaryToken = null;
+ protected boolean admin = false;
+
+ public BowSession() {
+ proxy = BowProxy.getInstance(null);
+ }
+
+ static public void invalidate(Map<String, Object> session) {
+ session.remove(BOW_SESSION_KEY);
+ }
+
+ static public BowSession getBowSession(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+ BowSession result = getBowSession(session);
+ return result;
+ }
+
+ static public BowSession getBowSession(HttpSession httpSession) {
+ BowSession result = (BowSession) httpSession.getAttribute(BOW_SESSION_KEY);
+ if (result == null) {
+ result = new BowSession();
+ httpSession.setAttribute(BOW_SESSION_KEY, result);
+ }
+ return result;
+ }
+
+ static public BowSession getBowSession(Map<String, Object> session) {
+ BowSession result = (BowSession)session.get(BOW_SESSION_KEY);
+ if (result == null) {
+ result = new BowSession();
+ session.put(BOW_SESSION_KEY, result);
+ }
+ return result;
+ }
+
+ public BowProxy getProxy() {
+ return proxy;
+ }
+
+ public Preference 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)) {
+ return;
+ }
+
+ this.user = user;
+
+ if (user != null) {
+ // load user preference
+ Preference preference = getProxy().restore(Preference.class, user.getWikittyId());
+ checkPreference(preference);
+ setPreference(preference);
+
+ // check if this user is admin
+ String email = user.getEmail();
+ String[] admins = BowConfig.getInstance().getAdmins();
+ boolean isAdmin = false;
+ if (admins != null) {
+ for (String admin : admins) {
+ if (email.equals(admin)) {
+ isAdmin = true;
+ break;
+ }
+ }
+ }
+ setAdmin(isAdmin);
+
+ // retrieve or generate permanent token
+ loadToken();
+ }
+ }
+
+ /**
+ * 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);
+ }
+ // generate new temporary token
+ setPermanentToken(token.getToken());
+ String temporaryToken = BowUtils.generateToken();
+ setTemporaryToken(temporaryToken);
+ }
+ }
+
+ protected void checkPreference(Preference preference) {
+ if (preference.getBookmarks() <= 0) {
+ preference.setBookmarks(100); // set default to 100
+ }
+ if (preference.getTags() <= 0) {
+ preference.setTags(100); // set default to 100
+ }
+ if (preference.getColors() == null) {
+ preference.setColors("");
+ }
+ if (preference.getSearchEngineUrlResults() == null) {
+ preference.setSearchEngineUrlResults(BowConfig.getInstance().getSearchEngine());
+ }
+ if (preference.getSearchEngineUrlSuggestions() == null) {
+ preference.setSearchEngineUrlSuggestions(""); // TODO add default value in config
+ }
+ }
+
+ public String getPermanentToken() {
+ return permanentToken;
+ }
+
+ public void setPermanentToken(String permanentToken) {
+ this.permanentToken = permanentToken;
+ }
+
+ public String getTemporaryToken() {
+ return temporaryToken;
+ }
+
+ public void setTemporaryToken(String temporaryToken) {
+ this.temporaryToken = temporaryToken;
+ }
+
+ public boolean isAdmin() {
+ return admin;
+ }
+
+ public void setAdmin(boolean admin) {
+ this.admin = admin;
+ }
+
+}
Modified: trunk/src/main/java/org/chorem/bow/BowUtils.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/BowUtils.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,91 +1,76 @@
package org.chorem.bow;
-import java.util.Map;
-
-import javax.servlet.http.HttpSession;
-
-import org.nuiton.wikitty.Criteria;
+import java.security.NoSuchAlgorithmException;
+import org.nuiton.util.StringUtil;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
public class BowUtils {
+
+ private BowUtils() {
+ }
+
+ static public String generateToken() {
+ Double rand = Math.random() * 100000000;
+ int res = (int) Math.abs(rand); // generate a token between 0 and 100 000 000
+ String tokenGenerated = String.valueOf(res);
+ tokenGenerated = StringUtil.encodeMD5(tokenGenerated); // encode the token in MD5
+ return tokenGenerated; // return the generate token
+ }
+
+
static public String redirectTo(String searchLine, String fullTextLine) {
- if (!searchLine.equals("") || !fullTextLine.equals("")) {
- return "search.action?searchLine=" + searchLine + "&fullTextLine=" + fullTextLine;
- } else {
- return "home.action";
- }
+ if (!searchLine.equals("") || !fullTextLine.equals("")) {
+ return "search.action?searchLine=" + searchLine + "&fullTextLine=" + fullTextLine;
+ } else {
+ return "home.action";
+ }
}
- /* @param token String token
- * @param session HttpSession session
- * @return User
- * @description check if the token is valid and return the
- * token owner
- */
- static public User checkToken(String token, HttpSession session) {
- if (checkTemporaryToken(token, session)) {
- return (User) session.getAttribute("user");
- }
- return checkPermanentToken(token);
+ static public User checkToken(BowSession session, String token) {
+ User result = null;
+ if (checkTemporaryToken(session, token) || checkPermanentToken(session, token)) {
+ result = session.getUser();
+ }
+ return result;
}
-
- static public User checkToken(String token, Map<String, Object> session) {
- if (checkTemporaryToken(token, session)) {
- return (User) session.get("user");
- }
- return checkPermanentToken(token);
- }
- /* @param token String which contains the MD5 encoding token
+ /**
+ * check if token exist, if true, put User associated with it, in BowSession
+ *
+ * @param token String which contains the MD5 encoding token
* @return null the token doesn't exist
* @return User the token owner
*/
- protected static User checkPermanentToken(String token) {
- if (token != null) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_TOKEN, token).criteria();
- Token DbToken = proxy.findByCriteria(Token.class, criteria);
+ protected static boolean checkPermanentToken(BowSession session, String token) {
+ 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_EMAIL, userEmail).criteria(); // retrieve user by token
- return proxy.findByCriteria(User.class, criteria);
- }
- }
- return null;
+ 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);
+ session.setUser(user);
+ result = true;
+ }
+ }
+ return result;
}
- /* @param token String which contains the MD5 encoding token
+ /**
+ * Check token with temporary token
+ *
+ * @param token String which contains the MD5 encoding token
* @return null the token doesn't exist
* @return User the token owner
*/
- protected static boolean checkTemporaryToken(String token, HttpSession session) {
- TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
-
- if (tokenActions != null) {
- String temporaryToken = tokenActions.getTemporaryToken();
- if (temporaryToken != null) {
- if (temporaryToken.equals(token)) {
- return true;
- }
- }
- }
- return false;
+ protected static boolean checkTemporaryToken(BowSession session, String token) {
+ String temporaryToken = session.getTemporaryToken();
+ boolean result = temporaryToken != null && temporaryToken.equals(token);
+ return result;
}
-
- protected static boolean checkTemporaryToken(String token, Map<String, Object> session) {
- TokenActions tokenActions = (TokenActions) session.get("tokenActions");
-
- if (tokenActions != null) {
- String temporaryToken = tokenActions.getTemporaryToken();
-
- if (temporaryToken != null) {
- if (temporaryToken.equals(token)) {
- return true;
- }
- }
- }
- return false;
- }
}
Modified: trunk/src/main/java/org/chorem/bow/OpenSearchActions.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/OpenSearchActions.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/OpenSearchActions.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -29,7 +29,7 @@
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
-import org.nuiton.wikitty.FacetTopic;
+import org.nuiton.wikitty.search.FacetTopic;
/**
*
Modified: trunk/src/main/java/org/chorem/bow/SuggestionsComparator.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/SuggestionsComparator.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/SuggestionsComparator.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -24,7 +24,7 @@
package org.chorem.bow;
import java.util.Comparator;
-import org.nuiton.wikitty.FacetTopic;
+import org.nuiton.wikitty.search.FacetTopic;
/**
*
Deleted: trunk/src/main/java/org/chorem/bow/TokenActions.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/TokenActions.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/TokenActions.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,63 +0,0 @@
-/*
- * #%L
- * bow
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 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%
- */
-package org.chorem.bow;
-
-import java.security.NoSuchAlgorithmException;
-import org.nuiton.util.StringUtil;
-
-/**
- *
- * @author bbrossaud
- */
-
-public class TokenActions {
-
- String temporaryToken = "";
- String permanentToken = "";
-
- public String getPermanentToken() {
- return permanentToken;
- }
-
- public String getTemporaryToken() {
- return temporaryToken;
- }
-
- public String generateToken()
- throws NoSuchAlgorithmException {
- Double rand = Math.random() * 100000000;
- int res = (int) Math.abs(rand); // generate a token between 0 and 100 000 000
- String tokenGenerated = String.valueOf(res);
- tokenGenerated = StringUtil.encodeMD5(tokenGenerated); // encode the token in MD5
- return tokenGenerated; // return the generate token
- }
-
- public void setPermanentToken(String token) {
- permanentToken = token;
- }
-
- public void setTemporaryToken(String token) {
- temporaryToken = token;
- }
-}
Modified: trunk/src/main/java/org/chorem/bow/UserMigration.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/UserMigration.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/UserMigration.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -27,12 +27,12 @@
import java.util.List;
import java.util.Set;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.Wikitty;
+import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.WikittyException;
-import org.nuiton.wikitty.WikittyExtension;
-import org.nuiton.wikitty.WikittyExtensionMigration;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.services.WikittyExtensionMigration;
import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyTransaction;
+import org.nuiton.wikitty.entities.WikittyImpl;
/**
*
@@ -42,14 +42,17 @@
@Override
public Wikitty migrate(WikittyService service,
- WikittyTransaction transaction,
Wikitty wikitty,
WikittyExtension oldExt,
WikittyExtension newExt) {
+ // FIXME poussin 20110211 il y a un probleme, il faut checker la version
+ // de l'extension old avant de faire le migration. Sinon on va migrer
+ // des donnees deja migrees :(
+
String id = wikitty.getId();
String version = wikitty.getVersion();
- Wikitty newWikitty = new Wikitty(id);
+ Wikitty newWikitty = new WikittyImpl(id);
newWikitty.setVersion(version);
List<WikittyExtension> extensions =
Modified: trunk/src/main/java/org/chorem/bow/action/AddClickAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/AddClickAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,10 +1,10 @@
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowProxy;
import org.nuiton.wikitty.WikittyProxy;
public class AddClickAction extends BowBaseAction {
+
private static final long serialVersionUID = 8579081104294143087L;
protected String bookmarkId;
protected String link;
@@ -34,17 +34,20 @@
public void setLink(String link) {
this.link = link;
}
+
public String execute() {
- if (bookmarkId != null && !bookmarkId.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
- if (bookmark != null) {
- bookmark.setClick(bookmark.getClick() + 1);
- proxy.store(bookmark);
- link = bookmark.getLink();
- return SUCCESS;
- }
- }
- return ERROR;
+ String result = ERROR;
+ if (bookmarkId != null && !bookmarkId.isEmpty()) {
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ if (bookmark != null) {
+ bookmark.setClick(bookmark.getClick() + 1);
+ proxy.store(bookmark);
+ setLink(bookmark.getLink());
+ result = SUCCESS;
+ }
+ }
+ return result;
}
+
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,18 +1,20 @@
package org.chorem.bow.action;
-import java.util.Map;
-
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BookmarkActions;
-import org.chorem.bow.BowProxy;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowUtils;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class AddUrlAction extends BowBaseAction implements SessionAware {
+/**
+ * Ajoute un bookmark, soit par le formulaire, soit par un appel javascript
+ *
+ * @author poussin
+ */
+public class AddUrlAction extends BowBaseAction {
+
private static final long serialVersionUID = 3389170166034184139L;
protected String link;
protected String name;
@@ -21,10 +23,8 @@
protected String nameAndTags;
protected String redirectTo;
protected String searchLine;
- protected String fullTextLine;
- protected Map<String, Object> session;
+ protected String fullTextLine;
-
/**
* @return the link
*/
@@ -130,36 +130,32 @@
this.fullTextLine = fullTextLine;
}
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
public String execute() {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = null;
-
- if (name != null) {
- if (alias != null && !alias.isEmpty()) {
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_ALIAS, alias).criteria();
-
- if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
- alias = "";
- }
- }
- bookmark = BookmarkActions.createBookmark(link, name, tags, (User)session.get("user"), alias, null);
- } else { //This part is for the bookmark addition by script
- if (nameAndTags != null) {
- bookmark = BookmarkActions.createBookmark(link, nameAndTags, (User)session.get("user"));
- }
- }
- if (bookmark != null && !bookmark.getDescription().isEmpty() && !bookmark.getEmail().isEmpty()) {
- proxy.store(bookmark); //Stores the bookmark if everything is ok
- if (log.isDebugEnabled()) {
- log.debug("Adding URL");
- }
- }
- redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
- return SUCCESS;
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = null;
+
+ User user = getBowSession().getUser();
+ if (name != null) {
+ if (alias != null && !alias.isEmpty()) {
+ Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_ALIAS, alias).criteria();
+
+ if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
+ alias = "";
+ }
+ }
+ bookmark = BookmarkUtils.createBookmark(link, name, tags, user, alias, null);
+ } else { //This part is for the bookmark addition by script
+ if (nameAndTags != null) {
+ bookmark = BookmarkUtils.createBookmark(link, nameAndTags, user);
+ }
+ }
+ if (bookmark != null && !bookmark.getDescription().isEmpty() && !bookmark.getEmail().isEmpty()) {
+ proxy.store(bookmark); //Stores the bookmark if everything is ok
+ if (log.isDebugEnabled()) {
+ log.debug("Adding URL");
+ }
+ }
+ redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/BowBaseAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -6,13 +6,37 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.List;
+import java.util.Map;
+import org.apache.struts2.interceptor.SessionAware;
+import org.chorem.bow.BowProxy;
+import org.chorem.bow.BowSession;
-public class BowBaseAction extends ActionSupport {
+public class BowBaseAction extends ActionSupport implements SessionAware {
+
private static final long serialVersionUID = 1L;
+
+ protected static final Log log = LogFactory.getLog(BowBaseAction.class);
+
public static final String UNTRANSLATED_MARKER = "???";
- protected static final Log log = LogFactory.getLog(BowBaseAction.class);
+ protected Map<String, Object> session;
+
+ public BowSession getBowSession() {
+ BowSession result = BowSession.getBowSession(session);
+ return result;
+ }
+
+ public BowProxy getBowProxy() {
+ BowProxy result = getBowSession().getProxy();
+ return result;
+ }
+
@Override
+ public void setSession(Map<String, Object> session) {
+ this.session = session;
+ }
+
+ @Override
public String getText(String aTextName) {
String value = super.getText(aTextName);
return getSafeText(aTextName, value);
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteImportAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -2,22 +2,26 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.Import;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.operators.Element;
import org.nuiton.wikitty.search.Search;
-public class DeleteImportAction extends BowBaseAction implements SessionAware {
+/**
+ * Supprime un import de bookmark
+ *
+ * FIXME poussin 20110211 la suppression devrait se faire par rapport a l'id
+ * de l'import et non pas par rapport a la date :(
+ *
+ * @author poussin
+ */
+public class DeleteImportAction extends BowBaseAction {
private static final long serialVersionUID = 8714394293884265516L;
protected String date;
- protected Map<String, Object> session;
/**
* @return the date
@@ -32,27 +36,24 @@
this.date = date;
}
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
public String execute() {
- if (date != null) {
- WikittyProxy proxy = BowProxy.getInstance();
-
- if (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")) {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Import.EXT_IMPORT).eq(Bookmark.FQ_FIELD_EMAIL, ((User)session.get("user")).getEmail()).
- eq(Import.FQ_FIELD_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);
- }
- }
- return SUCCESS;
+ 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();
+ 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);
+ }
+ return SUCCESS;
}
+
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteSearchResultsAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -2,22 +2,26 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowBookmark;
-import org.chorem.bow.BowProxy;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class DeleteSearchResultsAction extends BowBaseAction implements SessionAware {
+/**
+ * Supprime des bookmarks qui satisfont le critere de recherche. Si fullTextLine
+ * est non vide, alors elle est utilisee, pour la recherche, sinon on utilise
+ * searchLine
+ *
+ * @author poussin
+ */
+public class DeleteSearchResultsAction extends BowBaseAction {
+
private static final long serialVersionUID = -3903724044644625507L;
protected String searchLine;
protected String fullTextLine;
- protected Map<String, Object> session;
/**
* @return the searchLine
@@ -47,32 +51,28 @@
this.fullTextLine = fullTextLine;
}
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
+ public String execute() {
+ if (searchLine != null && fullTextLine != null) {
+ WikittyProxy proxy = getBowProxy();
+ Criteria criteria;
- public String execute() {
- if (searchLine != null && fullTextLine != null) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria;
-
- if (fullTextLine.isEmpty()) {
- criteria = BowBookmark.getBookmarkListCriteriaByUser((User)session.get("user"), searchLine);
- } else {
- criteria = Search.query().keyword(fullTextLine).eq(Bookmark.FQ_FIELD_EMAIL, ((User)session.get("user")).getEmail()).criteria().addFacetField(Bookmark.FQ_FIELD_TAGS);
- }
- List<Bookmark> bookmarks = proxy.findAllByCriteria(Bookmark.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()) {
- ids.add(bookmark.getWikittyId());
- }
- }
- proxy.delete(ids);
- }
- return SUCCESS;
+ User user = getBowSession().getUser();
+ 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);
+ }
+ List<Bookmark> bookmarks = proxy.findAllByCriteria(Bookmark.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()) {
+ ids.add(bookmark.getWikittyId());
+ }
+ }
+ proxy.delete(ids);
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/DeleteTagAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,10 +1,14 @@
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.BowUtils;
import org.nuiton.wikitty.WikittyProxy;
+/**
+ * Supprime un tag d'un bookmark
+ *
+ * @author poussin
+ */
public class DeleteTagAction extends BowBaseAction {
private static final long serialVersionUID = -6174966873862161966L;
protected String bookmarkId;
@@ -74,18 +78,18 @@
}
public String execute() {
- if (deleteTag != null && bookmarkId != null) {
- if (!bookmarkId.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ if (deleteTag != null && bookmarkId != null) {
+ if (!bookmarkId.isEmpty()) {
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
- if (bookmark != null) {
- bookmark.removeTags(deleteTag);
- proxy.store(bookmark);
- }
- }
- }
- redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
- return SUCCESS;
+ if (bookmark != null) {
+ bookmark.removeTags(deleteTag);
+ proxy.store(bookmark);
+ }
+ }
+ }
+ redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,27 +1,30 @@
package org.chorem.bow.action;
import java.io.IOException;
-import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BookmarkActions;
+import org.chorem.bow.BookmarkUtils;
+import org.chorem.bow.BowConfig;
import org.chorem.bow.BowInit;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.BowSearch;
import org.chorem.bow.User;
import org.nuiton.wikitty.WikittyProxy;
-public class EditBookmarkAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Prepare les données pour la modification d'un bookmark
+ * TODO poussin 20110211 peut-etre le remplacer par une popup JS d'edition ?
+ *
+ * @author poussin
+ */
+public class EditBookmarkAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = 2706590901233864637L;
protected String bookmarkId;
protected String searchLine;
protected String fullTextLine;
- protected Map<String, Object> session;
protected HttpServletRequest request;
/**
@@ -67,42 +70,43 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String execute() {
if (bookmarkId != null && !bookmarkId.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
- if (bookmark != null) {
- request.setAttribute("link", bookmark.getLink());
- request.setAttribute("name", bookmark.getDescription());
- request.setAttribute("alias", bookmark.getAlias());
- request.setAttribute("tags", BookmarkActions.getBookmarkTagsString(bookmark));
- request.setAttribute("formAction", "/bow/modifyBookmark.action?bookmarkId=" + bookmarkId + "&searchLine=" + searchLine + "&fullTextLine=" + fullTextLine);
- }
- }
- if (searchLine == null || searchLine.equals("")) {
- BowInit.initHomePage(request, (User)session.get("user"));
- return "home";
- } else {
- try {
- BowSearch.search(request, (User)session.get("user"));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return "search";
- }
+ if (bookmark != null) {
+ request.setAttribute("link", bookmark.getLink());
+ request.setAttribute("name", bookmark.getDescription());
+ request.setAttribute("alias", bookmark.getAlias());
+ request.setAttribute("tags", BookmarkUtils.getBookmarkTagsString(bookmark));
+ String servletName = BowConfig.getInstance().getServletBow();
+ request.setAttribute("formAction",
+ "/" + servletName + "/modifyBookmark.action"
+ + "?bookmarkId=" + bookmarkId
+ + "&searchLine=" + searchLine
+ + "&fullTextLine=" + fullTextLine);
+ }
+ }
+ User user = getBowSession().getUser();
+ if (searchLine == null || searchLine.equals("")) {
+ BowInit.initHomePage(request, user);
+ return "home";
+ } else {
+ try {
+ BowSearch.search(request, user);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (ServletException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return "search";
+ }
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/ExportBookmarksAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -2,56 +2,56 @@
import java.io.IOException;
import java.util.List;
-import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletResponseAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BookmarkActions;
-import org.chorem.bow.BowProxy;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class ExportBookmarksAction extends BowBaseAction implements SessionAware, ServletResponseAware {
+/**
+ * Export son bookmark au format HTML
+ * TODO poussin 20110211 n'y aurait-il pas une meilleur facon d'envoyer un fichier
+ * en struts ???
+ *
+ * @author poussin
+ */
+public class ExportBookmarksAction extends BowBaseAction implements ServletResponseAware {
private static final long serialVersionUID = 45880214686011946L;
- protected Map<String, Object> session;
protected HttpServletResponse response;
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public String execute() {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_EMAIL, ((User)session.get("user")).getEmail()).criteria();
- List<Bookmark> bookmarks = proxy.findAllByCriteria(Bookmark.class, criteria).getAll();
- String export = BookmarkActions.getExportHtmlBookmark(bookmarks);
- byte[] buff = export.getBytes();
- ServletOutputStream op;
+ WikittyProxy proxy = getBowProxy();
+ User 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();
+ String export = BookmarkUtils.getExportHtmlBookmark(bookmarks);
+ byte[] buff = export.getBytes();
+ ServletOutputStream op;
- try {
- op = response.getOutputStream();
- response.setContentType("application/octet-stream");
- response.setHeader("Content-Disposition", "attachment; filename=\"bookmarks.html\"");
- response.setContentLength(buff.length);
- op.write(buff, 0, buff.length);
- op.flush();
- op.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return SUCCESS;
+ try {
+ op = response.getOutputStream();
+ response.setContentType("application/octet-stream");
+ response.setHeader("Content-Disposition", "attachment; filename=\"bookmarks.html\"");
+ response.setContentLength(buff.length);
+ op.write(buff, 0, buff.length);
+ op.flush();
+ op.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/ForgotPasswordAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -7,15 +7,24 @@
import org.apache.commons.lang.RandomStringUtils;
import org.chorem.bow.BowMail;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.User;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
import static org.nuiton.i18n.I18n.n_;
+/**
+ * Genere un nouveau mot de passe pour l'utilisateur et lui envoie par mail
+ * TODO poussin 20110211 il faudrait ajouter une securite pour eviter que
+ * quelqu'un s'amuse a demander la modification de password de quelqu'un d'autre
+ * toutes les 2s
+ * - soit en ne permettant l'envoi qu'une fois par jour
+ * - soit ????
+ *
+ * @author poussin
+ */
public class ForgotPasswordAction extends BowBaseAction {
private static final long serialVersionUID = -8207951465957204954L;
protected String email;
@@ -34,54 +43,57 @@
this.email = email;
}
- protected boolean passwordExists(String password) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_PASSWORD, password).criteria();
- List<User> users = proxy.findAllByCriteria(User.class, criteria).getAll();
- if (users != null && users.size() > 0) {
- return true;
- }
- return false;
- }
+// protected boolean passwordExists(String password) {
+// WikittyProxy proxy = getBowProxy();
+// Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_PASSWORD, password).criteria();
+// List<User> users = proxy.findAllByCriteria(User.class, criteria).getAll();
+// if (users != null && users.size() > 0) {
+// return true;
+// }
+// return false;
+// }
public String execute() {
- if (email != null) {
- email = email.trim();
- if (!email.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_EMAIL, email).criteria();
- User user = proxy.findByCriteria(User.class, criteria);
-
- if (user != null) {
- boolean bool = true;
- String password = "";
- String md5 = "";
-
- while (bool) {
- password = RandomStringUtils.randomAlphanumeric(20);
- md5 = StringUtil.encodeMD5(password);
- bool = passwordExists(md5);
- }
- try {
- String mailContent;
+ if (email != null) {
+ 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);
- mailContent = getText(n_("bow.register.mailHi")) + ",\n\n" + getText(n_("bow.register.mailPwd")) + ": " + password + "\n\n" + getText(n_("bow.register.mailEmail")) + ": " + email + "\n\n";
- BowMail.sendMail(email, getText(n_("bow.register.mailSubject")), mailContent);
- } catch (AddressException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (MessagingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- user.setPassword(md5);
- proxy.store(user);
- return SUCCESS;
- } else {
- addFieldError("email", getText(n_("bow.forgotPassword.emailDoesntExist")));
- }
- }
- }
- return INPUT;
+ if (user != null) {
+// boolean bool = true;
+ String password = "";
+ String md5 = "";
+
+// while (bool) {
+ password = RandomStringUtils.randomAlphanumeric(20);
+ md5 = StringUtil.encodeMD5(password);
+// bool = passwordExists(md5);
+// }
+ try {
+ String mailContent;
+
+ mailContent = getText(n_("bow.register.mailHi")) + ",\n\n" + getText(n_("bow.register.mailPwd")) + ": " + password + "\n\n" + getText(n_("bow.register.mailEmail")) + ": " + email + "\n\n";
+ BowMail.sendMail(email, getText(n_("bow.register.mailSubject")), mailContent);
+
+ // on ne change le mot de passe que si on a reussi a
+ // envoyer le mail
+ user.setPassword(md5);
+ proxy.store(user);
+ } catch (AddressException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (MessagingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return SUCCESS;
+ } else {
+ addFieldError("email", getText(n_("bow.forgotPassword.emailDoesntExist")));
+ }
+ }
+ }
+ return INPUT;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/FullTextSearchAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,19 +1,22 @@
package org.chorem.bow.action;
import java.io.IOException;
-import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.BowSearch;
+import org.chorem.bow.BowSession;
import org.chorem.bow.User;
-public class FullTextSearchAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Fait la recherche fulltext
+ *
+ * @author poussin
+ */
+public class FullTextSearchAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = -7736099487284993426L;
- protected Map<String, Object> session;
protected String searchLine;
protected String fullTextLine;
protected HttpServletRequest request;
@@ -22,11 +25,6 @@
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
-
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
/**
* @return the searchLine
@@ -57,7 +55,8 @@
}
public String execute() {
- User user = (User)session.get("user");
+ BowSession session = getBowSession();
+ User user = session.getUser();
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-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/GenerateTokenAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,61 +1,34 @@
package org.chorem.bow.action;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-
-import org.apache.struts2.interceptor.SessionAware;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.Token;
-import org.chorem.bow.TokenActions;
-import org.chorem.bow.TokenImpl;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class GenerateTokenAction extends BowBaseAction implements SessionAware {
+/**
+ * Force la regeneration de token permanent et temporaire
+ *
+ * @author poussin
+ */
+public class GenerateTokenAction extends BowBaseAction {
+
private static final long serialVersionUID = 1141019772989666309L;
- protected Map<String, Object> session;
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
public String execute() {
- User user = (User)session.get("user");
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(Token.FQ_FIELD_EMAIL, user.getEmail()).criteria();
- Token currentToken = proxy.findByCriteria(Token.class, criteria);
+ User 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);
- }
- TokenActions tokenActions = (TokenActions)session.get("tokenActions");
+ 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();
- if (tokenActions != null) {
- String token;
-
- try {
- token = tokenActions.generateToken(); //Generates an encoding MD5 token
- criteria = Search.query().eq(Token.FQ_FIELD_TOKEN, token).criteria();
- Token oldToken = proxy.findByCriteria(Token.class, criteria);
-
- if (oldToken == null) { //Checks if the token already exists
- TokenImpl newToken = new TokenImpl();
- newToken.setToken(token);
- newToken.setEmail(user.getEmail());
- proxy.store((Token) newToken); //If the token doesn't exist, it is stored
- tokenActions.setPermanentToken(token);
- } else {
- tokenActions.setPermanentToken("");
- }
- } catch (NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- return SUCCESS;
+ 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-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/HomeAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,18 +1,19 @@
package org.chorem.bow.action;
-import java.util.Map;
-
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.BowInit;
import org.chorem.bow.User;
-public class HomeAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Prepare l'affichage de la page d'accueil
+ *
+ * @author poussin
+ */
+public class HomeAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = -3735250067223062719L;
protected String token;
- protected Map<String, Object> session;
protected HttpServletRequest request;
/**
@@ -29,17 +30,12 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String execute() {
- User user = (User)session.get("user");
+ User user = getBowSession().getUser();
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-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -2,24 +2,21 @@
import java.io.File;
import java.io.IOException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.io.FileUtils;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BookmarkActions;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowInit;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.BowSearch;
import org.chorem.bow.BowUtils;
-import org.chorem.bow.Import;
+import org.chorem.bow.ImportHelper;
import org.chorem.bow.User;
import org.htmlparser.Node;
import org.htmlparser.Parser;
@@ -27,10 +24,16 @@
import org.htmlparser.util.ParserException;
import org.htmlparser.util.SimpleNodeIterator;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.entities.Wikitty;
import static org.nuiton.i18n.I18n.n_;
-public class ImportBookmarksAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Import un bookmark HTML
+ *
+ * @author poussin
+ */
+public class ImportBookmarksAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = -5962680416570797028L;
protected File upfile;
protected String upfileContentType;
@@ -38,7 +41,6 @@
protected String searchLine;
protected String fullTextLine;
protected String redirectTo;
- protected Map<String, Object> session;
protected HttpServletRequest request;
/**
@@ -119,35 +121,31 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
- protected void createImportExtension(List<Bookmark> bookmarks) {
- if (bookmarks != null && !bookmarks.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- List<String> ids = new ArrayList<String>();
+// protected void createImportExtension(List<Bookmark> bookmarks) {
+// if (bookmarks != null && !bookmarks.isEmpty()) {
+// WikittyProxy proxy = getBowProxy();
+// List<String> ids = new ArrayList<String>();
+//
+// for (Bookmark bookmark : bookmarks) {
+// String id = bookmark.getWikittyId();
+// ids.add(id);
+// }
+// Date date = new Date();
+// List<Import> imports = proxy.restore(Import.class, ids);
+//
+// for (Import imp : imports) {
+// imp.setDate(date);
+// }
+// proxy.store(imports);
+// }
+// }
- for (Bookmark bookmark : bookmarks) {
- String id = bookmark.getWikittyId();
- ids.add(id);
- }
- Date date = new Date();
- List<Import> imports = proxy.restore(Import.class, ids);
-
- for (Import imp : imports) {
- imp.setDate(date);
- }
- proxy.store(imports);
- }
- }
-
- protected void parseHtmlToBookmarks(NodeList list, User user, List<Bookmark> bookmarks, List<String> tagList)
+ protected void parseHtmlToBookmarks(NodeList list, User user, Date date,
+ List<Bookmark> bookmarks, List<String> tagList)
throws ParserException {
if (list != null) {
boolean isFolder = false;
@@ -164,8 +162,11 @@
isFolder = true;
}
} else if (text != null && text.startsWith("A HREF")) { // HREF = new bookmarks
- Bookmark bookmark = BookmarkActions.createBookmarkFromHtml(text, plainText, user);
- BookmarkActions.addTagsToBookmark(tagList, bookmark);
+ Bookmark bookmark = BookmarkUtils.createBookmarkFromHtml(text, plainText, user);
+ Wikitty w = getBowProxy().getWikitty(bookmark);
+ ImportHelper.addExtension(w);
+ ImportHelper.setDate(w, date);
+ BookmarkUtils.addTagsToBookmark(tagList, bookmark);
if (bookmark != null) {
bookmarks.add(bookmark);
@@ -174,7 +175,7 @@
NodeList children = node.getChildren();
if (children != null) {
- parseHtmlToBookmarks(children, user, bookmarks, tagList); //If there is an under node = recursion
+ parseHtmlToBookmarks(children, user, date, bookmarks, tagList); //If there is an under node = recursion
}
}
if (isFolder) { //If we find a folder, we have to remove it
@@ -188,27 +189,26 @@
}
public String execute() {
- User user = (User)session.get("user");
+ User user = getBowSession().getUser();
if (upfile != null) {
- try {
- List<?> lines;
+// try {
+// List<?> lines = FileUtils.readLines(upfile);
+// String content = "";
+//
+// for (Object line : lines) {
+// content += (String)line;
+// }
+ WikittyProxy proxy = getBowProxy();
- lines = FileUtils.readLines(upfile);
- String content = "";
-
- for (Object line : lines) {
- content += (String)line;
- }
- WikittyProxy proxy = BowProxy.getInstance();
-
try {
- Parser parser = new Parser(content);
+ URL url = upfile.toURI().toURL();
+ Parser parser = new Parser(url.openConnection());
NodeList list = parser.parse(null);
List<Bookmark> bookmarks = new ArrayList<Bookmark>();
- parseHtmlToBookmarks(list, user, bookmarks, new ArrayList<String>());
+ parseHtmlToBookmarks(list, user, new Date(), bookmarks, new ArrayList<String>());
bookmarks = proxy.store(bookmarks);
- createImportExtension(bookmarks);
+// createImportExtension(bookmarks);
redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
if (searchLine == null || searchLine.isEmpty()) {
BowInit.initHomePage(request, user);
@@ -245,12 +245,11 @@
}
return SUCCESS;
}
- }
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
- }
return ERROR;
+ }
}
return SUCCESS;
}
Modified: trunk/src/main/java/org/chorem/bow/action/LoginAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/LoginAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/LoginAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -25,27 +25,28 @@
package org.chorem.bow.action;
import java.security.NoSuchAlgorithmException;
-import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.User;
import org.chorem.bow.BowInit;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
import static org.nuiton.i18n.I18n.n_;
-public class LoginAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * authentifie l'utilisateur et place son objet User dans la bow session
+ *
+ * @author poussin
+ */
+public class LoginAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = 6891064800288772246L;
protected String email;
protected String password;
- protected Map<String, Object> session;
protected HttpServletRequest servletRequest;
public String getEmail() {
@@ -65,11 +66,6 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.servletRequest = request;
}
@@ -77,9 +73,9 @@
protected User checkLogin(String email, String password) throws NoSuchAlgorithmException {
if (email != null && password != null) {
if (!email.isEmpty() && !password.equals(StringUtil.encodeMD5(""))) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_EMAIL, email).
- eq(User.FQ_FIELD_PASSWORD, password).criteria();
+ 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) {
@@ -92,29 +88,25 @@
}
public String execute() {
- if (email != null) {
- email = email.trim();
-
- if (password != null) {
- String md5 = StringUtil.encodeMD5(password);
- User user;
-
- try {
- user = checkLogin(email, md5);
- } catch (NoSuchAlgorithmException e) {
- return ERROR;
- }
- if (user != null) {
- try {
- BowInit.initSession(session, user);
- } catch (NoSuchAlgorithmException e) {
- return ERROR;
- }
- BowInit.initHomePage(servletRequest, user);
- return SUCCESS;
- }
- }
- }
- return INPUT;
+ if (email != null) {
+ email = email.trim();
+
+ if (password != null) {
+ String md5 = StringUtil.encodeMD5(password);
+ User user;
+
+ try {
+ user = checkLogin(email, md5);
+ } catch (NoSuchAlgorithmException e) {
+ return ERROR;
+ }
+ if (user != null) {
+ getBowSession().setUser(user);
+ BowInit.initHomePage(servletRequest, user);
+ return SUCCESS;
+ }
+ }
+ }
+ return INPUT;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/LogoutAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/LogoutAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/LogoutAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,33 +1,17 @@
package org.chorem.bow.action;
-import java.util.Map;
+import org.chorem.bow.BowSession;
-import org.apache.struts2.dispatcher.SessionMap;
-import org.apache.struts2.interceptor.SessionAware;
-
-public class LogoutAction extends BowBaseAction implements SessionAware {
+/**
+ * Invalide la session courante et donc de-authentifie l'utilisateur
+ *
+ * @author poussin
+ */
+public class LogoutAction extends BowBaseAction {
private static final long serialVersionUID = 4806944250461551896L;
- protected Map<String, Object> session;
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- public Map<String, Object> getSession() {
- return this.session;
- }
-
public String execute() {
- if (session instanceof SessionMap) {
- try {
- ((SessionMap<String, Object>)session).invalidate();
- return SUCCESS;
- } catch (IllegalStateException e) {
- //TODO : logger l'erreur
- //logger.error(msg, e);
- }
- }
- return ERROR;
+ BowSession.invalidate(session);
+ 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-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,12 +1,16 @@
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BookmarkActions;
-import org.chorem.bow.BowProxy;
-import org.nuiton.wikitty.Criteria;
+import org.chorem.bow.BookmarkUtils;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
+/**
+ * Modifie une entree du bookmark
+ *
+ * @author poussin
+ */
public class ModifyBookmarkAction extends BowBaseAction {
private static final long serialVersionUID = 8197008295267924063L;
protected String link;
@@ -116,20 +120,20 @@
}
public String execute() {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
- if (bookmark != null) {
- if (alias != null && !alias.isEmpty()) {
- Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_ALIAS, alias).criteria();
+ if (bookmark != null) {
+ if (alias != null && !alias.isEmpty()) {
+ Criteria criteria = Search.query().eq(Bookmark.FQ_FIELD_BOOKMARK_ALIAS, alias).criteria();
- if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
- alias = bookmark.getAlias();
- }
- }
- BookmarkActions.updateBookmark(bookmark, name, link, tags, alias);
- proxy.store(bookmark);
- }
- return SUCCESS;
+ if (proxy.findByCriteria(Bookmark.class, criteria) != null) {
+ alias = bookmark.getAlias();
+ }
+ }
+ BookmarkUtils.updateBookmark(bookmark, name, link, tags, alias);
+ proxy.store(bookmark);
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,34 +1,33 @@
package org.chorem.bow.action;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
import org.chorem.bow.BookmarkActions;
-import org.chorem.bow.BowBookmark;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowConfig;
-import org.chorem.bow.BowInit;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.BowUtils;
import org.chorem.bow.Preference;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class OpenSearchResultAction extends BowBaseAction implements SessionAware, ServletRequestAware, ServletResponseAware {
+/**
+ * Traite toutes les demandes faite via l'opensearch
+ * a:, :, t:, ...
+ *
+ * @author poussin
+ */
+public class OpenSearchResultAction extends BowBaseAction implements ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = -1691325797986483856L;
protected String searchLine;
protected String token;
protected String redirectTo;
- protected Map<String, Object> session;
protected HttpServletRequest request;
protected HttpServletResponse response;
@@ -68,11 +67,6 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
@@ -83,75 +77,59 @@
}
public String execute() {
- User user = (User)session.get("user");
+ User user = getBowSession().getUser();
+ if (searchLine != null && searchLine.matches("^http://[^ ]*")) {
+ redirectTo = BowUtils.redirectTo(searchLine, null);
+ } else if (searchLine != null
+ && (searchLine.startsWith(":") || searchLine.startsWith("t:"))) {
+ //On fait une recherche sur les tags
- if (searchLine != null && searchLine.matches("^http://[^ ]*")) {
- redirectTo = BowUtils.redirectTo(searchLine, null);
- } else if (searchLine != null
- && (searchLine.startsWith(":") || searchLine.startsWith("t:")) ) {
- //On fait une recherche sur les tags
+ int index = searchLine.indexOf(":");
+ searchLine = searchLine.substring(index + 1); //Suppresses first ":"
- int index = searchLine.indexOf(":");
- searchLine = searchLine.substring(index+1); //Suppresses first ":"
+ 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
+ BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, searchLine);
+ request.setAttribute("bookmarkActions", bookmarkActions);
+ request.setAttribute("token", token);
+ redirectTo = BowUtils.redirectTo(searchLine, null);
+ } else if (searchLine != null && searchLine.startsWith("f:")) {
+ // recherche fulltext dans bow
+ String fullText = searchLine.substring(2);
+ WikittyProxy proxy = getBowProxy();
+ 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);
+ } else {
+ criteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, null);
+ }
+ PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
+ request.setAttribute("bookmarkActions", bookmarkActions);
+ request.setAttribute("token", token);
+ redirectTo = BowUtils.redirectTo(searchLine, null);
+ } else if (searchLine != null && searchLine.startsWith("a:")) {
+ // on redirige vers l'alias demande
+ searchLine = searchLine.substring(2);
+ 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());
- session.put("user", user);
- try {
- BowInit.initializeToken(session, user);
- } catch (NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = BowBookmark.getBookmarkListCriteriaByUser(user, searchLine);
- criteria = criteria.addSortDescending(Bookmark.FQ_FIELD_CLICK);
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria); //Retrieves bookmarks by search
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, searchLine);
- request.setAttribute("bookmarkActions", bookmarkActions);
- request.setAttribute("token", token);
- redirectTo = BowUtils.redirectTo(searchLine, null);
- } else if (searchLine != null && searchLine.startsWith("f:")) {
- // recherche fulltext dans bow
- String fullText = searchLine.substring(2);
-
- session.put("user", user);
- try {
- BowInit.initializeToken(session, user);
- } catch (NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria;
- if (!fullText.isEmpty()) {
- criteria = Search.query().keyword(fullText).
- eq(Bookmark.FQ_FIELD_EMAIL, user.getEmail()).criteria().
- addFacetField(Bookmark.FQ_FIELD_TAGS);
- } else {
- criteria = BowBookmark.getBookmarkListCriteriaByUser(user, null);
- }
- PagedResult<Bookmark> result = proxy.findAllByCriteria(Bookmark.class, criteria);
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, null);
- request.setAttribute("bookmarkActions", bookmarkActions);
- request.setAttribute("token", token);
- redirectTo = BowUtils.redirectTo(searchLine, null);
- } else if (searchLine != null && searchLine.startsWith("a:")) {
- // on redirige vers l'alias demande
- searchLine = searchLine.substring(2);
- redirectTo = BowConfig.getInstance().getAliasUrl() + searchLine;
- } else {
- // on fait une recherche sur le moteur de recherche configure
- WikittyProxy proxy = BowProxy.getInstance();
- Preference pref = proxy.restore(Preference.class, user.getWikittyId());
-
- String searchEngineURL = pref.getSearchEngineUrlResults();
- if (searchEngineURL == null || "".equals(searchEngineURL)) {
- BowConfig config = BowConfig.getInstance();
- searchEngineURL = config.getSearchEngine();
- }
- searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine);
- searchEngineURL = response.encodeRedirectURL(searchEngineURL);
- redirectTo = searchEngineURL;
- }
- return SUCCESS;
+ String searchEngineURL = pref.getSearchEngineUrlResults();
+ if (searchEngineURL == null || "".equals(searchEngineURL)) {
+ BowConfig config = BowConfig.getInstance();
+ searchEngineURL = config.getSearchEngine();
+ }
+ searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine);
+ searchEngineURL = response.encodeRedirectURL(searchEngineURL);
+ redirectTo = searchEngineURL;
+ }
+ return SUCCESS;
}
-}
\ No newline at end of file
+}
Modified: trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/OpenSearchSuggestionAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -8,20 +8,23 @@
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.OpenSearchActions;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.FacetTopic;
-import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.FacetTopic;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
-public class OpenSearchSuggestionAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Retourne les suggestions pour l'opensearch en fonction de ce qui a ete deja
+ * saisie
+ *
+ * @author poussin
+ */
+public class OpenSearchSuggestionAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = 3973618635494129146L;
- protected Map<String, Object> session;
protected String searchLine;
protected HttpServletRequest request;
@@ -38,11 +41,6 @@
public void setSearchLine(String searchLine) {
this.searchLine = searchLine;
}
-
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
@Override
public void setServletRequest(HttpServletRequest request) {
@@ -50,11 +48,11 @@
}
public String execute() {
- User user = (User)session.get("user");
+ User user = getBowSession().getUser();
if (searchLine != null) {
OpenSearchActions openSearchActions = new OpenSearchActions();
- WikittyProxy proxy = BowProxy.getInstance();
+ WikittyProxy proxy = getBowProxy();
String[] words = searchLine.split("\\s+");
List<String> searchLineList = new ArrayList<String>(Arrays.asList(words));
@@ -66,15 +64,15 @@
if (searchLineList.size() > 1) {
List<String> cpy = new ArrayList<String>(searchLineList);
cpy.remove(cpy.size() - 1);
- criteria = Search.query().eq(Bookmark.FQ_FIELD_EMAIL, user.getEmail()).
- eq(Bookmark.FQ_FIELD_TAGS, cpy).criteria().addFacetField(Bookmark.FQ_FIELD_TAGS);
+ 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_EMAIL, user.getEmail()).
- criteria().addFacetField(Bookmark.FQ_FIELD_TAGS);
+ 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_TAGS);
+ List<FacetTopic> topics = result.getTopic(Bookmark.FQ_FIELD_BOOKMARK_TAGS);
openSearchActions.setBookmarkList(bookList);
openSearchActions.setSuggestionList(topics);
Modified: trunk/src/main/java/org/chorem/bow/action/OrderAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/OrderAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,31 +1,28 @@
package org.chorem.bow.action;
-import java.util.Map;
-
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.Bookmark;
import org.chorem.bow.BookmarkActions;
-import org.chorem.bow.BowBookmark;
-import org.chorem.bow.BowProxy;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.User;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
-public class OrderAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Permet de modifie l'ordre de tri des bookmarks
+ * TODO poussin 20110211 cette action n'est pas vraiment pertinente et devrait
+ * etre des options de l'action de recherche
+ *
+ * @author poussin
+ */
+public class OrderAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = 203690999710176818L;
- protected Map<String, Object> session;
protected String type;
protected String searchLine;
protected HttpServletRequest request;
-
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
/**
* @return the type
@@ -61,34 +58,42 @@
}
public String execute() {
- Criteria baseCriteria = BowBookmark.getBookmarkListCriteriaByUser((User)session.get("user"), searchLine);
+ User user = getBowSession().getUser();
+ Criteria baseCriteria = BookmarkUtils.getBookmarkListCriteriaByUser(user, searchLine);
- if (type != null && baseCriteria != null && !type.isEmpty()) {
- WikittyProxy proxy = BowProxy.getInstance();
- PagedResult<Bookmark> result = null;
+ if (type != null && baseCriteria != null && !type.isEmpty()) {
+ WikittyProxy proxy = getBowProxy();
+ PagedResult<Bookmark> result = null;
- if (type.equals("ascName")) {
- Criteria criteria = baseCriteria.addSortAscending(Bookmark.FQ_FIELD_DESCRIPTION);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- } else if (type.equals("ascDate")) {
- Criteria criteria = baseCriteria.addSortAscending(Bookmark.FQ_FIELD_DATE);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- } else if (type.equals("ascClick")) {
- Criteria criteria = baseCriteria.addSortAscending(Bookmark.FQ_FIELD_CLICK);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- } else if (type.equals("descName")) {
- Criteria criteria = baseCriteria.addSortDescending(Bookmark.FQ_FIELD_DESCRIPTION);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- } else if (type.equals("descDate")) {
- Criteria criteria = baseCriteria.addSortDescending(Bookmark.FQ_FIELD_DATE);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- } else if (type.equals("descClick")) {
- Criteria criteria = baseCriteria.addSortDescending(Bookmark.FQ_FIELD_CLICK);
- result = proxy.findAllByCriteria(Bookmark.class, criteria);
- }
- BookmarkActions bookmarkActions = BowBookmark.createBookmarkActions(request, result, searchLine);
- request.setAttribute("bookmarkActions", bookmarkActions);
- }
- return SUCCESS;
+ if (type.equals("ascName")) {
+ Criteria criteria = baseCriteria.addSortAscending(
+ Bookmark.FQ_FIELD_BOOKMARK_DESCRIPTION);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ } else if (type.equals("ascDate")) {
+ Criteria criteria = baseCriteria.addSortAscending(
+ Bookmark.FQ_FIELD_BOOKMARK_DATE);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ } else if (type.equals("ascClick")) {
+ Criteria criteria = baseCriteria.addSortAscending(
+ Bookmark.FQ_FIELD_BOOKMARK_CLICK);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ } else if (type.equals("descName")) {
+ Criteria criteria = baseCriteria.addSortDescending(
+ Bookmark.FQ_FIELD_BOOKMARK_DESCRIPTION);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ } else if (type.equals("descDate")) {
+ Criteria criteria = baseCriteria.addSortDescending(
+ Bookmark.FQ_FIELD_BOOKMARK_DATE);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ } else if (type.equals("descClick")) {
+ Criteria criteria = baseCriteria.addSortDescending(
+ Bookmark.FQ_FIELD_BOOKMARK_CLICK);
+ result = proxy.findAllByCriteria(Bookmark.class, criteria);
+ }
+ BookmarkActions bookmarkActions =
+ BookmarkUtils.createBookmarkActions(request, result, searchLine);
+ request.setAttribute("bookmarkActions", bookmarkActions);
+ }
+ return SUCCESS;
}
-}
\ No newline at end of file
+}
Modified: trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -2,26 +2,28 @@
import java.security.NoSuchAlgorithmException;
import java.util.List;
-import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
-import org.chorem.bow.BowBookmark;
+import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowInit;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.Preference;
import org.chorem.bow.User;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.FacetTopic;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.FacetTopic;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
import static org.nuiton.i18n.I18n.n_;
-public class PreferencesAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Change les preferences de l'utilisateur (coleur, password, email, ...)
+ *
+ * @author poussin
+ */
+public class PreferencesAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = -58341106356599721L;
protected String colors;
protected String tagsNb;
@@ -34,7 +36,6 @@
protected String confirmNewPassword;
protected String update;
protected List<FacetTopic> bookmarksImportDate;
- protected Map<String, Object> session;
protected HttpServletRequest request;
@@ -193,96 +194,90 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
- this.request = request;
+ this.request = request;
}
protected Preference changePreference() {
- Preference preference = (Preference)session.get("preference");
-
- preference.setColors(colors);
- if ((tagsNb != null && !tagsNb.isEmpty())) {
- preference.setTags(Integer.valueOf(tagsNb));
- }
- if (bookmarksHomePage != null && !bookmarksHomePage.isEmpty())
- preference.setBookmarks(Integer.valueOf(bookmarksHomePage));
- preference.setSearchEngineUrlSuggestions(searchEngineUrlSuggestions);
- preference.setSearchEngineUrlResults(searchEngineUrlResults);
+ Preference preference = getBowSession().getPreference();
- return preference;
+ preference.setColors(colors);
+ if ((tagsNb != null && !tagsNb.isEmpty())) {
+ preference.setTags(Integer.valueOf(tagsNb));
+ }
+ if (bookmarksHomePage != null && !bookmarksHomePage.isEmpty()) {
+ preference.setBookmarks(Integer.valueOf(bookmarksHomePage));
+ }
+ preference.setSearchEngineUrlSuggestions(searchEngineUrlSuggestions);
+ preference.setSearchEngineUrlResults(searchEngineUrlResults);
+
+ return preference;
}
- protected User changeUser(User newUser)
- throws NoSuchAlgorithmException {
+ protected User changeUser(User newUser) {
if (email != null && !email.isEmpty()) {
- newUser.setEmail(email);
- }
- if (newPassword != null && confirmNewPassword != null && currentPassword != null) {
- if (!newPassword.isEmpty() && !confirmNewPassword.isEmpty() && !currentPassword.isEmpty()) {
- if (newPassword.equals(confirmNewPassword)) {
- currentPassword = StringUtil.encodeMD5(currentPassword);
- if (currentPassword.equals(newUser.getPassword())) {
- newUser.setPassword(StringUtil.encodeMD5(newPassword));
- } else {
- addFieldError("currentPassword", getText(n_("bow.preferences.badCurrentPassword")));
- return null;
- }
- }
- }
- }
- return newUser;
+ newUser.setEmail(email);
+ }
+ if (newPassword != null && confirmNewPassword != null && currentPassword != null) {
+ if (!newPassword.isEmpty() && !confirmNewPassword.isEmpty() && !currentPassword.isEmpty()) {
+ if (newPassword.equals(confirmNewPassword)) {
+ currentPassword = StringUtil.encodeMD5(currentPassword);
+ if (currentPassword.equals(newUser.getPassword())) {
+ newUser.setPassword(StringUtil.encodeMD5(newPassword));
+ } else {
+ addFieldError("currentPassword", getText(n_("bow.preferences.badCurrentPassword")));
+ return null;
+ }
+ }
+ }
+ }
+ return newUser;
}
public String execute() {
- User user = (User)session.get("user");
+ User user = getBowSession().getUser();
- setBookmarksImportDate(BowBookmark.getBookmarksByImportDate(request, user));
- if (update != null) { //If the user submitted the form
- WikittyProxy proxy = BowProxy.getInstance();
- Preference preference = changePreference();
- proxy.store(preference);
+ setBookmarksImportDate(BookmarkUtils.getBookmarksByImportDate(request, user));
+ if (update != null) { //If the user submitted the form
+ WikittyProxy proxy = getBowProxy();
+ Preference preference = changePreference();
+ proxy.store(preference);
- User newUser = proxy.restore(User.class, user.getWikittyId());
- Criteria criteria = Search.query().eq(User.FQ_FIELD_EMAIL, email).criteria();
- User find = proxy.findByCriteria(User.class, criteria);
+ 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);
- if (find == null || find.getEmail().equals(user.getEmail())) { //If this email address isn't already used by someone else
- try {
- if ((newUser = changeUser(newUser)) == null) {
- return ERROR;
- }
- } catch (NoSuchAlgorithmException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- newUser = proxy.store(newUser);
- session.put("user", newUser);
+ if (find == null || find.getEmail().equals(user.getEmail())) {
+ if ((newUser = changeUser(newUser)) == null) {
+ return ERROR;
+ }
+ newUser = proxy.store(newUser);
+ getBowSession().setUser(newUser);
- preference = proxy.restore(Preference.class, newUser.getWikittyId());
- session.put("preference", preference);
- return "update";
- }
- setEmail(user.getEmail());
- 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 = (Preference)session.get("preference");
+ 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());
+ 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());
- }
- }
- BowInit.initHomePage(request, user);
- return SUCCESS;
+ 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());
+ }
+ }
+ BowInit.initHomePage(request, user);
+ return SUCCESS;
}
}
Modified: trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/ReIndexationAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,26 +1,24 @@
package org.chorem.bow.action;
-import java.util.Map;
-
-import org.apache.struts2.interceptor.SessionAware;
-import org.chorem.bow.BowProxy;
+import org.chorem.bow.BowSession;
import org.nuiton.wikitty.WikittyProxy;
-public class ReIndexationAction extends BowBaseAction implements SessionAware {
+/**
+ * Lance la reindexation solr
+ *
+ * @author poussin
+ */
+public class ReIndexationAction extends BowBaseAction {
+
private static final long serialVersionUID = 6226574522402739559L;
- protected Map<String, Object> session;
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
public String execute() {
- if ((Boolean)session.get("admin")) { //If is admin
- WikittyProxy proxy = BowProxy.getInstance();
+ BowSession session = getBowSession();
+ if (session.isAdmin()) { //If is admin
+ WikittyProxy proxy = getBowProxy();
- proxy.getWikittyService().syncEngin(proxy.getSecurityToken());
- }
- return SUCCESS;
+ proxy.getWikittyService().syncSearchEngine(proxy.getSecurityToken());
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/RegisterAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/RegisterAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,31 +1,31 @@
package org.chorem.bow.action;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.BowMail;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.User;
import org.chorem.bow.UserImpl;
import org.chorem.bow.BowInit;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Search;
import static org.nuiton.i18n.I18n.n_;
-public class RegisterAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * Enregistre un nouvel utilisateur
+ *
+ * @author poussin
+ */
+public class RegisterAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = 2204772861770399542L;
protected String email;
protected String password;
protected String repeatPassword;
- protected Map<String, Object> session;
protected HttpServletRequest request;
/**
@@ -71,11 +71,6 @@
}
@Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
- @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
@@ -83,8 +78,8 @@
protected boolean checkRegister(String passwordMD5) {
if (email != null && passwordMD5 != null) {
if (!email.isEmpty() && !passwordMD5.equals(StringUtil.encodeMD5(""))) {
- WikittyProxy proxy = BowProxy.getInstance();
- Criteria criteria = Search.query().eq(User.FQ_FIELD_EMAIL, email).criteria(); //Retrieves user by user name (email)
+ WikittyProxy proxy = getBowProxy();
+ Criteria criteria = Search.query().eq(User.FQ_FIELD_USER_EMAIL, email).criteria(); //Retrieves user by user name (email)
if (proxy.findByCriteria(User.class, criteria) == null) {
return false;
@@ -100,49 +95,44 @@
}
public String execute() {
- if (email != null) {
- email = email.trim();
- if (password != null) {
- if (!password.equals(repeatPassword)) {
- addActionError(getText(n_("bow.register.pwdDontMatch")));
- return INPUT;
- }
- String md5 = StringUtil.encodeMD5(password);
-
- if (!checkRegister(md5)) {
- WikittyProxy proxy = BowProxy.getInstance();
- UserImpl newUser = new UserImpl();
- newUser.setPassword(md5);
- newUser.setEmail(email);
- User login = proxy.store((User) newUser); //Stores the new user
-
- if (login != null) {
- try {
- BowInit.initSession(session, login);
- } catch (NoSuchAlgorithmException e) {
- return ERROR;
- }
- BowInit.initHomePage(request, login);
- try {
- String mailContent;
-
- mailContent = getText(n_("bow.register.mailHi")) + ",\n\n" + getText(n_("bow.register.mailPwd")) + ": " + password + "\n\n" + getText(n_("bow.register.mailEmail")) + ": " + email + "\n\n";
- BowMail.sendMail(email, getText(n_("bow.register.mailSubject")), mailContent);
- } catch (AddressException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (MessagingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return SUCCESS;
-
- } else {
- addFieldError("email", getText(n_("bow.register.invalidLogin")));
- }
- }
- }
- }
- return INPUT;
+ if (email != null) {
+ email = email.trim();
+ if (password != null) {
+ if (!password.equals(repeatPassword)) {
+ addActionError(getText(n_("bow.register.pwdDontMatch")));
+ return INPUT;
+ }
+ String md5 = StringUtil.encodeMD5(password);
+
+ if (!checkRegister(md5)) {
+ WikittyProxy proxy = getBowProxy();
+ UserImpl newUser = new UserImpl();
+ newUser.setPassword(md5);
+ newUser.setEmail(email);
+ User 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);
+ try {
+ String mailContent;
+
+ mailContent = getText(n_("bow.register.mailHi")) + ",\n\n" + getText(n_("bow.register.mailPwd")) + ": " + password + "\n\n" + getText(n_("bow.register.mailEmail")) + ": " + email + "\n\n";
+ BowMail.sendMail(email, getText(n_("bow.register.mailSubject")), mailContent);
+ } catch (AddressException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (MessagingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return SUCCESS;
+ }
+ }
+ }
+ }
+ return INPUT;
}
}
Modified: trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/RemoveBookmarkAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,10 +1,14 @@
package org.chorem.bow.action;
import org.chorem.bow.Bookmark;
-import org.chorem.bow.BowProxy;
import org.chorem.bow.BowUtils;
import org.nuiton.wikitty.WikittyProxy;
+/**
+ * Supprime un bookmark
+ *
+ * @author poussin
+ */
public class RemoveBookmarkAction extends BowBaseAction {
private static final long serialVersionUID = 820566716695285561L;
protected String bookmarkId;
@@ -62,19 +66,19 @@
}
public String execute() {
- if (bookmarkId != null && !bookmarkId.isEmpty()) {
- try {
- WikittyProxy proxy = BowProxy.getInstance();
- Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
+ if (bookmarkId != null && !bookmarkId.isEmpty()) {
+ try {
+ WikittyProxy proxy = getBowProxy();
+ Bookmark bookmark = proxy.restore(Bookmark.class, bookmarkId);
- if (bookmark != null) {
- proxy.delete(bookmarkId);
- }
- } catch (Exception e) {
- log.error("Can't do action", e);
- }
- }
- redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
- return SUCCESS;
+ if (bookmark != null) {
+ proxy.delete(bookmarkId);
+ }
+ } catch (Exception e) {
+ log.error("Can't do action", e);
+ }
+ }
+ redirectTo = BowUtils.redirectTo(searchLine, fullTextLine);
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/action/SearchAction.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/action/SearchAction.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,29 +1,26 @@
package org.chorem.bow.action;
import java.io.IOException;
-import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.SessionAware;
import org.chorem.bow.BowSearch;
import org.chorem.bow.User;
-public class SearchAction extends BowBaseAction implements SessionAware, ServletRequestAware {
+/**
+ * gere les recherches de bookmark
+ *
+ * @author poussin
+ */
+public class SearchAction extends BowBaseAction implements ServletRequestAware {
private static final long serialVersionUID = -2161661766242362907L;
- protected Map<String, Object> session;
protected String searchLine;
protected String fullTextLine;
protected String addTag;
protected HttpServletRequest request;
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
-
/**
* @return the searchLine
*/
@@ -72,17 +69,16 @@
}
public String execute() {
- User user = (User)session.get("user");
-
- try {
- BowSearch.search(request, user);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return SUCCESS;
+ try {
+ User user = getBowSession().getUser();
+ BowSearch.search(request, user);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (ServletException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return SUCCESS;
}
}
\ No newline at end of file
Modified: trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/interceptor/AldyLoggedInterceptor.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -8,6 +8,7 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+import org.chorem.bow.BowSession;
public class AldyLoggedInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = -2411549996072421471L;
@@ -22,13 +23,15 @@
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- Map<String, Object> session = ActionContext.getContext().getSession();
-
- if ((User)session.get("user") != null) {
- ServletActionContext.getResponse().sendRedirect(redirect);
- return null;
- }
- return invocation.invoke();
+ Map<String, Object> session = ActionContext.getContext().getSession();
+
+ BowSession bowSession = BowSession.getBowSession(session);
+ User user = bowSession.getUser();
+ if (user != null) {
+ ServletActionContext.getResponse().sendRedirect(redirect);
+ return null;
+ }
+ return invocation.invoke();
}
}
Modified: trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java
===================================================================
--- trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/java/org/chorem/bow/interceptor/LoginInterceptor.java 2011-02-11 17:48:26 UTC (rev 188)
@@ -10,6 +10,7 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+import org.chorem.bow.BowSession;
public class LoginInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = -7520186185205372272L;
@@ -24,23 +25,26 @@
@Override
public String intercept(ActionInvocation invocation) throws Exception {
- Map<String, Object> session = ActionContext.getContext().getSession();
+ Map<String, Object> session = ActionContext.getContext().getSession();
- if ((User)session.get("user") == null) {
- Map<String, Object> toto = ActionContext.getContext().getParameters();
- String[] token = (String[])toto.get("token");
-
+ BowSession bowSession = BowSession.getBowSession(session);
+ User user = bowSession.getUser();
+
+ if (user == null) {
+ Map<String, Object> params = ActionContext.getContext().getParameters();
+ String[] token = (String[]) params.get("token");
+
if (token != null && !token[0].isEmpty()) {
- User user = BowUtils.checkToken(token[0], session);
-
- if (user != null) {
- BowInit.initSession(session, user);
- return invocation.invoke();
- }
+ user = BowUtils.checkToken(bowSession, token[0]);
+
+ if (user != null) {
+ bowSession.setUser(user);
+ return invocation.invoke();
+ }
}
ServletActionContext.getResponse().sendRedirect(redirect);
return null;
- }
- return invocation.invoke();
+ }
+ return invocation.invoke();
}
}
Modified: trunk/src/main/resources/bow.properties
===================================================================
--- trunk/src/main/resources/bow.properties 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/resources/bow.properties 2011-02-11 17:48:26 UTC (rev 188)
@@ -28,5 +28,35 @@
servlet.alias=alias
bow.smtpServer=smtp
bow.addressFrom=bow(a)chorem.org
-bow.admins=brossa_b(a)epitech.net
+bow.admins=poussin(a)codelutin.com
search.engine=http://seeks.fr/search?expansion=1&action=expand&q={searchTerms}
+
+wikitty.data.directory=/var/local/bow
+wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
+wikitty.storage.jdbc.driver=org.h2.Driver
+wikitty.storage.jdbc.host=jdbc:h2:file:${wikitty.data.directory}/data/db
+wikitty.storage.jdbc.login=sa
+wikitty.storage.jdbc.password=
+wikitty.storage.jdbc.xadatasource=org.h2.jdbcx.JdbcDataSource
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.URL=${wikitty.storage.jdbc.host}
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.user=${wikitty.storage.jdbc.login}
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.password=${wikitty.storage.jdbc.password}
+wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
+wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
+wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
+org.nuiton.wikitty.services.WikittyServiceNotifier,\
+org.nuiton.wikitty.services.WikittyServiceCached,\
+org.nuiton.wikitty.services.WikittyServiceSecurity
+wikitty.WikittyServiceStorage.components=org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC,\
+org.nuiton.wikitty.jdbc.WikittyStorageJDBC,\
+org.nuiton.wikitty.storage.solr.WikittySearchEngineSolr
+wikitty.WikittyServiceCached.components=org.nuiton.wikitty.services.WikittyCacheJCS
+wikitty.service.cache.listenevents=false
+wikitty.service.cache.allwaysRestoreCopies=false
+wikitty.service.event.propagate=false
+wikitty.service.event.listen=false
+wikitty.addon.export.threadnumber=1
+wikitty.addon.export.directory=${wikitty.data.directory}/export
+wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
+jcs.default=
+jcs.default.cacheattributes.MaxObjects=1000
Deleted: trunk/src/main/resources/wikitty-jdbc-config.properties
===================================================================
--- trunk/src/main/resources/wikitty-jdbc-config.properties 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/resources/wikitty-jdbc-config.properties 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,28 +0,0 @@
-###
-# #%L
-# bow
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2010 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%
-###
-#Connection parameters
-jdbc.con.driver=org.h2.Driver
-jdbc.con.host=jdbc:h2:file:~/.bow/localdb/localdb
-jdbc.con.userName=sa
-jdbc.con.password=
Modified: trunk/src/main/webapp/WEB-INF/decorators/main.jsp
===================================================================
--- trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/WEB-INF/decorators/main.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -15,7 +15,7 @@
<s:url id="permanentXml" action="permanentXml" />
<s:url id="favicon" value="/img/favicon.png" />
<link rel="icon" type="image/png" href="${favicon}" />
- <s:if test="%{#session.user != null}">
+ <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>
@@ -32,7 +32,7 @@
<%@include file="/jsp/inc/errorFrame.jsp" %>
<decorator:body />
</div>
- <s:if test="%{#session.user != null}">
+ <s:if test="%{#session.BowSession.user != null}">
<jsp:include page="/jsp/inc/rightMenu.jsp" />
</s:if>
</div>
Modified: trunk/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/src/main/webapp/WEB-INF/web.xml 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/WEB-INF/web.xml 2011-02-11 17:48:26 UTC (rev 188)
@@ -67,6 +67,7 @@
</listener>
<!-- Servlets -->
+<!--
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
@@ -75,17 +76,19 @@
<param-value>true</param-value>
</init-param>
</servlet>
+ -->
<servlet>
<servlet-name>jspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
- <servlet-mapping>
+<!--
+<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
-
+-->
<!-- Welcome file lists -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
Modified: trunk/src/main/webapp/index.jsp
===================================================================
--- trunk/src/main/webapp/index.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/index.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,6 +1,6 @@
-<%@page import="org.chorem.bow.User"%>
+<%@page import="org.chorem.bow.BowSession"%>
<%
-if ((User)session.getAttribute("user") == null) {
+if (BowSession.getBowSession(session).getUser() == null) {
response.sendRedirect("login_input.action");
} else {
response.sendRedirect("home.action");
Modified: trunk/src/main/webapp/jsp/admin.jsp
===================================================================
--- trunk/src/main/webapp/jsp/admin.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/admin.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -26,47 +26,31 @@
<%@taglib prefix="s" uri="/struts-tags"%>
<%@page import="org.chorem.bow.Preference" %>
<%@page import="org.chorem.bow.User" %>
-<%@page import="org.chorem.bow.TokenActions" %>
+<%@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"
+ 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" />
+ <link href="${css}" rel="stylesheet" type="text/css" />
+ <s:head />
+ </head>
+ <body>
+ <div id="content">
+ <div id="formFrame">
+ <h1>Admin panel</h1>
+ <br /><br />
<%
-User user = (User) session.getAttribute("user");
-Preference preference = (Preference) session.getAttribute("preference");
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
-Boolean admin = (Boolean) session.getAttribute("admin");
-if (user != null && preference != null && tokenActions != null && admin) {
-// String url = (String) request.getAttribute("bowUrl");
-// String version = (String) request.getAttribute("version");
-// String permanentToken = tokenActions.getPermanentToken();
- String check = preference.getColors();
- if (check == null) {
- preference.setColors("");
- }
- check = preference.getSearchEngineUrlResults();
- if (check == null) {
- preference.setSearchEngineUrlResults("");
- }
- check = preference.getSearchEngineUrlSuggestions();
- if (check == null) {
- preference.setSearchEngineUrlSuggestions("");
- }
- %>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
- 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" />
- <link href="${css}" rel="stylesheet" type="text/css" />
- <s:head />
- </head>
- <body>
- <div id="content">
- <div id="formFrame">
- <h1>Admin panel</h1>
- <br /><br />
- <a href="/bow/reIndexation.action">All data re-indexation</a>
- <a href="/bow/home.action" id="homePage">Return to the home page</a>
- </div>
- </div>
- </body>
- </html>
+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 { %>
+ <h2>You don't have admin right !</h2>
<% } %>
+ </div>
+ </div>
+ </body>
+</html>
Modified: trunk/src/main/webapp/jsp/error.jsp
===================================================================
--- trunk/src/main/webapp/jsp/error.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/error.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -24,7 +24,6 @@
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
-<%@page import="org.chorem.bow.TokenActions" %>
<%--
String techError = (String) request.getAttribute("errorMsgTech");
--%>
Modified: trunk/src/main/webapp/jsp/home.jsp
===================================================================
--- trunk/src/main/webapp/jsp/home.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/home.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -24,17 +24,17 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
-<%@page import="org.chorem.bow.TokenActions" %>
+<%@page import="org.chorem.bow.BowSession" %>
<%@page import="org.chorem.bow.Bookmark" %>
<%@page import="org.chorem.bow.Preference" %>
<%@page import="java.util.List" %>
<%@page import="java.text.SimpleDateFormat" %>
<%
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
+BowSession bowSession = BowSession.getBowSession(session);
BookmarkActions bookmarkActions = (BookmarkActions) request.getAttribute("bookmarkActions");
-Preference preference = (Preference) session.getAttribute("preference");
+Preference preference = bowSession.getPreference();
-if (tokenActions != null && bookmarkActions != null) {
+if (bookmarkActions != null) {
%>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -52,11 +52,8 @@
</div>
<div class="content">
<%
- int nbBookmarks = 10;
- if (preference != null) {
- if (preference.getBookmarks() > 0)
- nbBookmarks = preference.getBookmarks();
- }
+ int nbBookmarks = preference.getBookmarks();
+
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
List<Bookmark> bookmarkList = bookmarkActions.getBookmarks();
if (!bookmarkList.isEmpty()) {
Deleted: trunk/src/main/webapp/jsp/inc/bookmarkTop.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/bookmarkTop.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/inc/bookmarkTop.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,92 +0,0 @@
-<!--
- #%L
- bow
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2010 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"%>
-<%@page import="org.chorem.bow.BookmarkActions" %>
-<%@page import="java.text.SimpleDateFormat" %>
-<%@page import="java.util.Iterator" %>
-<%@page import="java.util.Set" %>
-<%@page import="java.util.ArrayList" %>
-<%@page import="java.util.List" %>
-<%@page import="org.chorem.bow.TokenActions" %>
-<%@page import="org.nuiton.wikitty.FacetTopic" %>
-<%@page import="org.chorem.bow.Bookmark" %>
-<%@page import="org.chorem.bow.Preference" %>
-<%
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
-BookmarkActions bookmarkActions = (BookmarkActions) request.getAttribute("bookmarkActions");
-Boolean admin = (Boolean) session.getAttribute("admin");
-if (admin == null) {
- admin = false;
-}
-
-if (tokenActions != null && bookmarkActions != null) {
- String temporaryToken = tokenActions.getTemporaryToken();
- String permanentToken = tokenActions.getPermanentToken();
- String url = (String) request.getAttribute("bowUrl");
- int nbTags = 100;
- Preference preference = (Preference) session.getAttribute("preference");
-}
-
-int tags = preference.getTags();
-if (preference != null && tags > 0) {
- nbTags = tags;
-}
-
-request.setAttribute("nbTags", nbTags);
-String formLink = (String) request.getAttribute("link");
-String formName = (String) request.getAttribute("name");
-String formTags = (String) request.getAttribute("tagsNb");
-String formAlias = (String) request.getAttribute("alias");
-String formAction = (String) request.getAttribute("action");
-
-if (formLink == null) {
- formLink = "URL";
-}
-
-if (formName == null) {
- formName = "name";
-}
-
-if (formTags == null) {
- formTags = "tag1 tag2...";
-}
-
-if (formAlias == null) {
- formAlias = "alias";
-}
-
-if (formAction == null) {
- formAction = "bow?action=addUrl";
-}
-
-if (tokenActions != null && bookmarkActions != null) {
- if (searchLine != null) {
- String searchLine = bookmarkActions.getSearchLine();
- String fullText = bookmarkActions.getFullTextLine();
- } else {
- if (preference != null && preference.getBookmarks() > 0) {
- nbBookmarks = preference.getBookmarks();
- }
- }
-%>
\ No newline at end of file
Modified: trunk/src/main/webapp/jsp/inc/footer.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/inc/footer.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -3,10 +3,10 @@
<div id="footer">
<p>
- <a shape="rect" href="">bow</a>
+ <a shape="rect" href="http://www.chorem.org/projects/show/bow">bow</a>
<a shape="rect" href="http://www.chorem.org/projects/list_files/bow"></a> -
<a shape="rect" href="http://www.gnu.org/licenses/agpl.html"><s:text name="bow.footer.license" /></a> -
- <span title="Copyright">©2010</span>
+ <span title="Copyright">©2011</span>
<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> -
Modified: trunk/src/main/webapp/jsp/inc/header.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/inc/header.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,8 +1,8 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<div id="header">
- <s:if test="%{#session.user != null && #session.tokenActions != null}">
- <a class="logo" href="<s:property value='%{#session.bowUrl}' />home.action?token=<s:property value='%{#session.tokenActions.getPermanentToken()}' />">bow</a>
+ <s:if test="%{#session.BowSession.user != null}">
+ <a class="logo" href="<s:property value='%{#session.bowUrl}' />home.action?token=<s:property value='%{#session.BowSession.getPermanentToken()}' />">bow</a>
</s:if>
<s:else>
<a class="logo" href="">bow</a>
Modified: trunk/src/main/webapp/jsp/inc/rightMenu.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/inc/rightMenu.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -24,22 +24,17 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
-<%@page import="org.chorem.bow.TokenActions" %>
+<%@page import="org.chorem.bow.BowSession" %>
<%@page import="org.chorem.bow.Bookmark" %>
<%@page import="org.chorem.bow.BowConfig" %>
<%@page import="org.chorem.bow.Preference" %>
<%
-TokenActions tokenActions = (TokenActions)session.getAttribute("tokenActions");
+BowSession bowSession = BowSession.getBowSession(session);
BookmarkActions bookmarkActions = (BookmarkActions)request.getAttribute("bookmarkActions");
-int nbTags = 100;
-Preference preference = (Preference)session.getAttribute("preference");
-if (preference != null) {
- int tags = preference.getTags();
- if (tags > 0)
- nbTags = tags;
-}
-request.setAttribute("nbTags", nbTags);
+String temporaryToken = bowSession.getTemporaryToken();
+String permanentToken = bowSession.getPermanentToken();
+String bowUrl = BowConfig.getInstance().getBowUrl();
if ((String)request.getAttribute("formAction") == null)
request.setAttribute("formAction", "addUrl");
@@ -58,34 +53,33 @@
<div id="side">
<div id="colonneD">
<ul class="droite">
- <s:if test="%{#session.admin == true}">
+ <%if (bowSession.isAdmin()) {%>
<li><s:a action="admin"><s:text name="bow.rightMenu.admin" /></s:a></li>
- </s:if>
+ <% } %>
<li><s:a action="preferences"><s:text name="bow.preferences.title" /></s:a></li>
- <li><s:a title="%{getText('bow.rightMenu.bookmark.temporaryLinkDescription')}" href="javascript:var%20url=location.href;var%20nameAndTags=prompt('Entrez%20le%20nom%20du%20lien%20et%20la%20liste%20des%20tags%20sous%20la%20forme:%20name|tag1%20tag2%20tag3',%20document.title+'|');if%20(nameAndTags!=(document.title+'|')){var%20link='%{#session.bowUrl}addUrl.action?token=%{#session.tokenActions.getTemporaryToken()}&url='+encodeURIComponent(url)+'&nameAndTags='+encodeURIComponent(nameAndTags);var%20script=document.createElement('script');script.src=link;script.type='text/javascript';document.body.appendChild(script);}void(0);"><s:text name="bow.rightMenu.bookmark.temporaryLink" /></s:a></li>
- <li><s:a title="%{getText('bow.rightMenu.bookmark.permanentLinkDescription')}" href="javascript:var%20url=location.href;var%20nameAndTags=prompt('Entrez%20le%20nom%20du%20lien%20et%20la%20liste%20des%20tags%20sous%20la%20forme:%20name|tag1%20tag2%20tag3',%20document.title+'|');if%20(nameAndTags!=(document.title+'|')){var%20link='%{#session.bowUrl}addUrl.action?token=%{#session.tokenActions.getPermanentToken()}&url='+encodeURIComponent(url)+'&nameAndTags='+encodeURIComponent(nameAndTags);var%20script=document.createElement('script');script.src=link;script.type='text/javascript';document.body.appendChild(script);}void(0);"><s:text name="bow.rightMenu.bookmark.permanentLink" /></s:a></li>
+ <li><s:a title="%{getText('bow.rightMenu.bookmark.temporaryLinkDescription')}" href="javascript:var%20url=location.href;var%20nameAndTags=prompt('Entrez%20le%20nom%20du%20lien%20et%20la%20liste%20des%20tags%20sous%20la%20forme:%20name|tag1%20tag2%20tag3',%20document.title+'|');if%20(nameAndTags!=(document.title+'|')){var%20link='<%=bowUrl%>addUrl.action?token=<%=temporaryToken%>&url='+encodeURIComponent(url)+'&nameAndTags='+encodeURIComponent(nameAndTags);var%20script=document.createElement('script');script.src=link;script.type='text/javascript';document.body.appendChild(script);}void(0);"><s:text name="bow.rightMenu.bookmark.temporaryLink" /></s:a></li>
+ <li><s:a title="%{getText('bow.rightMenu.bookmark.permanentLinkDescription')}" href="javascript:var%20url=location.href;var%20nameAndTags=prompt('Entrez%20le%20nom%20du%20lien%20et%20la%20liste%20des%20tags%20sous%20la%20forme:%20name|tag1%20tag2%20tag3',%20document.title+'|');if%20(nameAndTags!=(document.title+'|')){var%20link='<%=bowUrl%>addUrl.action?token=<%=permanentToken%>&url='+encodeURIComponent(url)+'&nameAndTags='+encodeURIComponent(nameAndTags);var%20script=document.createElement('script');script.src=link;script.type='text/javascript';document.body.appendChild(script);}void(0);"><s:text name="bow.rightMenu.bookmark.permanentLink" /></s:a></li>
</ul>
<div id="extensions">
<h2><s:text name="bow.rightMenu.extensions" /></h2>
<ul class="droite">
- <li><a href="extensions/bow4chromium.crx"><img src="img/chromium.png" alt="Chromium" class="extensionIcon" /><s:text name="bow.rightMenu.chromiumExtension" /></a></li>
- <s:if test="%{#session.tokenActions != null}">
- <li><strong><s:text name="bow.rightMenu.token.permanent" /> :</strong><br /><s:property value="%{#session.tokenActions.getPermanentToken()}" /></li>
- <li><strong><s:text name="bow.rightMenu.token.temporary" /> :</strong><br /><s:property value="%{#session.tokenActions.getTemporaryToken()}" /></li>
- </s:if>
+ <li><a href="extensions/bow4chromium.crx"><img src="img/chromium.png" alt="Chromium" class="extensionIcon" />
+ <s:text name="bow.rightMenu.chromiumExtension" /></a></li>
+ <li><strong><s:text name="bow.rightMenu.token.permanent" /> :</strong><br /><%=permanentToken%></li>
+ <li><strong><s:text name="bow.rightMenu.token.temporary" /> :</strong><br /><%=temporaryToken%></li>
</ul>
</div>
<div id="add" class="clearfix">
<h2><s:text name="bow.rightMenu.bookmark.addModify" /></h2>
<s:form id="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 />
- <s:textfield key="bow.rightMenu.bookmark.name" name="name" value="%{#request.name}" labelSeparator="" /><br />
- <s:textfield key="bow.rightMenu.bookmark.tags" name="tags" value="%{#request.tags}" labelSeparator="" /><br /><br />
- <s:hidden name="searchLine" value="%{searchLine}" />
- <s:hidden name="fullTextLine" value="%{fullTextLine}" />
- <s:submit key="bow.rightMenu.bookmark.submit" name="submit" />
+ <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 />
+ <s:textfield key="bow.rightMenu.bookmark.name" name="name" value="%{#request.name}" labelSeparator="" /><br />
+ <s:textfield key="bow.rightMenu.bookmark.tags" name="tags" value="%{#request.tags}" labelSeparator="" /><br /><br />
+ <s:hidden name="searchLine" value="%{searchLine}" />
+ <s:hidden name="fullTextLine" value="%{fullTextLine}" />
+ <s:submit key="bow.rightMenu.bookmark.submit" name="submit" />
</p>
</s:form>
</div>
Modified: trunk/src/main/webapp/jsp/inc/tagsCloud.jsp
===================================================================
--- trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/inc/tagsCloud.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -25,7 +25,7 @@
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
<%@page import="java.util.List" %>
-<%@page import="org.nuiton.wikitty.FacetTopic" %>
+<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
<s:if test="%{#request.nbTags > #request.bookmarkActions.getTagsCloud().size()}">
<s:set var="maxTags" value="#request.bookmarkActions.getTagsCloud().size()" />
</s:if>
Modified: trunk/src/main/webapp/jsp/login.jsp
===================================================================
--- trunk/src/main/webapp/jsp/login.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/login.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -5,27 +5,27 @@
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <head>
- <title><s:text name="bow.login.title" /></title>
- <s:url id="css" value="/css/connexion.css" />
- <link href="${css}" rel="stylesheet" type="text/css" />
- <s:head />
- </head>
- <body>
- <div id="content">
- <div id="formFrame">
- <h1><s:text name="bow.login.title" /></h1>
- <s:actionerror />
- <s:form action="login">
- <p>
- <s:textfield key="bow.login.email" name="email" labelposition="top" labelSeparator=" :" /><br /><br />
- <s:password key="bow.login.password" name="password" labelposition="top" labelSeparator=" :" /><br /><br />
- <s:submit key="bow.login.submit" name="submit" />
- </p>
- </s:form>
- <s:a action="register_input" id="registerLink"><s:text name="bow.register.title" /></s:a><br />
- <s:a action="forgotPassword_input" id="forgotPwd"><s:text name="bow.forgotpwd.title" /></s:a>
- </div>
- </div>
- </body>
+ <head>
+ <title><s:text name="bow.login.title" /></title>
+ <s:url id="css" value="/css/connexion.css" />
+ <link href="${css}" rel="stylesheet" type="text/css" />
+ <s:head />
+ </head>
+ <body>
+ <div id="content">
+ <div id="formFrame">
+ <h1><s:text name="bow.login.title" /></h1>
+ <s:actionerror />
+ <s:form action="login">
+ <p>
+ <s:textfield key="bow.login.email" name="email" labelposition="top" labelSeparator=" :" /><br /><br />
+ <s:password key="bow.login.password" name="password" labelposition="top" labelSeparator=" :" /><br /><br />
+ <s:submit key="bow.login.submit" name="submit" />
+ </p>
+ </s:form>
+ <s:a action="register_input" id="registerLink"><s:text name="bow.register.title" /></s:a><br />
+ <s:a action="forgotPassword_input" id="forgotPwd"><s:text name="bow.forgotpwd.title" /></s:a>
+ </div>
+ </div>
+ </body>
</html>
Modified: trunk/src/main/webapp/jsp/permanentXml.jsp
===================================================================
--- trunk/src/main/webapp/jsp/permanentXml.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/permanentXml.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -1,3 +1,4 @@
+<%@page import="org.chorem.bow.BowConfig"%>
<!--
#%L
bow
@@ -22,17 +23,13 @@
#L%
-->
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
-<%@page import="org.chorem.bow.TokenActions" %>
+<%@page import="org.chorem.bow.BowConfig" %>
+<%@page import="org.chorem.bow.BowSession" %>
<%
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
-String token = "";
-if (tokenActions != null) {
- token = tokenActions.getPermanentToken();
-}
-String url = request.getRequestURL().toString();
-int index = url.indexOf("permanentXml.jsp");
-url = url.substring(0, index - 4);
+BowSession bowSession = BowSession.getBowSession(session);
+String token = bowSession.getPermanentToken();
+String url = BowConfig.getInstance().getBowUrl();
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
Modified: trunk/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/src/main/webapp/jsp/preferences.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/preferences.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -23,10 +23,17 @@
-->
<%@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.nuiton.wikitty.FacetTopic" %>
+<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
<%@page import="java.util.List" %>
+ <%
+BowSession bowSession = BowSession.getBowSession(session);
+String permanentToken = bowSession.getPermanentToken();
+String temporaryToken = bowSession.getTemporaryToken();
+ %>
+
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
xmlns:jsp="http://java.sun.com/JSP/Page"
@@ -51,6 +58,19 @@
<s:password key="bow.preferences.currentPassword" name="currentPassword" labelposition="top" /><br />
<s:password key="bow.preferences.newPassword" name="newPassword" labelposition="top" /><br />
<s:password key="bow.preferences.confirmNewPassword" name="confirmNewPassword" labelposition="top" /><br />
+ <s:submit key="bow.preferences.submit" name="submit" /><br />
+ </p>
+<!--
+ </p>
+ </div>
+ <div class="formFrame">
+ <p>
+-->
+ <p>
+ <ul>
+ <li><strong><s:text name="bow.rightMenu.token.permanent" /> :</strong><%=permanentToken%></li>
+ <li><strong><s:text name="bow.rightMenu.token.temporary" /> :</strong><%=temporaryToken%></li>
+ </ul>
<s:url id="regenPermToken" action="regenPermToken" />
<s:a href="%{regenPermToken}" id="regenPermToken"><s:text name="bow.preferences.regenPermToken" /></s:a>
</p>
Modified: trunk/src/main/webapp/jsp/search.jsp
===================================================================
--- trunk/src/main/webapp/jsp/search.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/search.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -25,16 +25,14 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BookmarkActions" %>
-<%@page import="org.chorem.bow.TokenActions" %>
<%@page import="org.chorem.bow.Bookmark" %>
<%@page import="org.chorem.bow.Preference" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@page import="java.util.List" %>
<%
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
BookmarkActions bookmarkActions = (BookmarkActions) request.getAttribute("bookmarkActions");
-if (tokenActions != null && bookmarkActions != null) {
+if (bookmarkActions != null) {
%>
<s:set var="searchLine" value="%{#request.bookmarkActions.getSearchLine()}" />
<s:set var="fullText" value="%{#request.bookmarkActions.getFullTextLine()}" />
Modified: trunk/src/main/webapp/jsp/suggestions.jsp
===================================================================
--- trunk/src/main/webapp/jsp/suggestions.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/suggestions.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -25,7 +25,7 @@
<%@page import="org.chorem.bow.OpenSearchActions" %>
<%@page import="java.util.List" %>
<%@page import="java.util.Iterator" %>
-<%@page import="org.nuiton.wikitty.FacetTopic" %>
+<%@page import="org.nuiton.wikitty.search.FacetTopic" %>
<%
OpenSearchActions osa = (OpenSearchActions) request.getAttribute("openSearchAction");
Modified: trunk/src/main/webapp/jsp/temporaryXml.jsp
===================================================================
--- trunk/src/main/webapp/jsp/temporaryXml.jsp 2011-02-11 17:31:09 UTC (rev 187)
+++ trunk/src/main/webapp/jsp/temporaryXml.jsp 2011-02-11 17:48:26 UTC (rev 188)
@@ -22,17 +22,13 @@
#L%
-->
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
-<%@page import="org.chorem.bow.TokenActions" %>
+<%@page import="org.chorem.bow.BowConfig" %>
+<%@page import="org.chorem.bow.BowSession" %>
<%
-TokenActions tokenActions = (TokenActions) session.getAttribute("tokenActions");
-String token = "";
-if (tokenActions != null) {
- token = tokenActions.getTemporaryToken();
-}
-String url = request.getRequestURL().toString();
-int index = url.indexOf("temporaryXml.jsp");
-url = url.substring(0, index - 4);
+BowSession bowSession = BowSession.getBowSession(session);
+String token = bowSession.getTemporaryToken();
+String url = BowConfig.getInstance().getBowUrl();
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
Modified: trunk/src/main/xmi/bow.zargo
===================================================================
(Binary files differ)
1
0