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
May 2011
- 4 participants
- 21 discussions
16 May '11
Author: sletellier
Date: 2011-05-16 15:52:58 +0200 (Mon, 16 May 2011)
New Revision: 287
Url: http://chorem.org/repositories/revision/bow/287
Log:
#276 Confirmation on bookmark deletion
Modified:
trunk/bow-ui/src/main/webapp/js/bookmark.js
trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp
trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
Modified: trunk/bow-ui/src/main/webapp/js/bookmark.js
===================================================================
--- trunk/bow-ui/src/main/webapp/js/bookmark.js 2011-05-16 13:22:33 UTC (rev 286)
+++ trunk/bow-ui/src/main/webapp/js/bookmark.js 2011-05-16 13:52:58 UTC (rev 287)
@@ -37,20 +37,31 @@
}
-function deleteConfirmation(goTo, bookmarksNb, importDate) {
+function deleteBookmarkConfirmation(goTo, bookmarkName) {
+ deleteConfirmation(goTo, bookmarkName, 0, undefined);
+}
+
+function deleteImportConfirmation(goTo, bookmarksNb, importDate) {
+ deleteConfirmation(goTo, undefined, bookmarksNb, importDate);
+}
+
+function deleteConfirmation(goTo, bookmarkName, bookmarksNb, importDate) {
+// TODO sletellier 20110516 : use i18n to translate this !
+
var confMsg = "Do you really want to delete ";
if (bookmarksNb > 1) {
confMsg += "these " + bookmarksNb + " bookmarks";
} else {
- confMsg += "this bookmark";
+ confMsg += "bookmark '" + bookmarkName + "'";
}
if (importDate !== undefined)
- confMsg += " imported the " + importDate + "?";
+ confMsg += " imported the " + importDate + " ?";
else
- confMsg += "?";
+ confMsg += " ?";
if (confirm(confMsg)) {
window.location = goTo;
}
+ return false;
}
Modified: trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-05-16 13:22:33 UTC (rev 286)
+++ trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-05-16 13:52:58 UTC (rev 287)
@@ -105,7 +105,8 @@
<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="supprim" href="%{removeBookmark}"></s:a>
+ <s:a cssClass="supprim" href="%{removeBookmark}"
+ onclick="return deleteConfirmation('%{#removeBookmark}','%{#bookmarkAlias}');"></s:a>
</div>
<div class="bookmarkcontenu">
<div class="screenshot"></div>
Modified: trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-16 13:22:33 UTC (rev 286)
+++ trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-16 13:52:58 UTC (rev 287)
@@ -188,8 +188,8 @@
</s:url>
<s:set name="date" value="%{key}"/>
<s:set name="count" value="%{value}"/>
- <a class="deleteImportButton" href=""
- onclick="deleteConfirmation('${deleteImport}','${count}','<%=date%>'); return(false);"></a>
+ <a class="deleteImportButton" href="%{deleteImport}"
+ onclick="return deleteConfirmation('${deleteImport}','${count}','<%=date%>');"></a>
</div>
</s:iterator>
</s:if>
1
0
16 May '11
Author: sletellier
Date: 2011-05-16 15:22:33 +0200 (Mon, 16 May 2011)
New Revision: 286
Url: http://chorem.org/repositories/revision/bow/286
Log:
Make ImportBookmarksAction extends PreferencesAction to prevent class cast exception
Modified:
trunk/bow-ui/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-05-16 13:21:52 UTC (rev 285)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/ImportBookmarksAction.java 2011-05-16 13:22:33 UTC (rev 286)
@@ -50,7 +50,7 @@
*
* @author poussin
*/
-public class ImportBookmarksAction extends BowBaseAction implements
+public class ImportBookmarksAction extends PreferencesAction implements
ServletRequestAware {
private static final long serialVersionUID = -5962680416570797028L;
1
0
r285 - in trunk/bow-ui/src/main: java/org/chorem/bow java/org/chorem/bow/action webapp/jsp webapp/jsp/inc
by sletellier@users.chorem.org 16 May '11
by sletellier@users.chorem.org 16 May '11
16 May '11
Author: sletellier
Date: 2011-05-16 15:21:52 +0200 (Mon, 16 May 2011)
New Revision: 285
Url: http://chorem.org/repositories/revision/bow/285
Log:
- Allow to use directly BowConfig.getXXX with default config
- Move inner BowConfigOption to external class
Added:
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigOption.java
Removed:
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java
Modified:
trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/PreferencesAction.java
trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp
trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp
trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -24,7 +24,6 @@
package org.chorem.bow;
import org.apache.commons.lang.StringUtils;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyProxy;
import javax.servlet.ServletException;
@@ -46,8 +45,7 @@
protected String bowServletUrl = "";
public AliasServlet() {
- ApplicationConfig config = BowConfig.getConfig();
- bowServletUrl = BowConfigHelper.getBowUrl(config) + BowConfigHelper.getServletBow(config);
+ bowServletUrl = BowConfig.getBowUrl() + BowConfig.getServletBow();
}
@Override
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -50,135 +50,263 @@
private BowConfig() {
}
- public static synchronized ApplicationConfig getConfig(String... args) {
+ public static ApplicationConfig getConfig(String... args) {
if (config == null) {
- try {
- config = new ApplicationConfig(BowOption.CONFIG_FILE.getDefaultValue());
+ synchronized (BowConfig.class) {
+ if (config == null) {
+ try {
+ config = new ApplicationConfig(BowConfigOption.CONFIG_FILE.getDefaultValue());
- // Load wikitty options
- config.loadDefaultOptions(WikittyConfigOption.class);
+ // Load wikitty options
+ config.loadDefaultOptions(WikittyConfigOption.class);
- // Load bow options
- config.loadDefaultOptions(BowOption.class);
+ // Load bow options
+ config.loadDefaultOptions(BowConfigOption.class);
- // Parse args
- config.parse(args);
- } catch (Exception e) {
- throw new UnhandledException(e);
+ // Parse args
+ config.parse(args);
+ } catch (Exception e) {
+ throw new UnhandledException(e);
+ }
+ }
}
}
return config;
}
/**
- * Bow option definition.
+ * Get version as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return version
*/
- public enum BowOption implements ApplicationConfig.OptionDef {
+ public static String getVersion() {
+ return getVersion(getConfig());
+ }
- CONFIG_FILE(
- ApplicationConfig.CONFIG_FILE_NAME,
- _("bow.config.configFileName.description"),
- "bow.properties", String.class, false, false),
- APPLICATION_VERSION(
- "application.version",
- _("bow.config.application.version.description"),
- null, String.class, true, true),
- BOW_URL(
- "bow.url",
- _("bow.config.bow.url.description"),
- null, String.class, false, false),
- // FIXME sletellier 20110512 : A quoi ça sert ? La valeur est utilise en dur ("alias/") dans struts.xml
- ALIAS_URL(
- "alias.url",
- _("bow.config.alias.url.description"),
- null, String.class, false, false),
- SERVLET_BOW(
- "servlet.bow",
- _("bow.config.servlet.bow.description"),
- null, String.class, false, false),
+ /**
+ * Get version as string.
+ *
+ * @param config bow configuration
+ * @return version
+ */
+ public static String getVersion(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.APPLICATION_VERSION.key);
+ }
- // FIXME sletellier 20110512 : A quoi ça sert ? La valeur est utilise en dur ("alias/") dans struts.xml
- SERVLET_ALIAS(
- "servlet.alias",
- _("bow.config.servlet.bow.description"),
- null, String.class, false, false),
- SEARCH_ENGINE(
- "search.engine",
- _("bow.config.search.engine.description"),
- null, String.class, false, false),
- BOW_SMTPSERVER(
- "bow.smtpServer",
- _("bow.config.bow.smtpServer.description"),
- null, String.class, false, false),
- 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);
+ /**
+ * Get bow url as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return url
+ */
+ public static String getBowUrl() {
+ return getBowUrl(getConfig());
+ }
- public String key;
- public String description;
- public String defaultValue;
- public Class<?> type;
- public boolean isTransient;
- public boolean isFinal;
-
- BowOption(String key, String description, String defaultValue,
- Class<?> type, boolean isTransient, boolean isFinal) {
- this.key = key;
- this.description = description;
- this.defaultValue = defaultValue;
- this.type = type;
- this.isFinal = isFinal;
- this.isTransient = isTransient;
+ /**
+ * Get bow url as string.
+ *
+ * @param config bow configuration
+ * @return url
+ */
+ public static String getBowUrl(ApplicationConfig config) {
+ String result = config.getOption(BowConfigOption.BOW_URL.key);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
}
+ return result;
+ }
- @Override
- public boolean isFinal() {
- return isFinal;
- }
+ /**
+ * Get alias url as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return url
+ */
+ public static String getAliasUrl() {
+ return getAliasUrl(getConfig());
+ }
- @Override
- public boolean isTransient() {
- return isTransient;
+ /**
+ * Get alias url as string.
+ *
+ * @param config bow configuration
+ * @return url
+ */
+ public static String getAliasUrl(ApplicationConfig config) {
+ String result = config.getOption(BowConfigOption.ALIAS_URL.key);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
}
+ return result;
+ }
- @Override
- public String getDefaultValue() {
- return defaultValue;
- }
+ /**
+ * Get bow servlet as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return servlet name
+ */
+ public static String getServletBow() {
+ return getServletBow(getConfig());
+ }
- @Override
- public String getDescription() {
- return description;
- }
+ /**
+ * Get bow servlet as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletBow(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.SERVLET_BOW.key);
+ }
- @Override
- public String getKey() {
- return key;
- }
+ /**
+ * Get alias servlet as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return servlet name
+ */
+ public static String getServletAlias() {
+ return getServletAlias(getConfig());
+ }
- @Override
- public Class<?> getType() {
- return type;
- }
+ /**
+ * Get alias servlet as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletAlias(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.SERVLET_ALIAS.key);
+ }
- @Override
- public void setDefaultValue(String defaultValue) {
- this.defaultValue = defaultValue;
- }
+ /**
+ * Get alias servlet url as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return servlet name
+ */
+ public static String getServletAliasUrl() {
+ return getServletAliasUrl(getConfig());
+ }
- @Override
- public void setTransient(boolean isTransient) {
- this.isTransient = isTransient;
+ /**
+ * Get alias servlet url as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletAliasUrl(ApplicationConfig config) {
+ String result = getAliasUrl(config) + getServletAlias(config);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
}
+ return result;
+ }
- @Override
- public void setFinal(boolean isFinal) {
- this.isFinal = isFinal;
- }
+ /**
+ * Get bow smtp server as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return smtpServer
+ */
+ public static String getSmtpServer() {
+ return getSmtpServer(getConfig());
}
+
+ /**
+ * Get bow smtp server as string.
+ *
+ * @param config bow configuration
+ * @return smtpServer
+ */
+ public static String getSmtpServer(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.BOW_SMTPSERVER.key);
+ }
+
+ /**
+ * Get default search engine
+ * Default bow applicationConfig will be used
+ *
+ * @return search engine url
+ */
+ public static String getSearchEngine() {
+ return getSearchEngine(getConfig());
+ }
+
+ /**
+ * Get default search engine
+ *
+ * @param config bow configuration
+ * @return search engine url
+ */
+ public static String getSearchEngine(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.SEARCH_ENGINE.key);
+ }
+
+ /**
+ * Get bow address from as string.
+ * Default bow applicationConfig will be used
+ *
+ * @return addressFrom
+ */
+ public static String getAddressFrom() {
+ return getAddressFrom(getConfig());
+ }
+
+ /**
+ * Get bow address from as string.
+ *
+ * @param config bow configuration
+ * @return addressFrom
+ */
+ public static String getAddressFrom(ApplicationConfig config) {
+ return config.getOption(BowConfigOption.BOW_ADDRESSFROM.key);
+ }
+
+ /**
+ * Get admins accounts
+ * Default bow applicationConfig will be used
+ *
+ * @return admins
+ */
+ public static String[] getAdmins() {
+ return getAdmins(getConfig());
+ }
+
+ /**
+ * Get admins accounts
+ *
+ * @param config bow configuration
+ * @return admins
+ */
+ public static String[] getAdmins(ApplicationConfig config) {
+ String str = config.getOption(BowConfigOption.BOW_ADMINS.key);
+ return StringUtil.split(str, ",");
+ }
+
+ /**
+ * Return password for specified admin email
+ * Default bow applicationConfig will be used
+ *
+ * @param admin emails account
+ * @return null or password if available
+ */
+ public static String getAdminPassword(String admin) {
+ return getAdminPassword(getConfig(), admin);
+ }
+
+ /**
+ * Return password for specified admin email
+ *
+ * @param config bow configuration
+ * @param admin emails account
+ * @return null or password if available
+ */
+ public static String getAdminPassword(ApplicationConfig config, String admin) {
+ return config.getOption(BowConfigOption.BOW_ADMINS.key + ".password." + admin);
+ }
+
}
Deleted: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -1,128 +0,0 @@
-package org.chorem.bow;
-
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.StringUtil;
-
-/**
- * @author sletellier
- */
-public class BowConfigHelper {
- /**
- * Get version as string.
- *
- * @param config bow configuration
- * @return version
- */
- public static String getVersion(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.APPLICATION_VERSION.key);
- }
-
- /**
- * Get bow url as string.
- *
- * @param config bow configuration
- * @return url
- */
- public static String getBowUrl(ApplicationConfig config) {
- String result = config.getOption(BowConfig.BowOption.BOW_URL.key);
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
- }
- return result;
- }
-
- /**
- * Get alias url as string.
- *
- * @param config bow configuration
- * @return url
- */
- public static String getAliasUrl(ApplicationConfig config) {
- String result = config.getOption(BowConfig.BowOption.ALIAS_URL.key);
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
- }
- return result;
- }
-
- /**
- * Get bow servlet as string.
- *
- * @param config bow configuration
- * @return servlet name
- */
- public static String getServletBow(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.SERVLET_BOW.key);
- }
-
- /**
- * Get alias servlet as string.
- *
- * @param config bow configuration
- * @return servlet name
- */
- public static String getServletAlias(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.SERVLET_ALIAS.key);
- }
-
- /**
- * Get alias servlet url as string.
- *
- * @param config bow configuration
- * @return servlet name
- */
- public static String getServletAliasUrl(ApplicationConfig config) {
- String result = getAliasUrl(config) + getServletAlias(config);
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
- }
- return result;
- }
-
- /**
- * Get bow smtp server as string.
- *
- * @param config bow configuration
- * @return smtpServer
- */
- public static String getSmtpServer(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.BOW_SMTPSERVER.key);
- }
-
- /**
- * Get default search engine
- *
- * @param config bow configuration
- * @return search engine url
- */
- public static String getSearchEngine(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.SEARCH_ENGINE.key);
- }
-
- /**
- * Get bow address from as string.
- *
- * @param config bow configuration
- * @return addressFrom
- */
- public static String getAddressFrom(ApplicationConfig config) {
- return config.getOption(BowConfig.BowOption.BOW_ADDRESSFROM.key);
- }
-
- public static String[] getAdmins(ApplicationConfig config) {
- String str = config.getOption(BowConfig.BowOption.BOW_ADMINS.key);
- return StringUtil.split(str, ",");
- }
-
- /**
- * Return password for specified admin email
- *
- * @param config bow configuration
- * @param admin
- * @return null or password if available
- */
- public static String getAdminPassword(ApplicationConfig config, String admin) {
- String str = config.getOption(BowConfig.BowOption.BOW_ADMINS.key + ".password." + admin);
- return str;
- }
-}
Added: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigOption.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigOption.java (rev 0)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigOption.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -0,0 +1,116 @@
+package org.chorem.bow;
+
+import org.nuiton.util.ApplicationConfig;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Bow option definition.
+ */
+public enum BowConfigOption implements ApplicationConfig.OptionDef {
+
+ CONFIG_FILE(
+ ApplicationConfig.CONFIG_FILE_NAME,
+ _("bow.config.configFileName.description"),
+ "bow.properties", String.class, false, false),
+ APPLICATION_VERSION(
+ "application.version",
+ _("bow.config.application.version.description"),
+ null, String.class, true, true),
+ BOW_URL(
+ "bow.url",
+ _("bow.config.bow.url.description"),
+ null, String.class, false, false),
+ // For apache url rewriting
+ ALIAS_URL(
+ "alias.url",
+ _("bow.config.alias.url.description"),
+ "alias/", String.class, false, false),
+ SERVLET_BOW(
+ "servlet.bow",
+ _("bow.config.servlet.bow.description"),
+ null, String.class, false, false),
+ // For apache url rewriting
+ SERVLET_ALIAS(
+ "servlet.alias",
+ _("bow.config.servlet.bow.description"),
+ null, String.class, false, false),
+ SEARCH_ENGINE(
+ "search.engine",
+ _("bow.config.search.engine.description"),
+ null, String.class, false, false),
+ BOW_SMTPSERVER(
+ "bow.smtpServer",
+ _("bow.config.bow.smtpServer.description"),
+ null, String.class, false, false),
+ 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);
+
+ public String key;
+ public String description;
+ public String defaultValue;
+ public Class<?> type;
+ public boolean isTransient;
+ public boolean isFinal;
+
+ BowConfigOption(String key, String description, String defaultValue,
+ Class<?> type, boolean isTransient, boolean isFinal) {
+ this.key = key;
+ this.description = description;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ this.isFinal = isFinal;
+ this.isTransient = isTransient;
+ }
+
+ @Override
+ public boolean isFinal() {
+ return isFinal;
+ }
+
+ @Override
+ public boolean isTransient() {
+ return isTransient;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public Class<?> getType() {
+ return type;
+ }
+
+ @Override
+ public void setDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public void setTransient(boolean isTransient) {
+ this.isTransient = isTransient;
+ }
+
+ @Override
+ public void setFinal(boolean isFinal) {
+ this.isFinal = isFinal;
+ }
+}
\ No newline at end of file
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -130,6 +130,6 @@
}
request.setAttribute("bookmarkActions", bookmarkActions);
}
- request.setAttribute(ALIAS_SERVLET_URL, BowConfigHelper.getServletAliasUrl(BowConfig.getConfig()));
+ request.setAttribute(ALIAS_SERVLET_URL, BowConfig.getServletAliasUrl());
}
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -38,8 +38,7 @@
public class BowMail {
static public void sendMail(String sendToEmail, String mailSubject, String mailContent) throws AddressException, MessagingException {
- ApplicationConfig config = BowConfig.getConfig();
- String smtpServer = BowConfigHelper.getSmtpServer(config);
+ String smtpServer = BowConfig.getSmtpServer();
Properties properties = new Properties();
properties.put("mail.smtp.host", smtpServer);
@@ -49,7 +48,7 @@
Message msg = new MimeMessage(session);
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(sendToEmail));
- msg.setFrom(new InternetAddress(BowConfigHelper.getAddressFrom(config)));
+ msg.setFrom(new InternetAddress(BowConfig.getAddressFrom()));
msg.setSubject(mailSubject);
msg.setContent(mailContent, "text/plain");
Transport.send(msg);
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -104,7 +104,7 @@
// check if this user is admin
String login = preference.getLogin();
- String[] admins = BowConfigHelper.getAdmins(BowConfig.getConfig());
+ String[] admins = BowConfig.getAdmins();
boolean isAdmin = false;
if (admins != null) {
for (String admin : admins) {
@@ -159,7 +159,7 @@
preference.setColors("");
}
if (preference.getSearchEngineUrlResults() == null) {
- preference.setSearchEngineUrlResults(BowConfigHelper.getSearchEngine(BowConfig.getConfig()));
+ preference.setSearchEngineUrlResults(BowConfig.getSearchEngine());
}
if (preference.getSearchEngineUrlSuggestions() == null) {
preference.setSearchEngineUrlSuggestions(""); // TODO add default value in config
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -28,7 +28,6 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.chorem.bow.BowConfig;
-import org.chorem.bow.BowConfigHelper;
import org.chorem.bow.BowUser;
import org.chorem.bow.BowInit;
import org.chorem.bow.BowPreference;
@@ -90,7 +89,7 @@
if (result == null) {
// failback: try to authenticate admin with config info
- String configPassword = BowConfigHelper.getAdminPassword(BowConfig.getConfig(), email);
+ String configPassword = BowConfig.getAdminPassword(email);
log.info("failback password: " + password + " configPassword: " + configPassword);
if (password.equals(configPassword)) {
// admin authenticate with config, this is possible when
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -33,10 +33,8 @@
import org.chorem.bow.BookmarkActions;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowConfig;
-import org.chorem.bow.BowConfigHelper;
import org.chorem.bow.BowUtils;
import org.chorem.bow.BowPreference;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
@@ -105,7 +103,6 @@
public String execute() {
BowPreference user = getBowSession().getPreference();
- ApplicationConfig config = BowConfig.getConfig();
if (searchLine != null && searchLine.matches("^http://[^ ]*")) {
redirectTo = BowUtils.redirectTo(searchLine, null);
} else if (searchLine != null
@@ -152,12 +149,12 @@
// si on retrouve l'alias prive on l'utilise,
// sinon on espere qu'il existe un alias public portant ce nom
if (bookmarkId != null) {
- redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId + ".action";
+ redirectTo = BowConfig.getAliasUrl() + bookmarkId + ".action";
if (log.isDebugEnabled()) {
log.debug("Private alias found, redirect to: " + redirectTo);
}
} else {
- redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias + ".action";
+ redirectTo = BowConfig.getAliasUrl() + privateAlias + ".action";
if (log.isDebugEnabled()) {
log.debug("Private alias not found, redirect to: " + redirectTo);
}
@@ -168,7 +165,7 @@
String searchEngineURL = pref.getSearchEngineUrlResults();
if (StringUtils.isEmpty(searchEngineURL)) {
- searchEngineURL = BowConfigHelper.getSearchEngine(config);
+ searchEngineURL = BowConfig.getSearchEngine();
}
searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine);
searchEngineURL = response.encodeRedirectURL(searchEngineURL);
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/PreferencesAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/PreferencesAction.java 2011-05-16 13:21:52 UTC (rev 285)
@@ -63,8 +63,10 @@
private static final long serialVersionUID = -58341106356599721L;
static public PreferencesAction getAction() {
- return (PreferencesAction)ActionContext.getContext().get(CONTEXT_ACTION_KEY);
+ Object action = ActionContext.getContext().get(CONTEXT_ACTION_KEY);
+ return (PreferencesAction) action;
}
+
protected String colors;
protected String tagsNb;
protected String bookmarksHomePage;
Modified: trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-05-16 13:21:52 UTC (rev 285)
@@ -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.BowConfig" %>
-<%@ page import="org.chorem.bow.BowConfigHelper" %>
<%
-String bowUrl = BowConfigHelper.getBowUrl(BowConfig.getConfig());
+String bowUrl = BowConfig.getBowUrl();
if (request.getAttribute("formAction") == null) {
request.setAttribute("formAction", "addUrl");
Modified: trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp 2011-05-16 13:21:52 UTC (rev 285)
@@ -24,10 +24,9 @@
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BowConfig" %>
-<%@ page import="org.chorem.bow.BowConfigHelper" %>
<%
-String url = BowConfigHelper.getBowUrl(BowConfig.getConfig());
+String url = BowConfig.getBowUrl();
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/"
Modified: trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-16 13:21:52 UTC (rev 285)
@@ -1,7 +1,3 @@
-<%@page import="org.chorem.bow.BowConfig"%>
-<%@page import="org.nuiton.wikitty.search.FacetTopic"%>
-<%@page import="org.chorem.bow.action.PreferencesAction"%>
-<%@ page import="org.chorem.bow.BowConfigHelper" %>
<!--
#%L
bow
@@ -26,11 +22,14 @@
#L%
-->
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@page import="org.chorem.bow.BowConfig"%>
+<%@page import="org.nuiton.wikitty.search.FacetTopic"%>
+<%@page import="org.chorem.bow.action.PreferencesAction"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%
PreferencesAction action = PreferencesAction.getAction();
-String bowUrl = BowConfigHelper.getBowUrl(BowConfig.getConfig());
+String bowUrl = BowConfig.getBowUrl();
%>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -128,7 +127,7 @@
<div class="formFrame fond">
<h3><s:text name="bow.preferences.labels"/></h3>
- <s:form action="adminlabels" method="post">
+ <s:form id="labelsForm" action="adminlabels" method="post">
<ul>
<% for (FacetTopic topic : action.getLabels()) { %>
<div>
Modified: trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp 2011-05-14 11:45:57 UTC (rev 284)
+++ trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp 2011-05-16 13:21:52 UTC (rev 285)
@@ -24,10 +24,9 @@
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BowConfig" %>
-<%@ page import="org.chorem.bow.BowConfigHelper" %>
<%
-String url = BowConfigHelper.getBowUrl(BowConfig.getConfig());
+String url = BowConfig.getBowUrl();
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/"
1
0
Author: tchemit
Date: 2011-05-14 13:45:57 +0200 (Sat, 14 May 2011)
New Revision: 284
Url: http://chorem.org/repositories/revision/bow/284
Log:
Update mavenpom4redmine to 2.5.4.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-12 14:29:07 UTC (rev 283)
+++ trunk/pom.xml 2011-05-14 11:45:57 UTC (rev 284)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.5.3</version>
+ <version>2.5.4</version>
</parent>
<groupId>org.chorem</groupId>
1
0
r283 - in trunk: bow-extension-chromium/src/main/webapp bow-ui/src/main/java/org/chorem/bow bow-ui/src/main/java/org/chorem/bow/action bow-ui/src/site/rst/user
by sletellier@users.chorem.org 12 May '11
by sletellier@users.chorem.org 12 May '11
12 May '11
Author: sletellier
Date: 2011-05-12 16:29:07 +0200 (Thu, 12 May 2011)
New Revision: 283
Url: http://chorem.org/repositories/revision/bow/283
Log:
- Debug search
- Update doc for chromium search use
Modified:
trunk/bow-extension-chromium/src/main/webapp/options.html
trunk/bow-extension-chromium/src/main/webapp/properties.js
trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
trunk/bow-ui/src/site/rst/user/openSearch.rst
Modified: trunk/bow-extension-chromium/src/main/webapp/options.html
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-12 14:29:07 UTC (rev 283)
@@ -93,10 +93,10 @@
userSupport.innerHTML = chrome.i18n.getMessage("userSupport");
var bow_website_link = document.links["bow_website"];
- bow_website_link.href = BOW_URL;
+ bow_website_link.href = DEFAULT_BOW_URL;
var bow_logo_link = document.links["bow_logo"];
- bow_logo_link.href = BOW_URL;
+ bow_logo_link.href = DEFAULT_BOW_URL;
}
//-->
</script>
Modified: trunk/bow-extension-chromium/src/main/webapp/properties.js
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-12 14:29:07 UTC (rev 283)
@@ -21,12 +21,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
-var BOW_URL = "http://bow.chorem.org/bow";
+var DEFAULT_BOW_URL = "http://bow.chorem.org/bow";
function getBowURl() {
var bowUrl = localStorage["bowUrl"];
if (!bowUrl) {
- bowUrl = BOW_URL;
+ bowUrl = DEFAULT_BOW_URL;
}
return bowUrl
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java 2011-05-12 14:29:07 UTC (rev 283)
@@ -26,6 +26,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+
+import org.apache.commons.lang.StringUtils;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.FacetTopic;
@@ -140,7 +142,7 @@
if (tagsSearch != null) {
return StringUtil.join(tagsSearch, " ", true); // return the search line created with the tags
}
- return null;
+ return StringUtils.EMPTY;
}
public int getFont(int ti) {
@@ -179,6 +181,9 @@
}
public String getFullTextLine() {
+ if (fullTextLine == null) {
+ return StringUtils.EMPTY;
+ }
return fullTextLine;
}
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 14:29:07 UTC (rev 283)
@@ -87,6 +87,7 @@
"bow.url",
_("bow.config.bow.url.description"),
null, String.class, false, false),
+ // FIXME sletellier 20110512 : A quoi ça sert ? La valeur est utilise en dur ("alias/") dans struts.xml
ALIAS_URL(
"alias.url",
_("bow.config.alias.url.description"),
@@ -100,7 +101,7 @@
SERVLET_ALIAS(
"servlet.alias",
_("bow.config.servlet.bow.description"),
- "alias/", String.class, false, false),
+ null, String.class, false, false),
SEARCH_ENGINE(
"search.engine",
_("bow.config.search.engine.description"),
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java 2011-05-12 14:29:07 UTC (rev 283)
@@ -24,6 +24,8 @@
package org.chorem.bow;
import java.util.Date;
+
+import org.apache.commons.lang.StringUtils;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Criteria;
@@ -65,8 +67,17 @@
static public String redirectTo(String searchLine, String fullTextLine) {
String result = "home.action";
- if (!"".equals(searchLine) || !"".equals(fullTextLine)) {
- result = "search.action?searchLine=" + searchLine + "&fullTextLine=" + fullTextLine;
+ if (!StringUtils.isEmpty(searchLine) || !StringUtils.isEmpty(fullTextLine)) {
+ result = "search.action?";
+ if (searchLine != null) {
+ result += "searchLine=" + searchLine;
+ }
+ if (searchLine != null && fullTextLine != null) {
+ result += "&";
+ }
+ if (fullTextLine != null) {
+ result += "fullTextLine=" + fullTextLine;
+ }
}
return result;
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 14:29:07 UTC (rev 283)
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.lang.StringUtils;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.chorem.bow.BowBookmark;
@@ -93,12 +94,12 @@
@Override
public void setServletRequest(HttpServletRequest request) {
- this.request = request;
+ this.request = request;
}
@Override
public void setServletResponse(HttpServletResponse response) {
- this.response = response;
+ this.response = response;
}
public String execute() {
@@ -109,8 +110,8 @@
redirectTo = BowUtils.redirectTo(searchLine, null);
} else if (searchLine != null
&& (searchLine.startsWith(":") || searchLine.startsWith("t:"))) {
- //Search on tags
+ // Search on tags
int index = searchLine.indexOf(":");
searchLine = searchLine.substring(index + 1); //Suppresses first ":"
@@ -123,7 +124,7 @@
request.setAttribute("token", token);
redirectTo = BowUtils.redirectTo(searchLine, null);
} else if (searchLine != null && searchLine.startsWith("f:")) {
- //Fulltext search in bow
+ // Fulltext search in bow
String fullText = searchLine.substring(2);
WikittyProxy proxy = getBowProxy();
Criteria criteria;
@@ -138,9 +139,9 @@
BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null);
request.setAttribute("bookmarkActions", bookmarkActions);
request.setAttribute("token", token);
- redirectTo = BowUtils.redirectTo(searchLine, null);
+ redirectTo = BowUtils.redirectTo(null, fullText);
} else if (searchLine != null && searchLine.startsWith("a:")) {
- //Redirects to the requested alias
+ // Redirects to the requested alias
String privateAlias = searchLine.substring(2);
WikittyProxy proxy = getBowProxy();
Criteria criteria = Search.query()
@@ -151,22 +152,22 @@
// si on retrouve l'alias prive on l'utilise,
// sinon on espere qu'il existe un alias public portant ce nom
if (bookmarkId != null) {
- redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId;
+ redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId + ".action";
if (log.isDebugEnabled()) {
log.debug("Private alias found, redirect to: " + redirectTo);
}
} else {
- redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias;
+ redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias + ".action";
if (log.isDebugEnabled()) {
log.debug("Private alias not found, redirect to: " + redirectTo);
}
}
} else {
- //Search on the chosen search engine
+ // Search on the chosen search engine
BowPreference pref = getBowSession().getPreference();
String searchEngineURL = pref.getSearchEngineUrlResults();
- if (searchEngineURL == null || "".equals(searchEngineURL)) {
+ if (StringUtils.isEmpty(searchEngineURL)) {
searchEngineURL = BowConfigHelper.getSearchEngine(config);
}
searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine);
Modified: trunk/bow-ui/src/site/rst/user/openSearch.rst
===================================================================
--- trunk/bow-ui/src/site/rst/user/openSearch.rst 2011-05-12 12:03:04 UTC (rev 282)
+++ trunk/bow-ui/src/site/rst/user/openSearch.rst 2011-05-12 14:29:07 UTC (rev 283)
@@ -103,3 +103,14 @@
bow
Cela recherchera bow dans mon moteur de recherche préféré.
+
+Pour Chromium
+-------------
+
+Il faut renseigner un moteur de recherche qui a pour URL::
+
+ http://{url de l'instance}/openSearchResult.action?token={token permanent}&searchLine=%s
+
+Ex pour l'instance http://bow.chorem.org/bow::
+
+ http://http://bow.chorem.org/bow/openSearchResult.action?token={token permanent}&searchLine=%s
1
0
r282 - in trunk: . bow-ui bow-ui/src/main/java/org/chorem/bow bow-ui/src/main/java/org/chorem/bow/action bow-ui/src/main/webapp/jsp bow-ui/src/main/webapp/jsp/inc
by sletellier@users.chorem.org 12 May '11
by sletellier@users.chorem.org 12 May '11
12 May '11
Author: sletellier
Date: 2011-05-12 14:03:04 +0200 (Thu, 12 May 2011)
New Revision: 282
Url: http://chorem.org/repositories/revision/bow/282
Log:
- Add postgres dependency
- Refactor BowConfig to make a factory of ApplicationConfig
- Fix some bugs
Added:
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java
Modified:
trunk/bow-ui/pom.xml
trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowProxy.java
trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java
trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp
trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp
trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp
trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp
trunk/pom.xml
Modified: trunk/bow-ui/pom.xml
===================================================================
--- trunk/bow-ui/pom.xml 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/pom.xml 2011-05-12 12:03:04 UTC (rev 282)
@@ -149,7 +149,11 @@
<artifactId>commons-io</artifactId>
<scope>compile</scope>
</dependency>
-
+
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency>
</dependencies>
<build>
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/AliasServlet.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -24,6 +24,7 @@
package org.chorem.bow;
import org.apache.commons.lang.StringUtils;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyProxy;
import javax.servlet.ServletException;
@@ -45,8 +46,8 @@
protected String bowServletUrl = "";
public AliasServlet() {
- BowConfig config = BowConfig.getInstance();
- bowServletUrl = config.getBowUrl() + config.getServletBow() ;
+ ApplicationConfig config = BowConfig.getConfig();
+ bowServletUrl = BowConfigHelper.getBowUrl(config) + BowConfigHelper.getServletBow(config);
}
@Override
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -30,6 +30,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.StringUtil;
+import org.nuiton.wikitty.WikittyConfigOption;
/**
*
@@ -39,207 +40,144 @@
* Last update: $Date$
* by : $Author$
*/
-public class BowConfig extends ApplicationConfig {
+public class BowConfig {
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(BowConfig.class);
/** Singleton instance. */
- protected static BowConfig instance;
+ protected static ApplicationConfig config;
- public BowConfig() {
-
- // set default option (included configuration file name : important)
- for (Option o : Option.values()) {
- if (o.defaultValue != null) {
- setDefaultOption(o.key, o.defaultValue);
- }
- }
+ private BowConfig() {
}
- public static synchronized BowConfig getInstance() {
- if (instance == null) {
+ public static synchronized ApplicationConfig getConfig(String... args) {
+ if (config == null) {
try {
- instance = new BowConfig();
- instance.parse(StringUtil.EMPTY_STRING_ARRAY);
-// instance.setDataDirInSystemProps();
+ config = new ApplicationConfig(BowOption.CONFIG_FILE.getDefaultValue());
+
+ // Load wikitty options
+ config.loadDefaultOptions(WikittyConfigOption.class);
+
+ // Load bow options
+ config.loadDefaultOptions(BowOption.class);
+
+ // Parse args
+ config.parse(args);
} catch (Exception e) {
throw new UnhandledException(e);
}
}
- return instance;
+ return config;
}
/**
- * Get version as string.
- *
- * @return version
+ * Bow option definition.
*/
- public String getVersion() {
- return getOption(Option.APPLICATION_VERSION.key);
- }
+ public enum BowOption implements ApplicationConfig.OptionDef {
- /**
- * Get bow url as string.
- *
- * @return url
- */
- public String getBowUrl() {
- String result = getOption(Option.BOW_URL.key);
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
- }
- return result;
- }
+ CONFIG_FILE(
+ ApplicationConfig.CONFIG_FILE_NAME,
+ _("bow.config.configFileName.description"),
+ "bow.properties", String.class, false, false),
+ APPLICATION_VERSION(
+ "application.version",
+ _("bow.config.application.version.description"),
+ null, String.class, true, true),
+ BOW_URL(
+ "bow.url",
+ _("bow.config.bow.url.description"),
+ null, String.class, false, false),
+ ALIAS_URL(
+ "alias.url",
+ _("bow.config.alias.url.description"),
+ null, String.class, false, false),
+ SERVLET_BOW(
+ "servlet.bow",
+ _("bow.config.servlet.bow.description"),
+ null, String.class, false, false),
- /**
- * Get alias url as string.
- *
- * @return url
- */
- public String getAliasUrl() {
- String result = getOption(Option.ALIAS_URL.key);
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
- }
- return result;
- }
+ // FIXME sletellier 20110512 : A quoi ça sert ? La valeur est utilise en dur ("alias/") dans struts.xml
+ SERVLET_ALIAS(
+ "servlet.alias",
+ _("bow.config.servlet.bow.description"),
+ "alias/", String.class, false, false),
+ SEARCH_ENGINE(
+ "search.engine",
+ _("bow.config.search.engine.description"),
+ null, String.class, false, false),
+ BOW_SMTPSERVER(
+ "bow.smtpServer",
+ _("bow.config.bow.smtpServer.description"),
+ null, String.class, false, false),
+ 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);
- /**
- * Get bow servlet as string.
- *
- * @return servlet name
- */
- public String getServletBow() {
- return getOption(Option.SERVLET_BOW.key);
- }
+ public String key;
+ public String description;
+ public String defaultValue;
+ public Class<?> type;
+ public boolean isTransient;
+ public boolean isFinal;
- /**
- * Get alias servlet as string.
- *
- * @return servlet name
- */
- public String getServletAlias() {
- return getOption(Option.SERVLET_ALIAS.key);
- }
+ BowOption(String key, String description, String defaultValue,
+ Class<?> type, boolean isTransient, boolean isFinal) {
+ this.key = key;
+ this.description = description;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ this.isFinal = isFinal;
+ this.isTransient = isTransient;
+ }
- /**
- * Get alias servlet url as string.
- *
- * @return servlet name
- */
- public String getServletAliasUrl() {
- String result = getAliasUrl() + getServletAlias();
- if (result != null && result.charAt(result.length() - 1) != '/') {
- result += '/';
+ @Override
+ public boolean isFinal() {
+ return isFinal;
}
- return result;
- }
-// public File getDataDirAsFile() {
-// File option = getOptionAsFile(Option.DATA_DIR.key);
-// return option;
-// }
+ @Override
+ public boolean isTransient() {
+ return isTransient;
+ }
- /**
- * Get bow smtp server as string.
- *
- * @return smtpServer
- */
- public String getSmtpServer() {
- return getOption(Option.BOW_SMTPSERVER.key);
- }
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
- /**
- * Get default search engine
- *
- * @return search engine url
- */
- public String getSearchEngine() {
- return getOption(Option.SEARCH_ENGINE.key);
- }
+ @Override
+ public String getDescription() {
+ return description;
+ }
- /**
- * Get bow address from as string.
- *
- * @return addressFrom
- */
- public String getAddressFrom() {
- return getOption(Option.BOW_ADDRESSFROM.key);
- }
+ @Override
+ public String getKey() {
+ return key;
+ }
- public String[] getAdmins() {
- String str = getOption(Option.BOW_ADMINS.key);
- return StringUtil.split(str, ",");
- }
+ @Override
+ public Class<?> getType() {
+ return type;
+ }
- /**
- * Return password for specified admin email
- * @param admin
- * @return null or password if available
- */
- public String getAdminPassword(String admin) {
- String str = getOption(Option.BOW_ADMINS.key + ".password." + admin);
- return str;
- }
-// /**
-// * Set {@code solr} and {@code jms} system configuration.
-// *
-// * 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);
-// }
-// }
+ @Override
+ public void setDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
- /**
- * Vradi option definition.
- */
- public enum Option {
+ @Override
+ public void setTransient(boolean isTransient) {
+ this.isTransient = isTransient;
+ }
- CONFIG_FILE(CONFIG_FILE_NAME, _("bow.config.configFileName.description"),
- "bow.properties", String.class, false, false),
- APPLICATION_VERSION("application.version", _("bow.config.application.version.description"),
- null, String.class, true, true),
- BOW_URL("bow.url", _("bow.config.bow.url.description"),
- null, String.class, false, false),
- ALIAS_URL("alias.url", _("bow.config.alias.url.description"),
- null, String.class, false, false),
- SERVLET_BOW("servlet.bow", _("bow.config.servlet.bow.description"),
- null, String.class, false, false),
- SERVLET_ALIAS("servlet.alias", _("bow.config.servlet.bow.description"),
- null, String.class, false, false),
- SEARCH_ENGINE("search.engine", _("bow.config.search.engine.description"),
- null, String.class, false, false),
- BOW_SMTPSERVER("bow.smtpServer", _("bow.config.bow.smtpServer.description"),
- null, String.class, false, false),
- 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);
- public final String key;
- public final String description;
- public final String defaultValue;
- public final Class<?> type;
- public final boolean isTransient;
- public final boolean isFinal;
-
- Option(String key, String description, String defaultValue,
- Class<?> type, boolean isTransient, boolean isFinal) {
- this.key = key;
- this.description = description;
- this.defaultValue = defaultValue;
- this.type = type;
+ @Override
+ public void setFinal(boolean isFinal) {
this.isFinal = isFinal;
- this.isTransient = isTransient;
}
}
}
Added: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java (rev 0)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfigHelper.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -0,0 +1,128 @@
+package org.chorem.bow;
+
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.StringUtil;
+
+/**
+ * @author sletellier
+ */
+public class BowConfigHelper {
+ /**
+ * Get version as string.
+ *
+ * @param config bow configuration
+ * @return version
+ */
+ public static String getVersion(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.APPLICATION_VERSION.key);
+ }
+
+ /**
+ * Get bow url as string.
+ *
+ * @param config bow configuration
+ * @return url
+ */
+ public static String getBowUrl(ApplicationConfig config) {
+ String result = config.getOption(BowConfig.BowOption.BOW_URL.key);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
+ }
+ return result;
+ }
+
+ /**
+ * Get alias url as string.
+ *
+ * @param config bow configuration
+ * @return url
+ */
+ public static String getAliasUrl(ApplicationConfig config) {
+ String result = config.getOption(BowConfig.BowOption.ALIAS_URL.key);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
+ }
+ return result;
+ }
+
+ /**
+ * Get bow servlet as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletBow(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.SERVLET_BOW.key);
+ }
+
+ /**
+ * Get alias servlet as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletAlias(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.SERVLET_ALIAS.key);
+ }
+
+ /**
+ * Get alias servlet url as string.
+ *
+ * @param config bow configuration
+ * @return servlet name
+ */
+ public static String getServletAliasUrl(ApplicationConfig config) {
+ String result = getAliasUrl(config) + getServletAlias(config);
+ if (result != null && result.charAt(result.length() - 1) != '/') {
+ result += '/';
+ }
+ return result;
+ }
+
+ /**
+ * Get bow smtp server as string.
+ *
+ * @param config bow configuration
+ * @return smtpServer
+ */
+ public static String getSmtpServer(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.BOW_SMTPSERVER.key);
+ }
+
+ /**
+ * Get default search engine
+ *
+ * @param config bow configuration
+ * @return search engine url
+ */
+ public static String getSearchEngine(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.SEARCH_ENGINE.key);
+ }
+
+ /**
+ * Get bow address from as string.
+ *
+ * @param config bow configuration
+ * @return addressFrom
+ */
+ public static String getAddressFrom(ApplicationConfig config) {
+ return config.getOption(BowConfig.BowOption.BOW_ADDRESSFROM.key);
+ }
+
+ public static String[] getAdmins(ApplicationConfig config) {
+ String str = config.getOption(BowConfig.BowOption.BOW_ADMINS.key);
+ return StringUtil.split(str, ",");
+ }
+
+ /**
+ * Return password for specified admin email
+ *
+ * @param config bow configuration
+ * @param admin
+ * @return null or password if available
+ */
+ public static String getAdminPassword(ApplicationConfig config, String admin) {
+ String str = config.getOption(BowConfig.BowOption.BOW_ADMINS.key + ".password." + admin);
+ return str;
+ }
+}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowInit.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -34,6 +34,8 @@
protected static final int MAX_ELEMENT_NUMBER = 10;
+ private static final String ALIAS_SERVLET_URL = "aliasServletUrl";
+
// static public void checkAdmin(Map<String, Object> session, String login) {
// String[] admins = BowConfig.getInstance().getAdmins();
//
@@ -128,5 +130,6 @@
}
request.setAttribute("bookmarkActions", bookmarkActions);
}
+ request.setAttribute(ALIAS_SERVLET_URL, BowConfigHelper.getServletAliasUrl(BowConfig.getConfig()));
}
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowMail.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -23,6 +23,8 @@
*/
package org.chorem.bow;
+import org.nuiton.util.ApplicationConfig;
+
import java.util.Properties;
import javax.mail.Message;
@@ -34,21 +36,22 @@
import javax.mail.internet.MimeMessage;
public class BowMail {
+
static public void sendMail(String sendToEmail, String mailSubject, String mailContent) throws AddressException, MessagingException {
- BowConfig config = BowConfig.getInstance();
- String smtpServer = config.getSmtpServer();
- Properties properties = new Properties();
- properties.put("mail.smtp.host", smtpServer);
-
- Session session = Session.getDefaultInstance(properties, null);
- session.setDebug(true);
-
- Message msg = new MimeMessage(session);
-
- msg.addRecipient(Message.RecipientType.TO, new InternetAddress(sendToEmail));
- msg.setFrom(new InternetAddress(config.getAddressFrom()));
- msg.setSubject(mailSubject);
- msg.setContent(mailContent, "text/plain");
- Transport.send(msg);
+ ApplicationConfig config = BowConfig.getConfig();
+ String smtpServer = BowConfigHelper.getSmtpServer(config);
+ Properties properties = new Properties();
+ properties.put("mail.smtp.host", smtpServer);
+
+ Session session = Session.getDefaultInstance(properties, null);
+ session.setDebug(true);
+
+ Message msg = new MimeMessage(session);
+
+ msg.addRecipient(Message.RecipientType.TO, new InternetAddress(sendToEmail));
+ msg.setFrom(new InternetAddress(BowConfigHelper.getAddressFrom(config)));
+ msg.setSubject(mailSubject);
+ msg.setContent(mailContent, "text/plain");
+ Transport.send(msg);
}
}
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowProxy.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowProxy.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowProxy.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -45,7 +45,7 @@
static protected WikittyService ws = null;
- protected BowProxy(BowConfig config, WikittyService ws) {
+ protected BowProxy(ApplicationConfig config, WikittyService ws) {
super(config, ws);
}
@@ -56,7 +56,7 @@
* @return
*/
static public BowProxy getInstance(String token) {
- BowConfig config = BowConfig.getInstance();
+ ApplicationConfig config = BowConfig.getConfig();
WikittyService ws = getWikittyService(config);
BowProxy result = new BowProxy(config, ws);
result.setSecurityToken(token);
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/BowSession.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -104,7 +104,7 @@
// check if this user is admin
String login = preference.getLogin();
- String[] admins = BowConfig.getInstance().getAdmins();
+ String[] admins = BowConfigHelper.getAdmins(BowConfig.getConfig());
boolean isAdmin = false;
if (admins != null) {
for (String admin : admins) {
@@ -159,7 +159,7 @@
preference.setColors("");
}
if (preference.getSearchEngineUrlResults() == null) {
- preference.setSearchEngineUrlResults(BowConfig.getInstance().getSearchEngine());
+ preference.setSearchEngineUrlResults(BowConfigHelper.getSearchEngine(BowConfig.getConfig()));
}
if (preference.getSearchEngineUrlSuggestions() == null) {
preference.setSearchEngineUrlSuggestions(""); // TODO add default value in config
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/LoginAction.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -28,6 +28,7 @@
import org.apache.struts2.interceptor.ServletRequestAware;
import org.chorem.bow.BowConfig;
+import org.chorem.bow.BowConfigHelper;
import org.chorem.bow.BowUser;
import org.chorem.bow.BowInit;
import org.chorem.bow.BowPreference;
@@ -41,7 +42,7 @@
/**
* authentifie l'utilisateur et place son objet User dans la bow session
- *
+ *
* @author poussin
*/
public class LoginAction extends BowBaseAction implements ServletRequestAware {
@@ -51,24 +52,24 @@
protected HttpServletRequest servletRequest;
public String getEmail() {
- return email;
+ return email;
}
-
+
public void setEmail(String email) {
- this.email = email;
+ this.email = email;
}
-
+
public String getPassword() {
- return password;
+ return password;
}
-
+
public void setPassword(String password) {
- this.password = password;
+ this.password = password;
}
-
+
@Override
public void setServletRequest(HttpServletRequest request) {
- this.servletRequest = request;
+ this.servletRequest = request;
}
/**
@@ -89,7 +90,7 @@
if (result == null) {
// failback: try to authenticate admin with config info
- String configPassword = BowConfig.getInstance().getAdminPassword(email);
+ String configPassword = BowConfigHelper.getAdminPassword(BowConfig.getConfig(), email);
log.info("failback password: " + password + " configPassword: " + configPassword);
if (password.equals(configPassword)) {
// admin authenticate with config, this is possible when
@@ -108,7 +109,7 @@
}
return result;
}
-
+
/**
* Authenticates the user if his email and password are valid
*/
Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java
===================================================================
--- trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 12:03:04 UTC (rev 282)
@@ -32,8 +32,10 @@
import org.chorem.bow.BookmarkActions;
import org.chorem.bow.BookmarkUtils;
import org.chorem.bow.BowConfig;
+import org.chorem.bow.BowConfigHelper;
import org.chorem.bow.BowUtils;
import org.chorem.bow.BowPreference;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.WikittyProxy;
@@ -101,6 +103,8 @@
public String execute() {
BowPreference user = getBowSession().getPreference();
+
+ ApplicationConfig config = BowConfig.getConfig();
if (searchLine != null && searchLine.matches("^http://[^ ]*")) {
redirectTo = BowUtils.redirectTo(searchLine, null);
} else if (searchLine != null
@@ -147,12 +151,12 @@
// si on retrouve l'alias prive on l'utilise,
// sinon on espere qu'il existe un alias public portant ce nom
if (bookmarkId != null) {
- redirectTo = BowConfig.getInstance().getAliasUrl() + bookmarkId;
+ redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId;
if (log.isDebugEnabled()) {
log.debug("Private alias found, redirect to: " + redirectTo);
}
} else {
- redirectTo = BowConfig.getInstance().getAliasUrl() + privateAlias;
+ redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias;
if (log.isDebugEnabled()) {
log.debug("Private alias not found, redirect to: " + redirectTo);
}
@@ -163,8 +167,7 @@
String searchEngineURL = pref.getSearchEngineUrlResults();
if (searchEngineURL == null || "".equals(searchEngineURL)) {
- BowConfig config = BowConfig.getInstance();
- searchEngineURL = config.getSearchEngine();
+ searchEngineURL = BowConfigHelper.getSearchEngine(config);
}
searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine);
searchEngineURL = response.encodeRedirectURL(searchEngineURL);
Modified: trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-05-12 12:03:04 UTC (rev 282)
@@ -51,9 +51,9 @@
<s:set var="bookmarkClicks" value="%{#request.bookmark.getClick()}" />
<s:set var="formBookmarkId" value="%{#request.formBookmarkId}" />
<s:set var="privateAlias" value="%{#bookmarkAlias}" />
- <s:set var="aliasServlet" value="%{@org.chorem.bow.BowConfig@getInstance().getServletAliasUrl()}" />
+ <s:set var="aliasServlet" value="%{#request.aliasServletUrl}" />
<s:set var="publicAliasUrl" value="%{#request.bookmark.getPublicAlias()}" />
- <s:set var="aliasUrl" value="%{@org.chorem.bow.BowConfig@getInstance().getServletAliasUrl() + #bookmarkAlias}" />
+ <s:set var="aliasUrl" value="%{#request.aliasServletUrl + #bookmarkAlias}" />
<div class="bookmarkhead">
<p class="date"><%=BowUtils.formatDate(bookmark.getCreationDate())%></p>
Modified: trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-05-12 12:03:04 UTC (rev 282)
@@ -24,8 +24,9 @@
<%@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.BowConfigHelper" %>
<%
-String bowUrl = BowConfig.getInstance().getBowUrl();
+String bowUrl = BowConfigHelper.getBowUrl(BowConfig.getConfig());
if (request.getAttribute("formAction") == null) {
request.setAttribute("formAction", "addUrl");
Modified: trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/webapp/jsp/permanentXml.jsp 2011-05-12 12:03:04 UTC (rev 282)
@@ -24,9 +24,10 @@
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BowConfig" %>
+<%@ page import="org.chorem.bow.BowConfigHelper" %>
<%
-String url = BowConfig.getInstance().getBowUrl();
+String url = BowConfigHelper.getBowUrl(BowConfig.getConfig());
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/"
Modified: trunk/bow-ui/src/main/webapp/jsp/preferences.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/webapp/jsp/preferences.jsp 2011-05-12 12:03:04 UTC (rev 282)
@@ -1,6 +1,7 @@
<%@page import="org.chorem.bow.BowConfig"%>
<%@page import="org.nuiton.wikitty.search.FacetTopic"%>
<%@page import="org.chorem.bow.action.PreferencesAction"%>
+<%@ page import="org.chorem.bow.BowConfigHelper" %>
<!--
#%L
bow
@@ -29,7 +30,7 @@
<%
PreferencesAction action = PreferencesAction.getAction();
-String bowUrl = BowConfig.getInstance().getBowUrl();
+String bowUrl = BowConfigHelper.getBowUrl(BowConfig.getConfig());
%>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
Modified: trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp
===================================================================
--- trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/bow-ui/src/main/webapp/jsp/temporaryXml.jsp 2011-05-12 12:03:04 UTC (rev 282)
@@ -24,9 +24,10 @@
<%@page contentType="text/xml" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@page import="org.chorem.bow.BowConfig" %>
+<%@ page import="org.chorem.bow.BowConfigHelper" %>
<%
-String url = BowConfig.getInstance().getBowUrl();
+String url = BowConfigHelper.getBowUrl(BowConfig.getConfig());
%>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/"
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-12 11:59:51 UTC (rev 281)
+++ trunk/pom.xml 2011-05-12 12:03:04 UTC (rev 282)
@@ -122,7 +122,7 @@
<eugenePluginVersion>2.3.2</eugenePluginVersion>
<nuitonUtilsVersion>2.1.2</nuitonUtilsVersion>
<nuitonI18nVersion>2.3.1</nuitonI18nVersion>
- <wikittyVersion>3.1.1-SNAPSHOT</wikittyVersion>
+ <wikittyVersion>3.1.1</wikittyVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<struts2Version>2.1.8.1</struts2Version>
<xWorkCoreVersion>2.1.6</xWorkCoreVersion>
@@ -239,6 +239,14 @@
<version>${struts2Version}</version>
</dependency>
+ <!-- base postgres -->
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>8.4-701.jdbc4</version>
+ <scope>runtime</scope>
+ </dependency>
+
</dependencies>
</dependencyManagement>
1
0
r281 - in trunk/bow-extension-chromium/src/main/webapp: . _locales/en _locales/fr
by sletellier@users.chorem.org 12 May '11
by sletellier@users.chorem.org 12 May '11
12 May '11
Author: sletellier
Date: 2011-05-12 13:59:51 +0200 (Thu, 12 May 2011)
New Revision: 281
Url: http://chorem.org/repositories/revision/bow/281
Log:
- #368 Allows to use chromium extension with differents servers instances
Modified:
trunk/bow-extension-chromium/src/main/webapp/_locales/en/messages.json
trunk/bow-extension-chromium/src/main/webapp/_locales/fr/messages.json
trunk/bow-extension-chromium/src/main/webapp/manifest.json
trunk/bow-extension-chromium/src/main/webapp/options.html
trunk/bow-extension-chromium/src/main/webapp/popup.html
trunk/bow-extension-chromium/src/main/webapp/properties.js
Modified: trunk/bow-extension-chromium/src/main/webapp/_locales/en/messages.json
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/_locales/en/messages.json 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/_locales/en/messages.json 2011-05-12 11:59:51 UTC (rev 281)
@@ -86,6 +86,11 @@
"message": "Permanent token ID:",
"description": "label for permanent token ID input"
},
+
+ "bowUrlInputLabel" : {
+ "message" : "Bow url :",
+ "description" : "Url of Bow"
+ },
"saveOptionButton": {
"message": "Save",
Modified: trunk/bow-extension-chromium/src/main/webapp/_locales/fr/messages.json
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/_locales/fr/messages.json 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/_locales/fr/messages.json 2011-05-12 11:59:51 UTC (rev 281)
@@ -61,7 +61,7 @@
"message": "Token de session",
"description": "bouton pour bookmarker la page avec le token de session"
},
-
+
"noTokenMessage": {
"message": "Vous devez renseigner votre identifiant de token permanent ou de token de session pour pouvoir bookmarker cette page dans BOW.",
"description": "message affiché à la place des boutons quand l'utilisateur n'a pas entré ses token ids"
@@ -81,7 +81,12 @@
"message" : "Id du token permanent :",
"description" : "label pour l'input de l'id du token permanent"
},
-
+
+ "bowUrlInputLabel" : {
+ "message" : "Url de Bow :",
+ "description" : "Url de l'instance de Bow"
+ },
+
"saveOptionButton" : {
"message" : "Enregistrer",
"description" : "bouton d'enregistrement des options"
Modified: trunk/bow-extension-chromium/src/main/webapp/manifest.json
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/manifest.json 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/manifest.json 2011-05-12 11:59:51 UTC (rev 281)
@@ -41,6 +41,6 @@
"options_page": "options.html",
"homepage_url": "http://www.codelutin.com",
"permissions": [
- "tabs", "http://bow.chorem.org/bow/*"
+ "tabs", "http://*"
]
}
Modified: trunk/bow-extension-chromium/src/main/webapp/options.html
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-12 11:59:51 UTC (rev 281)
@@ -31,20 +31,21 @@
<link rel="icon" type="image/png" href="img/favicon.png" />
<link rel="stylesheet" type="text/css" href="css/options.css" />
-
+
<script type="text/javascript" src="properties.js"></script>
<script type="text/javascript">
<!--
// Saves options to localStorage.
function save_options() {
var permanentTokenIdInput = document.getElementById("permanentTokenIdInput");
- var permanentTokenId = permanentTokenIdInput.value;
- localStorage["permanentTokenId"] = permanentTokenId;
+ localStorage["permanentTokenId"] = permanentTokenIdInput.value;
var sessionTokenIdInput = document.getElementById("sessionTokenIdInput");
- var sessionTokenId = sessionTokenIdInput.value;
- localStorage["sessionTokenId"] = sessionTokenId;
+ localStorage["sessionTokenId"] = sessionTokenIdInput.value;
+ var bowUrlInput = document.getElementById("bowUrlInput");
+ localStorage["bowUrl"] = bowUrlInput.value;
+
var formMessage = document.getElementById("formMessage");
formMessage.innerHTML = chrome.i18n.getMessage("optionSavedMessage");
}
@@ -53,7 +54,7 @@
function restore_options() {
var permanentTokenId = localStorage["permanentTokenId"];
var sessionTokenId = localStorage["sessionTokenId"];
-
+
var permanentTokenIdInputLabel = document.getElementById("permanentTokenIdInputLabel");
permanentTokenIdInputLabel.innerHTML = chrome.i18n.getMessage("permanentTokenIdInputLabel");
@@ -69,6 +70,12 @@
var sessionTokenIdInput = document.getElementById("sessionTokenIdInput");
sessionTokenIdInput.value = sessionTokenId;
}
+
+ var bowUrlInputLabel = document.getElementById("bowUrlInputLabel");
+ bowUrlInputLabel.innerHTML = chrome.i18n.getMessage("bowUrlInputLabel");
+
+ var bowUrlInput = document.getElementById("bowUrlInput");
+ bowUrlInput.value = getBowURl();
var title = document.getElementById("title");
title.innerHTML = chrome.i18n.getMessage("optionTitle");
@@ -117,6 +124,12 @@
<div class="inputs">
<input type="text" name="permanentTokenIdInput" id="permanentTokenIdInput" />
</div>
+ <div class="label">
+ <label for="bowUrlInput" id="bowUrlInputLabel"></label>
+ </div>
+ <div class="inputs">
+ <input type="text" name="bowUrlInput" id="bowUrlInput" />
+ </div>
<div class="buttons">
<input type="button" id="saveOptionButton" onclick="save_options()" />
</div>
@@ -128,8 +141,7 @@
</div>
<div id="footer">
<p>
- <a shape="rect" id="bow_website" href="#" target="_blank">bow</a>
- <a shape="rect" href="http://www.chorem.org/projects/list_files/bow">0.3-SNAPSHOT</a> -
+ <a shape="rect" id="bow_website" href="http://www.chorem.org/projects/show/bow" target="_blank">bow</a>
<a shape="rect" href="http://www.gnu.org/licenses/agpl.html" id="licenseLink"></a> -
<span title="Copyright">©2010 - 2011</span>
<a shape="rect" href="http://www.codelutin.com">Code Lutin</a> -
Modified: trunk/bow-extension-chromium/src/main/webapp/popup.html
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/popup.html 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/popup.html 2011-05-12 11:59:51 UTC (rev 281)
@@ -39,7 +39,7 @@
bookmark(tokenId);
}
}
-
+
function bookmark(tokenId) {
var tabInfos = chrome.extension.getBackgroundPage().getTabInfos();
var url = tabInfos["url"];
@@ -52,9 +52,8 @@
var tagsInput = document.getElementById("tagsInput");
var tagsValue = tagsInput.value;
-
- //BOW_URL is defined in properties.js
- var link = BOW_URL + "/addUrl?token=" + tokenId
+
+ var link = getBowURl() + "/addUrl.action?token=" + tokenId
+ "&link=" + encodeURIComponent(url)
+ "&name=" + encodeURIComponent(nameValue)
+ "&privateAlias=" + encodeURIComponent(aliasValue)
@@ -63,7 +62,9 @@
var xhr = new XMLHttpRequest();
xhr.open("GET", link, true);
xhr.send();
- };
+ close();
+ self.close();
+ }
function init() {
var tabInfos = chrome.extension.getBackgroundPage().getTabInfos();
@@ -103,7 +104,7 @@
var buttons = document.getElementById("buttons");
buttons.innerHTML = chrome.i18n.getMessage("noTokenMessage");
}
- };
+ }
function isEmpty(string) {
return (string == null || string == "");
@@ -135,7 +136,7 @@
<input id="tagsInput" name="tagsInput" type="text" />
</div>
<div id="buttons">
- <input id="permanentTokenButton" onclick="bookmarkPermanent()" type="button" />
+ <input id="permanentTokenButton" onclick="bookmarkPermanent();" type="button" />
<input id="sessionTokenButton" onclick="bookmarkSession()" type="button" />
</div>
</body>
Modified: trunk/bow-extension-chromium/src/main/webapp/properties.js
===================================================================
--- trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-05 09:32:39 UTC (rev 280)
+++ trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-12 11:59:51 UTC (rev 281)
@@ -22,3 +22,12 @@
* #L%
*/
var BOW_URL = "http://bow.chorem.org/bow";
+
+function getBowURl() {
+ var bowUrl = localStorage["bowUrl"];
+ if (!bowUrl) {
+ bowUrl = BOW_URL;
+ }
+ return bowUrl
+}
+
1
0
r280 - in trunk: . bow-ui bow-ui/src/main/resources bow-ui/src/main/webapp/WEB-INF
by echatellier@users.chorem.org 05 May '11
by echatellier@users.chorem.org 05 May '11
05 May '11
Author: echatellier
Date: 2011-05-05 11:32:39 +0200 (Thu, 05 May 2011)
New Revision: 280
Url: http://chorem.org/repositories/revision/bow/280
Log:
#365 : Remove spring
Modified:
trunk/bow-ui/pom.xml
trunk/bow-ui/src/main/resources/struts.properties
trunk/bow-ui/src/main/webapp/WEB-INF/web.xml
trunk/pom.xml
Modified: trunk/bow-ui/pom.xml
===================================================================
--- trunk/bow-ui/pom.xml 2011-05-05 09:14:34 UTC (rev 279)
+++ trunk/bow-ui/pom.xml 2011-05-05 09:32:39 UTC (rev 280)
@@ -134,12 +134,6 @@
<dependency>
<groupId>org.apache.struts</groupId>
- <artifactId>struts2-spring-plugin</artifactId>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<scope>runtime</scope>
</dependency>
Modified: trunk/bow-ui/src/main/resources/struts.properties
===================================================================
--- trunk/bow-ui/src/main/resources/struts.properties 2011-05-05 09:14:34 UTC (rev 279)
+++ trunk/bow-ui/src/main/resources/struts.properties 2011-05-05 09:32:39 UTC (rev 280)
@@ -24,12 +24,6 @@
struts.locale=fr_FR
struts.i18n.encoding=UTF-8
-struts.objectFactory = spring
-
-struts.objectFactory.spring.autoWire = name
-
-struts.objectFactory.spring.useClassCache = true
-
# struts.multipart.parser=cos
# struts.multipart.parser=pell
struts.multipart.parser=jakarta
Modified: trunk/bow-ui/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/bow-ui/src/main/webapp/WEB-INF/web.xml 2011-05-05 09:14:34 UTC (rev 279)
+++ trunk/bow-ui/src/main/webapp/WEB-INF/web.xml 2011-05-05 09:32:39 UTC (rev 280)
@@ -29,11 +29,6 @@
<display-name>Bow</display-name>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:applicationContext*.xml</param-value>
- </context-param>
-
<!-- Filters -->
<filter>
<filter-name>action2-cleanup</filter-name>
@@ -60,18 +55,6 @@
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-
- <!-- Listeners -->
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
-
- <!-- Servlets -->
- <servlet>
- <servlet-name>jspSupportServlet</servlet-name>
- <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
- <load-on-startup>5</load-on-startup>
- </servlet>
<!-- Welcome file lists -->
<welcome-file-list>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-05-05 09:14:34 UTC (rev 279)
+++ trunk/pom.xml 2011-05-05 09:32:39 UTC (rev 280)
@@ -229,12 +229,6 @@
<dependency>
<groupId>org.apache.struts</groupId>
- <artifactId>struts2-spring-plugin</artifactId>
- <version>${struts2Version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${struts2Version}</version>
</dependency>
1
0
Author: echatellier
Date: 2011-05-05 11:14:34 +0200 (Thu, 05 May 2011)
New Revision: 279
Url: http://chorem.org/repositories/revision/bow/279
Log:
Add svn:ingore
Modified:
trunk/bow-ui/
Property changes on: trunk/bow-ui
___________________________________________________________________
Modified: svn:ignore
- target
PutObjectStoreDirHere
+ target
PutObjectStoreDirHere
.classpath
.project
.settings
1
0
Author: echatellier
Date: 2011-05-05 11:14:00 +0200 (Thu, 05 May 2011)
New Revision: 278
Url: http://chorem.org/repositories/revision/bow/278
Log:
Add svn:ingore
Modified:
trunk/bow-extension-chromium/
Property changes on: trunk/bow-extension-chromium
___________________________________________________________________
Modified: svn:ignore
- target
+ target
.classpath
.project
.settings
1
0