You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(39) |
Dec
(10) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(19) |
Feb
(150) |
Mar
(10) |
Apr
|
May
(8) |
Jun
(11) |
Jul
(27) |
Aug
(52) |
Sep
(35) |
Oct
(30) |
Nov
(18) |
Dec
(4) |
2008 |
Jan
(76) |
Feb
(121) |
Mar
(39) |
Apr
(55) |
May
(18) |
Jun
(49) |
Jul
(32) |
Aug
(4) |
Sep
(10) |
Oct
|
Nov
(3) |
Dec
(33) |
2009 |
Jan
(19) |
Feb
(87) |
Mar
(69) |
Apr
(38) |
May
(47) |
Jun
(20) |
Jul
(5) |
Aug
(76) |
Sep
(145) |
Oct
(34) |
Nov
(8) |
Dec
(68) |
2010 |
Jan
(150) |
Feb
(379) |
Mar
(191) |
Apr
(100) |
May
(525) |
Jun
(269) |
Jul
(127) |
Aug
(190) |
Sep
(190) |
Oct
(29) |
Nov
(147) |
Dec
(83) |
2011 |
Jan
(188) |
Feb
(81) |
Mar
(43) |
Apr
(97) |
May
(63) |
Jun
(129) |
Jul
(17) |
Aug
(124) |
Sep
(6) |
Oct
(20) |
Nov
(67) |
Dec
(23) |
2012 |
Jan
(6) |
Feb
(14) |
Mar
(181) |
Apr
(64) |
May
(102) |
Jun
(47) |
Jul
(26) |
Aug
(3) |
Sep
(1) |
Oct
(14) |
Nov
(13) |
Dec
(23) |
2013 |
Jan
(4) |
Feb
(14) |
Mar
(18) |
Apr
(14) |
May
(27) |
Jun
(27) |
Jul
(5) |
Aug
(2) |
Sep
(74) |
Oct
(79) |
Nov
(21) |
Dec
(97) |
2014 |
Jan
(6) |
Feb
(3) |
Mar
(8) |
Apr
|
May
(5) |
Jun
|
Jul
(9) |
Aug
(6) |
Sep
(3) |
Oct
(10) |
Nov
(6) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
(25) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <fg...@us...> - 2010-09-11 18:14:53
|
Revision: 3069 http://openutils.svn.sourceforge.net/openutils/?rev=3069&view=rev Author: fgiust Date: 2010-09-11 18:14:46 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MEDIA-178 don't repeat media name in popup Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 18:09:46 UTC (rev 3068) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 18:14:46 UTC (rev 3069) @@ -554,7 +554,9 @@ <div class="details"> <h4>${media.title!""}</h4> [#list media.mediaInfo?keys as key] + [#if key != "media_name" ] ${this.getMessage("media.info.${key}", media.mediaInfo[key])}<br/> + [/#if] [/#list] </div> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 18:09:53
|
Revision: 3068 http://openutils.svn.sourceforge.net/openutils/?rev=3068&view=rev Author: fgiust Date: 2010-09-11 18:09:46 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MEDIA-178 missing label Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages.properties trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages_it.properties Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages.properties =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages.properties 2010-09-11 18:03:17 UTC (rev 3067) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages.properties 2010-09-11 18:09:46 UTC (rev 3068) @@ -100,6 +100,7 @@ media.info.media_duration=Duration: {0} media.info.media_framerate=Frame rate: {0} fps media.info.media_pages= Number of pages: {0} +media.info.media_name= File name: {0} media.bgselector.white=White media.bgselector.transparent=Transparent Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages_it.properties =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages_it.properties 2010-09-11 18:03:17 UTC (rev 3067) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/lang/messages_it.properties 2010-09-11 18:09:46 UTC (rev 3068) @@ -102,6 +102,7 @@ media.info.media_duration=Durata: {0} media.info.media_framerate=Frame rate: {0} fps media.info.media_pages= Numero di pagine: {0} +media.info.media_name= Nome file: {0} media.bgselector.white=Bianco This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 18:03:23
|
Revision: 3067 http://openutils.svn.sourceforge.net/openutils/?rev=3067&view=rev Author: fgiust Date: 2010-09-11 18:03:17 +0000 (Sat, 11 Sep 2010) Log Message: ----------- ie7 css fixes Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-11 17:42:14 UTC (rev 3066) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-11 18:03:17 UTC (rev 3067) @@ -834,7 +834,7 @@ public String currentQueryString() { String s = request.getQueryString(); - s = StringUtils.isEmpty(s) ? StringUtils.EMPTY : "&" + s; + s = "&" + s; int p1; while ((p1 = StringUtils.indexOfAny(s, new String[]{"&type=", "&command=", "&page=" })) != -1) { Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css 2010-09-11 17:42:14 UTC (rev 3066) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css 2010-09-11 18:03:17 UTC (rev 3067) @@ -28,4 +28,13 @@ .mediaBranding { height: 26px !important; +} + +#scrollablecontent { + position: relative; +} + +#scrollablecontent .iespacer { + height: 10px; + clear: both; } \ No newline at end of file Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 17:42:14 UTC (rev 3066) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 18:03:17 UTC (rev 3067) @@ -582,6 +582,8 @@ </li> [/#list] </ul> + + <div class="iespacer"><!-- --></div> </div> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 17:42:20
|
Revision: 3066 http://openutils.svn.sourceforge.net/openutils/?rev=3066&view=rev Author: fgiust Date: 2010-09-11 17:42:14 +0000 (Sat, 11 Sep 2010) Log Message: ----------- minor changes to look&feel Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/branding/background.png trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/branding.css trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-11 16:33:45 UTC (rev 3065) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-11 17:42:14 UTC (rev 3066) @@ -859,4 +859,13 @@ { return SortMode.FILENAME_ASC; } + + /** + * Returns the installed media module version. + * @return version as string. + */ + public String getModuleVersion() + { + return MediaEl.module().getVersion(); + } } Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/assets/branding/background.png =================================================================== (Binary files differ) Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/branding.css =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/branding.css 2010-09-11 16:33:45 UTC (rev 3065) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/branding.css 2010-09-11 17:42:14 UTC (rev 3066) @@ -2,12 +2,16 @@ font-family: Verdana, sans-serif; font-size: 11px; line-height: 19px; - background: transparent url(../assets/branding/background.png) repeat-x scroll left top; + background: #fff url(../assets/branding/background.png) repeat-x scroll left top; color: #333; height: 22px; text-align: center; } +#branding-panel .x-panel-body-noheader { + border: none; +} + .mediaBranding img.logo { display: inline; margin: 0 8px 0 12px; @@ -20,4 +24,4 @@ .mgnlListHeaderBackground { border: 10px solid red; -} +} \ No newline at end of file Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css 2010-09-11 16:33:45 UTC (rev 3065) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-resources/media/css/ie-fix.css 2010-09-11 17:42:14 UTC (rev 3066) @@ -25,3 +25,7 @@ #navigation .sortingcontainer { padding-top: 8px; } + +.mediaBranding { + height: 26px !important; +} \ No newline at end of file Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html 2010-09-11 16:33:45 UTC (rev 3065) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html 2010-09-11 17:42:14 UTC (rev 3066) @@ -4,7 +4,10 @@ <head> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/ext/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/ext/css/xtheme-gray.css" /> - <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/branding.css" /> + <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/branding.css?version=${this.moduleVersion}" /> + <!--[if lte IE 7]> + <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/ie-fix.css" /> + <![endif]--> <script type="text/javascript" src="${this.request.contextPath}/.resources/ext/ext-base.js"></script> <script type="text/javascript" src="${this.request.contextPath}/.resources/ext/ext-all.js"></script> <script type="text/javascript" src="${this.request.contextPath}/.resources/media/js/miframe.js"></script> @@ -84,6 +87,7 @@ }, { region:'south', + id:'branding-panel', html:'<div class="mediaBranding"><a href="http://www.openmindonline.it" target="_blank"><img src="${this.request.contextPath}/.resources/media/assets/branding/openmind-logo.png" class="logo" alt="openmind" /></a><span class="brandinginfo">${this.getMessage('media.footer.text', this.moduleVersion)}</span></div>', height: 24 } Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 16:33:45 UTC (rev 3065) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-11 17:42:14 UTC (rev 3066) @@ -5,7 +5,7 @@ <title>${this.path!?html!""}</title> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/multibox.css" /> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/sexy-tooltips/msn.css" /> - <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/folderView.css" /> + <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/folderView.css?version=${this.moduleVersion}" /> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/mooSelecta.css" /> <!--[if lte IE 7]> <link rel="stylesheet" type="text/css" href="${this.request.contextPath}/.resources/media/css/ie-fix.css" /> @@ -33,9 +33,9 @@ new mooSelecta({ selector: '#sorting' }); - new MediaFolderView.BgSelectors('#navigation a.bg-selector'); - new MediaFolderView.PagesizeSelectors('#navigation a.pagesize-selector', this.options); - new MediaFolderView.Sorting('sorting', this.options); + new MediaFolderView.BgSelectors('#navigation a.bg-selector'); + new MediaFolderView.PagesizeSelectors('#navigation a.pagesize-selector', this.options); + new MediaFolderView.Sorting('sorting', this.options); new MediaFolderView.EditMenus('li.media .menuitem'); new MediaFolderView.InfoTooltips('li.media .image'); }, @@ -295,7 +295,7 @@ }); new MediaFolderView({queryString: '${this.currentQueryString()?js_string}'}); - + [#if message?exists] alert("${message?js_string}"); [/#if] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 16:33:51
|
Revision: 3065 http://openutils.svn.sourceforge.net/openutils/?rev=3065&view=rev Author: fgiust Date: 2010-09-11 16:33:45 +0000 (Sat, 11 Sep 2010) Log Message: ----------- DBMIGRATION-5 new jdbc tasks for checking indexes/primary keys Added Paths: ----------- trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfColumnIndexExistsConditionalTask.java trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfPrimaryKeyExistsConditionalTask.java Added: trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfColumnIndexExistsConditionalTask.java =================================================================== --- trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfColumnIndexExistsConditionalTask.java (rev 0) +++ trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfColumnIndexExistsConditionalTask.java 2010-09-11 16:33:45 UTC (rev 3065) @@ -0,0 +1,233 @@ +/** + * + * openutils db migration (http://www.openmindlab.com/lab/products/dbmigration.html) + * Copyright(C) 2007-2010, Openmind S.r.l. http://www.openmindonline.it + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package it.openutils.migration.generic; + +import it.openutils.migration.task.setup.BaseConditionalTask; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.commons.lang.builder.HashCodeBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.dao.DataAccessException; +import org.springframework.jdbc.core.ConnectionCallback; +import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; + + +/** + * Task that executes if a given column have at least one index. + * @author Antonio Gagliardi + * @version $Id$ + */ +public class JdbcIfColumnIndexExistsConditionalTask extends BaseConditionalTask +{ + + protected String catalog; + + protected String schema; + + protected String table; + + protected String[] columns; + + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(JdbcIfColumnIndexExistsConditionalTask.class); + + class IndexItem implements Comparable<IndexItem> + { + + private String columnName; + + private int position; + + private IndexItem(String columnName, int position) + { + super(); + this.columnName = columnName; + this.position = position; + } + + public int compareTo(IndexItem o) + { + return position - o.position; + } + + @Override + public int hashCode() + { + return new HashCodeBuilder(1066590407, 744017859) + .append(this.position) + .append(this.columnName) + .toHashCode(); + } + + @Override + public boolean equals(Object object) + { + if (!(object instanceof IndexItem)) + { + return false; + } + IndexItem rhs = (IndexItem) object; + return new EqualsBuilder() + .append(this.position, rhs.position) + .append(this.columnName, rhs.columnName) + .isEquals(); + } + + } + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + @Override + public boolean check(SimpleJdbcTemplate jdbcTemplate) + { + Set<IndexItem> indexExpected = new TreeSet<IndexItem>(); + + checkInputs(indexExpected); + + ConnectionCallback action = new ConnectionCallback() + { + + public Object doInConnection(Connection con) throws SQLException, DataAccessException + { + DatabaseMetaData dbMetadata = con.getMetaData(); + ResultSet rs = dbMetadata.getIndexInfo(catalog, schema, table, false, false); + + Map<String, Set<IndexItem>> indexs = new HashMap<String, Set<IndexItem>>(); + while (rs.next()) + { + String indexName = rs.getString("INDEX_NAME"); + String actualColumnName = rs.getString("COLUMN_NAME"); + int position = rs.getInt("ORDINAL_POSITION"); + Set<IndexItem> indexItems = indexs.get(indexName); + if (indexItems == null) + { + indexItems = new TreeSet<IndexItem>(); + indexs.put(indexName, indexItems); + } + indexItems.add(new IndexItem(actualColumnName, position)); + } + rs.close(); + return indexs.values(); + } + }; + Collection<Set<IndexItem>> indexs = (Collection<Set<IndexItem>>) jdbcTemplate.getJdbcOperations().execute( + action); + + log.debug("Expected:{}", asString(indexExpected)); + for (Set<IndexItem> index : indexs) + { + log.debug("Actual:{}", asString(index)); + if (index.size() == indexExpected.size()) + { + if (asString(index).equalsIgnoreCase(asString(indexExpected))) + { + return true; + } + } + } + return false; + + } + + private void checkInputs(Set<IndexItem> indexExpected) + { + if (StringUtils.isBlank(table)) + { + throw new IllegalArgumentException("table is mandatory"); + } + if (ArrayUtils.isEmpty(columns)) + { + throw new IllegalArgumentException("columns are mandatory"); + } + + for (int i = 0; i < columns.length; i++) + { + String columnName = columns[i]; + if (StringUtils.isBlank(columnName)) + { + throw new IllegalArgumentException("columnName can not be blank"); + } + indexExpected.add(new IndexItem(columnName, i + 1)); + } + } + + private final static String asString(Set<IndexItem> index) + { + StringBuilder sb = new StringBuilder(); + for (IndexItem indexItem : index) + { + sb.append("" + indexItem.position + "|" + indexItem.columnName); + } + return sb.toString(); + } + + /** + * Sets the catalog. + * @param catalog the catalog to set + */ + public void setCatalog(String catalog) + { + this.catalog = catalog; + } + + /** + * Sets the schema. + * @param schema the schema to set + */ + public void setSchema(String schema) + { + this.schema = schema; + } + + /** + * Sets the table. + * @param table the table to set + */ + public void setTable(String table) + { + this.table = table; + } + + /** + * Sets the columns. + * @param columns the columns to set + */ + public void setColumns(String[] columns) + { + this.columns = columns; + } + +} Property changes on: trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfColumnIndexExistsConditionalTask.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfPrimaryKeyExistsConditionalTask.java =================================================================== --- trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfPrimaryKeyExistsConditionalTask.java (rev 0) +++ trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfPrimaryKeyExistsConditionalTask.java 2010-09-11 16:33:45 UTC (rev 3065) @@ -0,0 +1,147 @@ +/** + * + * openutils db migration (http://www.openmindlab.com/lab/products/dbmigration.html) + * Copyright(C) 2007-2010, Openmind S.r.l. http://www.openmindonline.it + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package it.openutils.migration.generic; + +import it.openutils.migration.task.setup.BaseConditionalTask; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collection; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.dao.DataAccessException; +import org.springframework.jdbc.core.ConnectionCallback; +import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; + + +/** + * Task that executes if a given column have at least one index. + * @author Antonio Gagliardi + * @version $Id$ + */ +public class JdbcIfPrimaryKeyExistsConditionalTask extends BaseConditionalTask +{ + + protected String catalog; + + protected String schema; + + protected String table; + + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(JdbcIfPrimaryKeyExistsConditionalTask.class); + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + @Override + public boolean check(SimpleJdbcTemplate jdbcTemplate) + { + checkInputs(); + + ConnectionCallback action = new ConnectionCallback() + { + + public Object doInConnection(Connection con) throws SQLException, DataAccessException + { + DatabaseMetaData dbMetadata = con.getMetaData(); + ResultSet rs = dbMetadata.getPrimaryKeys(catalog, schema, table); + + Map<Integer, String> primaryKey = new TreeMap<Integer, String>(); + while (rs.next()) + { + String actualColumnName = rs.getString("COLUMN_NAME"); + Integer position = rs.getInt("KEY_SEQ"); + primaryKey.put(position, actualColumnName); + } + rs.close(); + return primaryKey.values(); + } + }; + Collection<String> primaryKeyActual = (Collection<String>) jdbcTemplate.getJdbcOperations().execute(action); + + log.debug("Actual:{}", asString(primaryKeyActual)); + if (primaryKeyActual.isEmpty()) + { + return false; + } + else + { + return true; + } + + } + + private void checkInputs() + { + if (StringUtils.isBlank(table)) + { + throw new IllegalArgumentException("table is mandatory"); + } + } + + private final static String asString(Collection<String> primaryKey) + { + StringBuilder sb = new StringBuilder(); + int position = 0; + for (String pkColumn : primaryKey) + { + sb.append("" + position + "|" + pkColumn); + position++; + } + return sb.toString(); + } + + /** + * Sets the catalog. + * @param catalog the catalog to set + */ + public void setCatalog(String catalog) + { + this.catalog = catalog; + } + + /** + * Sets the schema. + * @param schema the schema to set + */ + public void setSchema(String schema) + { + this.schema = schema; + } + + /** + * Sets the table. + * @param table the table to set + */ + public void setTable(String table) + { + this.table = table; + } + +} Property changes on: trunk/openutils-dbmigration/src/main/java/it/openutils/migration/generic/JdbcIfPrimaryKeyExistsConditionalTask.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 16:30:55
|
Revision: 3064 http://openutils.svn.sourceforge.net/openutils/?rev=3064&view=rev Author: fgiust Date: 2010-09-11 16:30:49 +0000 (Sat, 11 Sep 2010) Log Message: ----------- update criteria dependency Modified Paths: -------------- trunk/openutils-mgnlmedia/pom.xml Modified: trunk/openutils-mgnlmedia/pom.xml =================================================================== --- trunk/openutils-mgnlmedia/pom.xml 2010-09-11 16:30:25 UTC (rev 3063) +++ trunk/openutils-mgnlmedia/pom.xml 2010-09-11 16:30:49 UTC (rev 3064) @@ -142,7 +142,7 @@ <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnlcriteria</artifactId> - <version>3.0.1</version> + <version>3.0.2</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> @@ -173,7 +173,7 @@ <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> - <version>1.0.0</version> + <version>1.2.1</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 16:30:31
|
Revision: 3063 http://openutils.svn.sourceforge.net/openutils/?rev=3063&view=rev Author: fgiust Date: 2010-09-11 16:30:25 +0000 (Sat, 11 Sep 2010) Log Message: ----------- update dependencies Modified Paths: -------------- trunk/magnolia-test-webapp/pom.xml Modified: trunk/magnolia-test-webapp/pom.xml =================================================================== --- trunk/magnolia-test-webapp/pom.xml 2010-09-11 14:22:38 UTC (rev 3062) +++ trunk/magnolia-test-webapp/pom.xml 2010-09-11 16:30:25 UTC (rev 3063) @@ -117,10 +117,15 @@ <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnlcriteria</artifactId> - <version>3.0.2-SNAPSHOT</version> + <version>3.0.3-SNAPSHOT</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlcache</artifactId> + <version>1.0.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnlext</artifactId> <version>2.3-SNAPSHOT</version> </dependency> @@ -137,7 +142,7 @@ <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnlmessages</artifactId> - <version>4.0.5-SNAPSHOT</version> + <version>4.1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@op...> - 2010-09-11 14:39:29
|
See <https://hudson.openmindonline.it/job/openutils-mgnlcriteria/116/changes> |
From: <fg...@us...> - 2010-09-11 14:22:49
|
Revision: 3062 http://openutils.svn.sourceforge.net/openutils/?rev=3062&view=rev Author: fgiust Date: 2010-09-11 14:22:38 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare for next development iteration Modified Paths: -------------- branches/openutils-mgnlcriteria-2.x/pom.xml Modified: branches/openutils-mgnlcriteria-2.x/pom.xml =================================================================== --- branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:22:30 UTC (rev 3061) +++ branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:22:38 UTC (rev 3062) @@ -8,7 +8,7 @@ </parent> <artifactId>openutils-mgnlcriteria</artifactId> <name>Magnolia Criteria API</name> - <version>2.1.2</version> + <version>2.1.3-SNAPSHOT</version> <inceptionYear>2009</inceptionYear> <description>A Hibernate's Criteria-like API to programmatically generate JCR queries with Magnolia</description> <licenses> @@ -23,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/CRIT</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-2.1.2</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-2.1.2</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlcriteria-2.1.2</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/branches/openutils-mgnlcriteria-2.x</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/branches/openutils-mgnlcriteria-2.x</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/branches/openutils-mgnlcriteria-2.x</url> </scm> <build> <plugins> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:22:36
|
Revision: 3061 http://openutils.svn.sourceforge.net/openutils/?rev=3061&view=rev Author: fgiust Date: 2010-09-11 14:22:30 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] copy for tag openutils-mgnlcriteria-2.1.2 Added Paths: ----------- tags/openutils-mgnlcriteria-2.1.2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:22:16
|
Revision: 3060 http://openutils.svn.sourceforge.net/openutils/?rev=3060&view=rev Author: fgiust Date: 2010-09-11 14:22:10 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare release openutils-mgnlcriteria-2.1.2 Modified Paths: -------------- branches/openutils-mgnlcriteria-2.x/pom.xml Modified: branches/openutils-mgnlcriteria-2.x/pom.xml =================================================================== --- branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:20:36 UTC (rev 3059) +++ branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:22:10 UTC (rev 3060) @@ -1,5 +1,4 @@ -<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/maven-v4_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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>net.sourceforge.openutils</groupId> @@ -9,7 +8,7 @@ </parent> <artifactId>openutils-mgnlcriteria</artifactId> <name>Magnolia Criteria API</name> - <version>2.1.2-SNAPSHOT</version> + <version>2.1.2</version> <inceptionYear>2009</inceptionYear> <description>A Hibernate's Criteria-like API to programmatically generate JCR queries with Magnolia</description> <licenses> @@ -24,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/CRIT</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/branches/openutils-mgnlcriteria-2.x</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/branches/openutils-mgnlcriteria-2.x</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/branches/openutils-mgnlcriteria-2.x</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-2.1.2</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-2.1.2</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlcriteria-2.1.2</url> </scm> <build> <plugins> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:20:45
|
Revision: 3059 http://openutils.svn.sourceforge.net/openutils/?rev=3059&view=rev Author: fgiust Date: 2010-09-11 14:20:36 +0000 (Sat, 11 Sep 2010) Log Message: ----------- Merged revisions 2958,2990-2991,2993,3005,3012,3018-3019,3022,3052,3054 via svnmerge from https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlcriteria ........ r2958 | fgiust | 2010-08-31 17:51:03 +0200 (Tue, 31 Aug 2010) | 1 line added an additional unit test ........ r2990 | carlocolombo | 2010-09-01 17:02:16 +0200 (Wed, 01 Sep 2010) | 1 line Dependency to openutils-mgnlutils 1.0.6-SNAPSHOT ........ r2991 | carlocolombo | 2010-09-01 17:03:35 +0200 (Wed, 01 Sep 2010) | 1 line Refactored repository test with TestNgRepositoryTestcase ........ r2993 | carlocolombo | 2010-09-01 17:07:46 +0200 (Wed, 01 Sep 2010) | 1 line Removed outdated class ........ r3005 | diego_schivo | 2010-09-09 18:52:31 +0200 (Thu, 09 Sep 2010) | 1 line CRIT-25 ACL query decoration restricted to criteria queries ........ r3012 | fgiust | 2010-09-09 23:13:25 +0200 (Thu, 09 Sep 2010) | 1 line update dependencies ........ r3018 | diego_schivo | 2010-09-10 11:11:46 +0200 (Fri, 10 Sep 2010) | 1 line CRIT-26 unit test failing + fix ........ r3019 | diego_schivo | 2010-09-10 11:32:28 +0200 (Fri, 10 Sep 2010) | 1 line CRIT-26 refactoring ........ r3022 | diego_schivo | 2010-09-10 13:11:36 +0200 (Fri, 10 Sep 2010) | 1 line CRIT-27 failing unit test + fix ........ r3052 | fgiust | 2010-09-11 16:02:21 +0200 (Sat, 11 Sep 2010) | 1 line missing license header ........ r3054 | fgiust | 2010-09-11 16:06:55 +0200 (Sat, 11 Sep 2010) | 1 line exclude adminInterface module from dependencies ........ Modified Paths: -------------- branches/openutils-mgnlcriteria-2.x/pom.xml branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/QueryExecutorHelper.java branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclQueryDecorator.java branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclSearchIndex.java branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/xpath/utils/XPathTextUtils.java branches/openutils-mgnlcriteria-2.x/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryDecoratorSupport.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/Content2BeanTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/FirstDigitEscapeTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsCriteriaSearchTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsQuestionMarkTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/PaginationTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/ScoreAnalizerAndSortTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/XpathEscapeTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AccessibleResultItemResultIteratorTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/CriteriaTest.java branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclSearchIndexTest.java branches/openutils-mgnlcriteria-2.x/src/test/resources/crit-bootstrap/website.00000.xml Added Paths: ----------- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java branches/openutils-mgnlcriteria-2.x/src/test/resources/crit-bootstrap/website.Lorem ipsum dolor sit amet.xml Removed Paths: ------------- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/tests/RepositoryTestNgTestcase.java Property Changed: ---------------- branches/openutils-mgnlcriteria-2.x/ Property changes on: branches/openutils-mgnlcriteria-2.x ___________________________________________________________________ Modified: svnmerge-integrated - /trunk/openutils-mgnlcriteria:1-2931,2938 + /trunk/openutils-mgnlcriteria:1-2932,2936,2938,2940,2942-3054,3056,3058 Modified: svn:mergeinfo - /trunk/openutils-mgnlcriteria:2938 + /trunk/openutils-mgnlcriteria:2938,2958-3054 Modified: branches/openutils-mgnlcriteria-2.x/pom.xml =================================================================== --- branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/pom.xml 2010-09-11 14:20:36 UTC (rev 3059) @@ -1,4 +1,5 @@ -<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/maven-v4_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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>net.sourceforge.openutils</groupId> @@ -113,6 +114,18 @@ <version>2.4</version> </dependency> <dependency> + <groupId>net.sourceforge.openutils</groupId> + <artifactId>openutils-mgnlutils</artifactId> + <version>1.0.6</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-module-admininterface</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> <groupId>javax.jcr</groupId> <artifactId>jcr</artifactId> <version>2.0</version> Modified: branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/QueryExecutorHelper.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/QueryExecutorHelper.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/QueryExecutorHelper.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -49,6 +49,16 @@ */ private static Logger log = LoggerFactory.getLogger(QueryExecutorHelper.class); + private static ThreadLocal<Boolean> executing = new ThreadLocal<Boolean>() + { + + @Override + protected Boolean initialValue() + { + return Boolean.FALSE; + }; + }; + private QueryExecutorHelper() { // don't instantiate @@ -104,14 +114,21 @@ Query.XPATH); } - return new AdvancedResultImpl( - (QueryResultImpl) query.execute(), - maxResults, - pageNumberStartingFromOne, - stmt, - hm, - spellCheckerQuery); - + try + { + executing.set(Boolean.TRUE); + return new AdvancedResultImpl( + (QueryResultImpl) query.execute(), + maxResults, + pageNumberStartingFromOne, + stmt, + hm, + spellCheckerQuery); + } + finally + { + executing.set(Boolean.FALSE); + } } catch (InvalidQueryException e) { @@ -127,4 +144,14 @@ } } + + /** + * Indicates if this helper class is executing a query + * @return + */ + public static boolean isExecuting() + { + return executing.get(); + } + } Modified: branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclQueryDecorator.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclQueryDecorator.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclQueryDecorator.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -91,9 +91,11 @@ } } q = descendantSelfAxisQuery(booleanQuery(q), new MatchAllDocsQuery()); - Occur o = (permission.getPermissions() & Permission.READ) != 0 - ? Occur.MUST - : Occur.MUST_NOT; + if ((permission.getPermissions() & Permission.READ) == 0) + { + q = notQuery(q); + } + Occur o = Occur.SHOULD; aclQueries.add(new Object[]{q, o }); } } @@ -120,17 +122,15 @@ // combines the original lucene query with the acl ones if (!aclQueries.isEmpty()) { - Query[] qs = new Query[1 + aclQueries.size()]; + Query[] qs = new Query[aclQueries.size()]; Occur[] os = new Occur[qs.length]; - qs[0] = query; - os[0] = Occur.MUST; - for (int i = 1; i < qs.length; i++) + for (int i = 0; i < qs.length; i++) { - Object[] qo = aclQueries.get(i - 1); + Object[] qo = aclQueries.get(i); qs[i] = (Query) qo[0]; os[i] = (Occur) qo[1]; } - query = booleanQuery(qs, os); + query = booleanQuery(query, booleanQuery(qs, os)); } return query; Modified: branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclSearchIndex.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclSearchIndex.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/lucene/AclSearchIndex.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -29,6 +29,7 @@ import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; +import net.sourceforge.openutils.mgnlcriteria.advanced.impl.QueryExecutorHelper; import org.apache.jackrabbit.core.SessionImpl; import org.apache.jackrabbit.core.query.lucene.LuceneQueryBuilder; @@ -111,6 +112,11 @@ { // the lucene query without acl constraints Query luceneQuery = (Query) super.accept(visitor, data); + if (!QueryExecutorHelper.isExecuting()) + { + // not a criteria query: skip lucene decoration + return luceneQuery; + } try { // retrieves the session Modified: branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/xpath/utils/XPathTextUtils.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/xpath/utils/XPathTextUtils.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/main/java/net/sourceforge/openutils/mgnlcriteria/jcr/query/xpath/utils/XPathTextUtils.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -154,6 +154,10 @@ { encodedPath.append("_x" + StringUtils.leftPad(Integer.toHexString(ch), 4, '0') + "_"); } + else if (ch == ' ') + { + encodedPath.append("_x0020_"); + } else { encodedPath.append(ch); Modified: branches/openutils-mgnlcriteria-2.x/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryDecoratorSupport.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryDecoratorSupport.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryDecoratorSupport.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -83,4 +83,9 @@ { return new DescendantSelfAxisQuery(cq, sq, 1); } + + protected Query notQuery(Query cq) + { + return new NotQuery(cq); + } } Modified: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathTest.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathTest.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -21,6 +21,8 @@ import info.magnolia.cms.beans.config.ContentRepository; import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; import java.util.ArrayList; import java.util.Collection; @@ -33,152 +35,171 @@ import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Criterion; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; -import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; import org.apache.commons.lang.StringUtils; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; - /** * Tests criteria queries with different values of basePath parameter. + * * @author dschivo * @version $Id$ */ -public class BasePathTest extends RepositoryTestNgTestcase -{ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.Criteria.xml") +public class BasePathTest extends TestNgRepositoryTestcase { - /** - * {@inheritDoc} - */ - @Override - @BeforeClass - protected void setUp() throws Exception - { - setRepositoryConfigFileName("/crit-repository/test-repositories.xml"); - setJackrabbitRepositoryConfigFileName("/crit-repository/jackrabbit-test-configuration.xml"); + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception { + super.setUp(); - super.setUp(); + // Titles of the nodes in this workspace: + // - Criteria + // --- AbstractCriteriaImpl + // ----- AbstractMagnoliaCriteriaImpl + // ------- MagnoliaCriteriaImpl + // --------- MagnoliaCriteriaWithLimitImpl + // ----- AdvancedCriteriaImpl + // --- AdvancedCriteriaImpl + // --- TranslatableCriteria + // ----- AbstractCriteriaImpl + // ------- AbstractMagnoliaCriteriaImpl + // --------- MagnoliaCriteriaImpl + // ----------- MagnoliaCriteriaWithLimitImpl + // ------- AdvancedCriteriaImpl + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } - // Titles of the nodes in this workspace: - // - Criteria - // --- AbstractCriteriaImpl - // ----- AbstractMagnoliaCriteriaImpl - // ------- MagnoliaCriteriaImpl - // --------- MagnoliaCriteriaWithLimitImpl - // ----- AdvancedCriteriaImpl - // --- AdvancedCriteriaImpl - // --- TranslatableCriteria - // ----- AbstractCriteriaImpl - // ------- AbstractMagnoliaCriteriaImpl - // --------- MagnoliaCriteriaImpl - // ----------- MagnoliaCriteriaWithLimitImpl - // ------- AdvancedCriteriaImpl - bootstrapSingleResource("/crit-bootstrap/website.Criteria.xml"); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); - } + /** + * Passing a null basePath should search the entire repository. + * + * @throws Exception + */ + @Test + public void testNullBasePath() throws Exception { + Collection<String> paths = searchPaths(null, "AdvancedCriteriaImpl"); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 3); + Assert + .assertTrue(paths + .contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + Assert.assertTrue(paths.contains("/Criteria/AdvancedCriteriaImpl")); + Assert + .assertTrue(paths + .contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing a null basePath should search the entire repository. - * @throws Exception - */ - @Test - public void testNullBasePath() throws Exception - { - Collection<String> paths = searchPaths(null, "AdvancedCriteriaImpl"); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 3); - Assert.assertTrue(paths.contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - Assert.assertTrue(paths.contains("/Criteria/AdvancedCriteriaImpl")); - Assert.assertTrue(paths.contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } + /** + * Passing an empty basePath should search the entire repository. + * + * @throws Exception + */ + @Test + public void testEmptyBasePath() throws Exception { + Collection<String> paths = searchPaths(StringUtils.EMPTY, + "AdvancedCriteriaImpl"); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 3); + Assert + .assertTrue(paths + .contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + Assert.assertTrue(paths.contains("/Criteria/AdvancedCriteriaImpl")); + Assert + .assertTrue(paths + .contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing an empty basePath should search the entire repository. - * @throws Exception - */ - @Test - public void testEmptyBasePath() throws Exception - { - Collection<String> paths = searchPaths(StringUtils.EMPTY, "AdvancedCriteriaImpl"); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 3); - Assert.assertTrue(paths.contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - Assert.assertTrue(paths.contains("/Criteria/AdvancedCriteriaImpl")); - Assert.assertTrue(paths.contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } + /** + * Passing an xpath query ending with /* as the basePath should search the + * children. + * + * @throws Exception + */ + @Test + public void testSearchXpathBasePathWithSingleSlash() throws Exception { + Collection<String> paths = searchPaths( + "//Criteria/AbstractCriteriaImpl/*", StringUtils.EMPTY); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 2); + Assert + .assertTrue(paths + .contains("/Criteria/AbstractCriteriaImpl/AbstractMagnoliaCriteriaImpl")); + Assert + .assertTrue(paths + .contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing an xpath query ending with /* as the basePath should search the children. - * @throws Exception - */ - @Test - public void testSearchXpathBasePathWithSingleSlash() throws Exception - { - Collection<String> paths = searchPaths("//Criteria/AbstractCriteriaImpl/*", StringUtils.EMPTY); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 2); - Assert.assertTrue(paths.contains("/Criteria/AbstractCriteriaImpl/AbstractMagnoliaCriteriaImpl")); - Assert.assertTrue(paths.contains("/Criteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } + /** + * Passing an xpath query ending with //* as the basePath should search the + * descendants. + * + * @throws Exception + */ + @Test + public void testSearchXpathBasePathWithDoubleSlash() throws Exception { + Collection<String> paths = searchPaths( + "//Criteria/TranslatableCriteria//*", "AdvancedCriteriaImpl"); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 1); + Assert + .assertTrue(paths + .contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing an xpath query ending with //* as the basePath should search the descendants. - * @throws Exception - */ - @Test - public void testSearchXpathBasePathWithDoubleSlash() throws Exception - { - Collection<String> paths = searchPaths("//Criteria/TranslatableCriteria//*", "AdvancedCriteriaImpl"); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 1); - Assert.assertTrue(paths.contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } + /** + * Passing an handle as the basePath should search the descendants. + * + * @throws Exception + */ + @Test + public void testSearchHandleBasePath() throws Exception { + Collection<String> paths = searchPaths( + "/Criteria/TranslatableCriteria", "AdvancedCriteriaImpl"); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 1); + Assert + .assertTrue(paths + .contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing an handle as the basePath should search the descendants. - * @throws Exception - */ - @Test - public void testSearchHandleBasePath() throws Exception - { - Collection<String> paths = searchPaths("/Criteria/TranslatableCriteria", "AdvancedCriteriaImpl"); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 1); - Assert.assertTrue(paths.contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } + /** + * Passing an handle ending with / as the basePath should search the + * descendants. This test makes sure that the resulting xpath query does not + * end with ///* + * + * @throws Exception + */ + @Test + public void testSearchHandleBasePathWithTrailingSlash() throws Exception { + Collection<String> paths = searchPaths( + "/Criteria/TranslatableCriteria/", "AdvancedCriteriaImpl"); + Assert.assertNotNull(paths); + Assert.assertEquals(paths.size(), 1); + Assert + .assertTrue(paths + .contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); + } - /** - * Passing an handle ending with / as the basePath should search the descendants. This test makes sure that the - * resulting xpath query does not end with ///* - * @throws Exception - */ - @Test - public void testSearchHandleBasePathWithTrailingSlash() throws Exception - { - Collection<String> paths = searchPaths("/Criteria/TranslatableCriteria/", "AdvancedCriteriaImpl"); - Assert.assertNotNull(paths); - Assert.assertEquals(paths.size(), 1); - Assert.assertTrue(paths.contains("/Criteria/TranslatableCriteria/AbstractCriteriaImpl/AdvancedCriteriaImpl")); - } - - private Collection<String> searchPaths(String basePath, String title) - { - Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); - criteria.setBasePath(basePath); - criteria.add(Restrictions.eq(Criterion.JCR_PRIMARYTYPE, "mgnl:content")); - if (!StringUtils.isEmpty(title)) - { - criteria.add(Restrictions.eq("@title", title)); - } - AdvancedResult advResult = criteria.execute(); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - List<String> paths = new ArrayList<String>(); - while (items.hasNext()) - { - paths.add(items.next().getHandle()); - } - return paths; - } + private Collection<String> searchPaths(String basePath, String title) { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace( + ContentRepository.WEBSITE); + criteria.setBasePath(basePath); + criteria + .add(Restrictions.eq(Criterion.JCR_PRIMARYTYPE, "mgnl:content")); + if (!StringUtils.isEmpty(title)) { + criteria.add(Restrictions.eq("@title", title)); + } + AdvancedResult advResult = criteria.execute(); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + List<String> paths = new ArrayList<String>(); + while (items.hasNext()) { + paths.add(items.next().getHandle()); + } + return paths; + } } Copied: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java (from rev 3054, trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java) =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java (rev 0) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -0,0 +1,77 @@ +/** + * + * Magnolia Criteria API (http://www.openmindlab.com/lab/products/mgnlcriteria.html) + * Copyright(C) 2009-2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlcriteria.advanced; + +import info.magnolia.cms.beans.config.ContentRepository; +import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Criterion; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; + +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + + +/** + * @author dschivo + * @version $Id$ + */ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.Lorem ipsum dolor sit amet.xml") +public class BasePathWithSpacesTest extends TestNgRepositoryTestcase +{ + + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception + { + super.setUp(); + + // Nodes in this workspace: + // - Lorem ipsum dolor sit amet + // --- consectetur adipisici elit + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } + + /** + * @throws Exception + */ + @Test + public void test() throws Exception + { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); + criteria.setBasePath("/Lorem ipsum dolor sit amet"); + criteria.add(Restrictions.eq(Criterion.JCR_PRIMARYTYPE, "mgnl:content")); + AdvancedResult advResult = criteria.execute(); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + Assert.assertTrue(items.hasNext()); + Assert.assertEquals(items.next().getName(), "consectetur adipisici elit"); + } + +} Modified: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/Content2BeanTest.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/Content2BeanTest.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/Content2BeanTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -21,6 +21,8 @@ import info.magnolia.cms.beans.config.ContentRepository; import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; import java.util.Map; @@ -31,132 +33,131 @@ import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; -import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; import org.apache.commons.lang.StringUtils; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; - /** * Tests for Content2Bean transformation + * * @author fgiust * @version $Id$ */ -public class Content2BeanTest extends RepositoryTestNgTestcase -{ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.contains.xml") +public class Content2BeanTest extends TestNgRepositoryTestcase { - /** - * {@inheritDoc} - */ - @Override - @BeforeClass - protected void setUp() throws Exception - { - setRepositoryConfigFileName("/crit-repository/test-repositories.xml"); - setJackrabbitRepositoryConfigFileName("/crit-repository/jackrabbit-test-configuration.xml"); + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception { - super.setUp(); + super.setUp(); - bootstrapSingleResource("/crit-bootstrap/website.contains.xml"); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); - } + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } - @SuppressWarnings("unchecked") - @Test - public void testLoremAndIpsum() throws Exception - { - Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); - criteria.setBasePath(StringUtils.EMPTY); - criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); - criteria.add(Restrictions.contains("@title", "lorem ipsum")); - criteria.addOrder(Order.desc("@jcr:score")); + @SuppressWarnings("unchecked") + @Test + public void testLoremAndIpsum() throws Exception { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace( + ContentRepository.WEBSITE); + criteria.setBasePath(StringUtils.EMPTY); + criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); + criteria.add(Restrictions.contains("@title", "lorem ipsum")); + criteria.addOrder(Order.desc("@jcr:score")); - AdvancedResult advResult = criteria.execute(); - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "lorem ipsum"); - Assert.assertEquals(item.getHandle(), "/contains/lorem-ipsum"); + AdvancedResult advResult = criteria.execute(); + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "lorem ipsum"); + Assert.assertEquals(item.getHandle(), "/contains/lorem-ipsum"); - // this is also a Map! - Assert.assertEquals(((Map<String, Object>) item).get("title"), "lorem ipsum"); - Assert.assertEquals(((Map<String, Object>) item).get("text"), "ohoh"); - Assert.assertEquals(((Map<String, Object>) item).get("number"), "5"); - Assert.assertEquals(((Map<String, Object>) item).get("handle"), "/contains/lorem-ipsum"); + // this is also a Map! + Assert.assertEquals(((Map<String, Object>) item).get("title"), + "lorem ipsum"); + Assert.assertEquals(((Map<String, Object>) item).get("text"), "ohoh"); + Assert.assertEquals(((Map<String, Object>) item).get("number"), "5"); + Assert.assertEquals(((Map<String, Object>) item).get("handle"), + "/contains/lorem-ipsum"); - ResultIterator<Page> itemsTransformed = advResult.getItems(Page.class); - Assert.assertNotNull(itemsTransformed); - Page page = itemsTransformed.next(); - Assert.assertEquals(page.getTitle(), "lorem ipsum"); - Assert.assertEquals(page.getText(), "ohoh"); - Assert.assertEquals(page.getNumber(), 5); + ResultIterator<Page> itemsTransformed = advResult.getItems(Page.class); + Assert.assertNotNull(itemsTransformed); + Page page = itemsTransformed.next(); + Assert.assertEquals(page.getTitle(), "lorem ipsum"); + Assert.assertEquals(page.getText(), "ohoh"); + Assert.assertEquals(page.getNumber(), 5); - } + } - public static class Page - { + public static class Page { - private String title; + private String title; - private String text; + private String text; - private int number; + private int number; - /** - * Returns the title. - * @return the title - */ - public String getTitle() - { - return title; - } + /** + * Returns the title. + * + * @return the title + */ + public String getTitle() { + return title; + } - /** - * Sets the title. - * @param title the title to set - */ - public void setTitle(String title) - { - this.title = title; - } + /** + * Sets the title. + * + * @param title + * the title to set + */ + public void setTitle(String title) { + this.title = title; + } - /** - * Returns the text. - * @return the text - */ - public String getText() - { - return text; - } + /** + * Returns the text. + * + * @return the text + */ + public String getText() { + return text; + } - /** - * Sets the text. - * @param text the text to set - */ - public void setText(String text) - { - this.text = text; - } + /** + * Sets the text. + * + * @param text + * the text to set + */ + public void setText(String text) { + this.text = text; + } - /** - * Returns the number. - * @return the number - */ - public int getNumber() - { - return number; - } + /** + * Returns the number. + * + * @return the number + */ + public int getNumber() { + return number; + } - /** - * Sets the number. - * @param number the number to set - */ - public void setNumber(int number) - { - this.number = number; - } - } + /** + * Sets the number. + * + * @param number + * the number to set + */ + public void setNumber(int number) { + this.number = number; + } + } } Modified: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/FirstDigitEscapeTest.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/FirstDigitEscapeTest.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/FirstDigitEscapeTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -21,6 +21,8 @@ import info.magnolia.cms.beans.config.ContentRepository; import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem; import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria; @@ -28,49 +30,46 @@ import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; -import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; - /** * @author dschivo * @version $Id$ */ -public class FirstDigitEscapeTest extends RepositoryTestNgTestcase -{ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.myproject.xml") +public class FirstDigitEscapeTest extends TestNgRepositoryTestcase { - /** - * {@inheritDoc} - */ - @Override - @BeforeClass - protected void setUp() throws Exception - { - setRepositoryConfigFileName("/crit-repository/test-repositories.xml"); - setJackrabbitRepositoryConfigFileName("/crit-repository/jackrabbit-test-configuration.xml"); + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception { - super.setUp(); + super.setUp(); - bootstrapSingleResource("/crit-bootstrap/website.myproject.xml"); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); - } + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } - @Test - public void testEscape() throws Exception - { - Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); - criteria.setBasePath("//myproject/Sport/F1/0a67369b-8cc6-43d8-b2d3-c07b12a2ed5f/versions/*"); - criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:contentNode")); - criteria.addOrder(Order.desc("@jcr:created")); + @Test + public void testEscape() throws Exception { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace( + ContentRepository.WEBSITE); + criteria + .setBasePath("//myproject/Sport/F1/0a67369b-8cc6-43d8-b2d3-c07b12a2ed5f/versions/*"); + criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:contentNode")); + criteria.addOrder(Order.desc("@jcr:created")); - AdvancedResult advResult = criteria.execute(); + AdvancedResult advResult = criteria.execute(); - ResultIterator<AdvancedResultItem> resultIterator = advResult.getItems(); - Assert.assertTrue(resultIterator.hasNext()); - Assert.assertEquals(resultIterator.next().getName(), "ceb55065-e6cd-451a-8ce0-7e495e7e8fbc"); - } + ResultIterator<AdvancedResultItem> resultIterator = advResult + .getItems(); + Assert.assertTrue(resultIterator.hasNext()); + Assert.assertEquals(resultIterator.next().getName(), + "ceb55065-e6cd-451a-8ce0-7e495e7e8fbc"); + } } Modified: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsCriteriaSearchTest.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsCriteriaSearchTest.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsCriteriaSearchTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -21,6 +21,8 @@ import info.magnolia.cms.beans.config.ContentRepository; import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; import java.util.ArrayList; import java.util.Collections; @@ -34,184 +36,164 @@ import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order; import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; -import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; import org.apache.commons.lang.StringUtils; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; - /** * @author dschivo - * @version $Id$ + * @version $Id: JcrContainsCriteriaSearchTest.java 2914 2010-08-28 08:14:49Z + * fgiust $ */ -public class JcrContainsCriteriaSearchTest extends RepositoryTestNgTestcase -{ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.contains.xml") +public class JcrContainsCriteriaSearchTest extends TestNgRepositoryTestcase { - /** - * {@inheritDoc} - */ - @Override - @BeforeClass - protected void setUp() throws Exception - { - setRepositoryConfigFileName("/crit-repository/test-repositories.xml"); - setJackrabbitRepositoryConfigFileName("/crit-repository/jackrabbit-test-configuration.xml"); + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception { - super.setUp(); + super.setUp(); - // Titles of the nodes in this workspace: - // - hello test? world - // - hello te?st world - // - hello "Milano" world - // - lorem - // - lorem ipsum - // - dolor sit - // - dolor sit amet - bootstrapSingleResource("/crit-bootstrap/website.contains.xml"); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); - } + // Titles of the nodes in this workspace: + // - hello test? world + // - hello te?st world + // - hello "Milano" world + // - lorem + // - lorem ipsum + // - dolor sit + // - dolor sit amet + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } - @Test - public void testLoremAndIpsum() throws Exception - { - Criteria criteria = criteria("lorem ipsum", false); - AdvancedResult advResult = criteria.execute(); - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "lorem ipsum"); - } + @Test + public void testLoremAndIpsum() throws Exception { + Criteria criteria = criteria("lorem ipsum", false); + AdvancedResult advResult = criteria.execute(); + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "lorem ipsum"); + } - @Test - public void testLoremAndNotIpsum() throws Exception - { - Criteria criteria = criteria("lorem -ipsum", false); - AdvancedResult advResult = criteria.execute(); - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "lorem"); - } + @Test + public void testLoremAndNotIpsum() throws Exception { + Criteria criteria = criteria("lorem -ipsum", false); + AdvancedResult advResult = criteria.execute(); + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "lorem"); + } - @Test - public void testIpsumOrAmet() throws Exception - { - Criteria criteria = criteria("ipsum OR amet", false); - AdvancedResult advResult = criteria.execute(); - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 2); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - List<String> titles = new ArrayList<String>(); - while (items.hasNext()) - { - titles.add(items.next().getTitle()); - } - Collections.sort(titles); - Assert.assertEquals(titles.get(0), "dolor sit amet"); - Assert.assertEquals(titles.get(1), "lorem ipsum"); - } + @Test + public void testIpsumOrAmet() throws Exception { + Criteria criteria = criteria("ipsum OR amet", false); + AdvancedResult advResult = criteria.execute(); + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 2); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + List<String> titles = new ArrayList<String>(); + while (items.hasNext()) { + titles.add(items.next().getTitle()); + } + Collections.sort(titles); + Assert.assertEquals(titles.get(0), "dolor sit amet"); + Assert.assertEquals(titles.get(1), "lorem ipsum"); + } - @Test - public void testIpsumOrSitAndAmet() throws Exception - { - Criteria criteria = criteria("ipsum OR \"sit AND amet\"", false); - AdvancedResult advResult = criteria.execute(); - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 2); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - List<String> titles = new ArrayList<String>(); - while (items.hasNext()) - { - titles.add(items.next().getTitle()); - } - Collections.sort(titles); - Assert.assertEquals(titles.get(0), "dolor sit amet"); - Assert.assertEquals(titles.get(1), "lorem ipsum"); - } + @Test + public void testIpsumOrSitAndAmet() throws Exception { + Criteria criteria = criteria("ipsum OR \"sit AND amet\"", false); + AdvancedResult advResult = criteria.execute(); + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 2); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + List<String> titles = new ArrayList<String>(); + while (items.hasNext()) { + titles.add(items.next().getTitle()); + } + Collections.sort(titles); + Assert.assertEquals(titles.get(0), "dolor sit amet"); + Assert.assertEquals(titles.get(1), "lorem ipsum"); + } - @Test - public void testTest1() throws Exception - { - String textEnteredByUser = "test?"; - Criteria criteria = criteria(textEnteredByUser, true); - Assert.assertEquals( - StringUtils.remove(criteria.toXpathExpression(), ' '), - "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'test\\?')))]orderby@jcr:scoredescending"); - AdvancedResult advResult = null; - try - { - advResult = criteria.execute(); - } - catch (JCRQueryException e) - { - Assert.fail("Invalid query. " + e.getMessage()); - } - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "hello test? world"); - } + @Test + public void testTest1() throws Exception { + String textEnteredByUser = "test?"; + Criteria criteria = criteria(textEnteredByUser, true); + Assert + .assertEquals( + StringUtils.remove(criteria.toXpathExpression(), ' '), + "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'test\\?')))]orderby@jcr:scoredescending"); + AdvancedResult advResult = null; + try { + advResult = criteria.execute(); + } catch (JCRQueryException e) { + Assert.fail("Invalid query. " + e.getMessage()); + } + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "hello test? world"); + } - @Test - public void testTest2() throws Exception - { - String textEnteredByUser = "te?st"; - Criteria criteria = criteria(textEnteredByUser, true); - Assert.assertEquals( - StringUtils.remove(criteria.toXpathExpression(), ' '), - "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'te\\?st')))]orderby@jcr:scoredescending"); - AdvancedResult advResult = null; - try - { - advResult = criteria.execute(); - } - catch (JCRQueryException e) - { - Assert.fail("Invalid query. " + e.getMessage()); - } - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "hello te?st world"); - } + @Test + public void testTest2() throws Exception { + String textEnteredByUser = "te?st"; + Criteria criteria = criteria(textEnteredByUser, true); + Assert + .assertEquals( + StringUtils.remove(criteria.toXpathExpression(), ' '), + "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'te\\?st')))]orderby@jcr:scoredescending"); + AdvancedResult advResult = null; + try { + advResult = criteria.execute(); + } catch (JCRQueryException e) { + Assert.fail("Invalid query. " + e.getMessage()); + } + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "hello te?st world"); + } - @Test - public void testMilano() throws Exception - { - String textEnteredByUser = "\"Milano\""; - Criteria criteria = criteria(textEnteredByUser, true); - Assert.assertEquals( - StringUtils.remove(criteria.toXpathExpression(), ' '), - "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'\\\"Milano\\\"')))]orderby@jcr:scoredescending"); - AdvancedResult advResult = null; - try - { - advResult = criteria.execute(); - } - catch (JCRQueryException e) - { - Assert.fail("Invalid query. " + e.getMessage()); - } - Assert.assertNotNull(advResult); - Assert.assertEquals(advResult.getTotalSize(), 1); - ResultIterator<AdvancedResultItem> items = advResult.getItems(); - AdvancedResultItem item = items.next(); - Assert.assertEquals(item.getTitle(), "hello \"Milano\" world"); - } + @Test + public void testMilano() throws Exception { + String textEnteredByUser = "\"Milano\""; + Criteria criteria = criteria(textEnteredByUser, true); + Assert + .assertEquals( + StringUtils.remove(criteria.toXpathExpression(), ' '), + "//*[((@jcr:primaryType='mgnl:content')and(jcr:contains(@title,'\\\"Milano\\\"')))]orderby@jcr:scoredescending"); + AdvancedResult advResult = null; + try { + advResult = criteria.execute(); + } catch (JCRQueryException e) { + Assert.fail("Invalid query. " + e.getMessage()); + } + Assert.assertNotNull(advResult); + Assert.assertEquals(advResult.getTotalSize(), 1); + ResultIterator<AdvancedResultItem> items = advResult.getItems(); + AdvancedResultItem item = items.next(); + Assert.assertEquals(item.getTitle(), "hello \"Milano\" world"); + } - private Criteria criteria(String titleSearch, boolean escape) - { - Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(ContentRepository.WEBSITE); - criteria.setBasePath(StringUtils.EMPTY); - criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); - criteria.add(Restrictions.contains("@title", titleSearch, escape)); - criteria.addOrder(Order.desc("@jcr:score")); - return criteria; - } + private Criteria criteria(String titleSearch, boolean escape) { + Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace( + ContentRepository.WEBSITE); + criteria.setBasePath(StringUtils.EMPTY); + criteria.add(Restrictions.eq("@jcr:primaryType", "mgnl:content")); + criteria.add(Restrictions.contains("@title", titleSearch, escape)); + criteria.addOrder(Order.desc("@jcr:score")); + return criteria; + } } Modified: branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsQuestionMarkTest.java =================================================================== --- branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsQuestionMarkTest.java 2010-09-11 14:11:35 UTC (rev 3058) +++ branches/openutils-mgnlcriteria-2.x/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/JcrContainsQuestionMarkTest.java 2010-09-11 14:20:36 UTC (rev 3059) @@ -22,101 +22,111 @@ import info.magnolia.cms.beans.config.ContentRepository; import info.magnolia.cms.core.HierarchyManager; import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; import javax.jcr.query.Query; import net.sourceforge.openutils.mgnlcriteria.advanced.impl.AdvancedResultImpl; import net.sourceforge.openutils.mgnlcriteria.advanced.impl.QueryExecutorHelper; import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRQueryException; -import net.sourceforge.openutils.mgnlcriteria.tests.RepositoryTestNgTestcase; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; - /** - * Unit test on escaping quotation mark in jcr:contains(). Unescaped quotation marks are not illegal: no Exception is - * thrown on query execution. All quotation marks (not only the trailing one) should be escaped to obatain results. + * Unit test on escaping quotation mark in jcr:contains(). Unescaped quotation + * marks are not illegal: no Exception is thrown on query execution. All + * quotation marks (not only the trailing one) should be escaped to obatain + * results. + * * @author dschivo - * @version $Id$ + * @version $Id: JcrContainsQuestionMarkTest.java 2933 2010-08-29 16:00:21Z + * fgiust $ */ -public class JcrContainsQuestionMarkTest extends RepositoryTestNgTestcase -{ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/crit-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/crit-repository/test-repositories.xml", bootstrapFiles = "/crit-bootstrap/website.contains.xml") +public class JcrContainsQuestionMarkTest extends TestNgRepositoryTestcase { - /** - * {@inheritDoc} - */ - @Override - @BeforeClass - protected void setUp() throws Exception - { - setRepositoryConfigFileName("/crit-repository/test-repositories.xml"); - setJackrabbitRepositoryConfigFileName("/crit-repository/jackrabbit-test-configuration.xml"); + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception { - super.setUp(); + super.setUp(); - // Titles of the nodes in this workspace: - // - hello test? world - // - hello te?st world - // - hello "Milano" world - // - lorem - // - lorem ipsum - // - dolor sit - // - dolor sit amet - bootstrapSingleResource("/crit-bootstrap/website.contains.xml"); - MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); - } + // Titles of the nodes in this workspace: + // - hello test? world + // - hello te?st world + // - hello "Milano" world + // - lorem + // - lorem ipsum + // - dolor sit + // - dolor sit amet + MgnlContext.getHierarchyManager(ContentRepository.WEBSITE).save(); + } @Test public void testTrailingUnescaped() throws Exception { HierarchyManager hm = MgnlContext.getHierarchyManager(ContentRepository.WEBSITE); - AdvancedResultImpl advResult = null; - try - { - String stmt = "//*[((@jcr:primaryType='mgnl:content') and (jcr:contains(@title,'test?')))] order by @jcr:score"; - advResult = QueryExecutorHelper.execute(stmt, Query.XPATH, hm, 10, 0, null); - } - catch (JCRQueryException e) - { - // The following statement is NOT true: - // A search string like 'test?' will run into a ParseException documented in - // http://issues.apache.org/jira/browse/JCR-1248 - Assert.fail("http://issues.apache.org/jira/browse/JCR-1248"); - } + AdvancedResultImpl advResult = null; + try { + String stmt = "//*[((@jcr:primaryType='mgnl:content') and (jcr:contains(@title,'test?')))] order by @jcr:score"; + advResult = QueryExecutorHelper.execute(stmt, Query.XPATH, hm, 10, + 0, null); + } catch (JCRQueryException e) { + // The following statement is NOT true: + // A search string like 'test?' will run into a ParseException + // documented in + // http://issues.apache.org/jira/browse/JCR-1248 + Assert.fail("http://issues.apache.org/jira/browse/JCR-1248"); + } - // remark: total size is only evaluated when the result is sorted - Assert.assertEquals(advResult.getTotalSize(), 0); - } + // remark: total size is only evaluated when the result is sorted + Assert.assertEquals(advResult.getTotalSize(), 0); + } - @Test - public void testTrailingEscaped() throws Exception - { - HierarchyManager hm = MgnlContext.getHierarchyManager(ContentRepository.WEBSITE); - String stmt = "//*[((@jcr:primaryType='mgnl:content') and (jcr:contains(@title,'test\\?')))] order by @jcr:score"; - AdvancedResultImpl advResult = QueryExecutorHelper.execute(stmt, Query.XPATH, hm, -1, 0, null); + @SuppressWarnings("deprecation") + @Test + public void testTrailingEscaped() throws Exception { + HierarchyManager hm = MgnlContext + .getHierarchyManager(ContentRepository.WEBSITE); - Assert.assertEquals(advResult.getTotalSize(), 1); - Assert.assertEquals(advResult.getItems().next().getTitle(), "hello test? world"); - } - @Test - public void testMiddle() throws Exception - { - HierarchyManager hm = MgnlContext.getHierarchyManager(ContentRepository.WEBSITE); - String stmt; - AdvancedResult... [truncated message content] |
From: <fg...@us...> - 2010-09-11 14:11:45
|
Revision: 3058 http://openutils.svn.sourceforge.net/openutils/?rev=3058&view=rev Author: fgiust Date: 2010-09-11 14:11:35 +0000 (Sat, 11 Sep 2010) Log Message: ----------- Blocked revisions 3055,3057 via svnmerge ........ r3055 | fgiust | 2010-09-11 16:07:54 +0200 (Sat, 11 Sep 2010) | 1 line [maven-release-plugin] prepare release openutils-mgnlcriteria-3.0.2 ........ r3057 | fgiust | 2010-09-11 16:08:21 +0200 (Sat, 11 Sep 2010) | 1 line [maven-release-plugin] prepare for next development iteration ........ Property Changed: ---------------- branches/openutils-mgnlcriteria-2.x/ Property changes on: branches/openutils-mgnlcriteria-2.x ___________________________________________________________________ Modified: svnmerge-blocked - /trunk/openutils-mgnlcriteria:2933-2935,2937,2939,2941 + /trunk/openutils-mgnlcriteria:2933-2935,2937,2939,2941,3055,3057 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:08:27
|
Revision: 3057 http://openutils.svn.sourceforge.net/openutils/?rev=3057&view=rev Author: fgiust Date: 2010-09-11 14:08:21 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare for next development iteration Modified Paths: -------------- trunk/openutils-mgnlcriteria/pom.xml Modified: trunk/openutils-mgnlcriteria/pom.xml =================================================================== --- trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:08:14 UTC (rev 3056) +++ trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:08:21 UTC (rev 3057) @@ -8,7 +8,7 @@ </parent> <artifactId>openutils-mgnlcriteria</artifactId> <name>Magnolia Criteria API</name> - <version>3.0.2</version> + <version>3.0.3-SNAPSHOT</version> <inceptionYear>2009</inceptionYear> <description>A Hibernate's Criteria-like API to programmatically generate JCR queries with Magnolia</description> <licenses> @@ -23,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/CRIT</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-3.0.2</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-3.0.2</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlcriteria-3.0.2</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlcriteria</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlcriteria</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlcriteria</url> </scm> <build> <plugins> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:08:20
|
Revision: 3056 http://openutils.svn.sourceforge.net/openutils/?rev=3056&view=rev Author: fgiust Date: 2010-09-11 14:08:14 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] copy for tag openutils-mgnlcriteria-3.0.2 Added Paths: ----------- tags/openutils-mgnlcriteria-3.0.2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:08:00
|
Revision: 3055 http://openutils.svn.sourceforge.net/openutils/?rev=3055&view=rev Author: fgiust Date: 2010-09-11 14:07:54 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare release openutils-mgnlcriteria-3.0.2 Modified Paths: -------------- trunk/openutils-mgnlcriteria/pom.xml Modified: trunk/openutils-mgnlcriteria/pom.xml =================================================================== --- trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:06:55 UTC (rev 3054) +++ trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:07:54 UTC (rev 3055) @@ -1,5 +1,4 @@ -<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/maven-v4_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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>net.sourceforge.openutils</groupId> @@ -9,7 +8,7 @@ </parent> <artifactId>openutils-mgnlcriteria</artifactId> <name>Magnolia Criteria API</name> - <version>3.0.2-SNAPSHOT</version> + <version>3.0.2</version> <inceptionYear>2009</inceptionYear> <description>A Hibernate's Criteria-like API to programmatically generate JCR queries with Magnolia</description> <licenses> @@ -24,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/CRIT</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlcriteria</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlcriteria</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlcriteria</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-3.0.2</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlcriteria-3.0.2</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlcriteria-3.0.2</url> </scm> <build> <plugins> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:07:03
|
Revision: 3054 http://openutils.svn.sourceforge.net/openutils/?rev=3054&view=rev Author: fgiust Date: 2010-09-11 14:06:55 +0000 (Sat, 11 Sep 2010) Log Message: ----------- exclude adminInterface module from dependencies Modified Paths: -------------- trunk/openutils-mgnlcriteria/pom.xml Modified: trunk/openutils-mgnlcriteria/pom.xml =================================================================== --- trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:04:58 UTC (rev 3053) +++ trunk/openutils-mgnlcriteria/pom.xml 2010-09-11 14:06:55 UTC (rev 3054) @@ -118,6 +118,12 @@ <artifactId>openutils-mgnlutils</artifactId> <version>1.0.6</version> <scope>test</scope> + <exclusions> + <exclusion> + <groupId>info.magnolia</groupId> + <artifactId>magnolia-module-admininterface</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>javax.jcr</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:05:04
|
Revision: 3053 http://openutils.svn.sourceforge.net/openutils/?rev=3053&view=rev Author: fgiust Date: 2010-09-11 14:04:58 +0000 (Sat, 11 Sep 2010) Log Message: ----------- makes dependency on magnolia-module-admininterface optional Modified Paths: -------------- trunk/openutils-mgnlutils/pom.xml Modified: trunk/openutils-mgnlutils/pom.xml =================================================================== --- trunk/openutils-mgnlutils/pom.xml 2010-09-11 14:02:21 UTC (rev 3052) +++ trunk/openutils-mgnlutils/pom.xml 2010-09-11 14:04:58 UTC (rev 3053) @@ -1,4 +1,5 @@ -<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/maven-v4_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/maven-v4_0_0.xsd "> <parent> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-parent</artifactId> @@ -103,6 +104,7 @@ <groupId>info.magnolia</groupId> <artifactId>magnolia-module-admininterface</artifactId> <version>${magnolia.version}</version> + <optional>true</optional> </dependency> <dependency> <groupId>org.testng</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 14:02:27
|
Revision: 3052 http://openutils.svn.sourceforge.net/openutils/?rev=3052&view=rev Author: fgiust Date: 2010-09-11 14:02:21 +0000 (Sat, 11 Sep 2010) Log Message: ----------- missing license header Modified Paths: -------------- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java Modified: trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java =================================================================== --- trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java 2010-09-11 13:47:53 UTC (rev 3051) +++ trunk/openutils-mgnlcriteria/src/test/java/net/sourceforge/openutils/mgnlcriteria/advanced/BasePathWithSpacesTest.java 2010-09-11 14:02:21 UTC (rev 3052) @@ -1,3 +1,22 @@ +/** + * + * Magnolia Criteria API (http://www.openmindlab.com/lab/products/mgnlcriteria.html) + * Copyright(C) 2009-2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + package net.sourceforge.openutils.mgnlcriteria.advanced; import info.magnolia.cms.beans.config.ContentRepository; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 13:47:59
|
Revision: 3051 http://openutils.svn.sourceforge.net/openutils/?rev=3051&view=rev Author: fgiust Date: 2010-09-11 13:47:53 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare for next development iteration Modified Paths: -------------- trunk/openutils-mgnlmessages/pom.xml Modified: trunk/openutils-mgnlmessages/pom.xml =================================================================== --- trunk/openutils-mgnlmessages/pom.xml 2010-09-11 13:47:46 UTC (rev 3050) +++ trunk/openutils-mgnlmessages/pom.xml 2010-09-11 13:47:53 UTC (rev 3051) @@ -10,7 +10,7 @@ <artifactId>openutils-mgnlmessages</artifactId> <name>Magnolia Messages Module</name> <description>Manage your translations from the Magnolia admin interface</description> - <version>4.1.0</version> + <version>4.1.1-SNAPSHOT</version> <licenses> <license> <name>GPLv3</name> @@ -23,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/GROOVY</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlmessages-4.1.0</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlmessages-4.1.0</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlmessages-4.1.0</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlmessages</url> </scm> <build> <resources> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 13:47:52
|
Revision: 3050 http://openutils.svn.sourceforge.net/openutils/?rev=3050&view=rev Author: fgiust Date: 2010-09-11 13:47:46 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] copy for tag openutils-mgnlmessages-4.1.0 Added Paths: ----------- tags/openutils-mgnlmessages-4.1.0/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 13:47:32
|
Revision: 3049 http://openutils.svn.sourceforge.net/openutils/?rev=3049&view=rev Author: fgiust Date: 2010-09-11 13:47:26 +0000 (Sat, 11 Sep 2010) Log Message: ----------- [maven-release-plugin] prepare release openutils-mgnlmessages-4.1.0 Modified Paths: -------------- trunk/openutils-mgnlmessages/pom.xml Modified: trunk/openutils-mgnlmessages/pom.xml =================================================================== --- trunk/openutils-mgnlmessages/pom.xml 2010-09-11 13:34:49 UTC (rev 3048) +++ trunk/openutils-mgnlmessages/pom.xml 2010-09-11 13:47:26 UTC (rev 3049) @@ -1,5 +1,4 @@ -<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/maven-v4_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/maven-v4_0_0.xsd "> <parent> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-parent</artifactId> @@ -11,7 +10,7 @@ <artifactId>openutils-mgnlmessages</artifactId> <name>Magnolia Messages Module</name> <description>Manage your translations from the Magnolia admin interface</description> - <version>4.0.5-SNAPSHOT</version> + <version>4.1.0</version> <licenses> <license> <name>GPLv3</name> @@ -24,9 +23,9 @@ <url>http://jira.openmindlab.com/browse/GROOVY</url> </issueManagement> <scm> - <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</connection> - <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-mgnlmessages</developerConnection> - <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-mgnlmessages</url> + <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlmessages-4.1.0</connection> + <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-mgnlmessages-4.1.0</developerConnection> + <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-mgnlmessages-4.1.0</url> </scm> <build> <resources> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 13:34:55
|
Revision: 3048 http://openutils.svn.sourceforge.net/openutils/?rev=3048&view=rev Author: fgiust Date: 2010-09-11 13:34:49 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MESSAGES-6 Export to xls only creates keys/values for admininterface basename Modified Paths: -------------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 13:34:22 UTC (rev 3047) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 13:34:49 UTC (rev 3048) @@ -21,10 +21,7 @@ import info.magnolia.cms.beans.runtime.Document; import info.magnolia.cms.i18n.Messages; -import info.magnolia.cms.i18n.MessagesChain; -import info.magnolia.cms.i18n.MessagesManager; import info.magnolia.cms.util.AlertUtil; -import info.magnolia.context.MgnlContext; import info.magnolia.module.admininterface.TemplatedMVCHandler; import java.io.ByteArrayInputStream; @@ -46,14 +43,16 @@ import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; -import net.sourceforge.openutils.mgnlmessages.i18n.RepositoryMessagesImpl; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Font; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -86,73 +85,108 @@ * Export translations to an excel file * @return view */ - @SuppressWarnings("unchecked") public String exportExcel() { HSSFWorkbook wb = new HSSFWorkbook(); - HSSFSheet sheet = wb.createSheet(); - HSSFRow row = sheet.createRow((short) 0); - HSSFCell cell = row.createCell((short) 0); - cell.setCellValue("KEY"); - int index = 1; + Map<String, Map<Locale, Messages>> messages = new HashMap<String, Map<Locale, Messages>>(); List<Locale> locales = MessagesConfigurationManager.getAvaiableLocales(); - Map<Locale, Messages> messages = new HashMap<Locale, Messages>(); - for (Locale locale : locales) + for (String basename : MessagesConfigurationManager.getBaseNames()) { - cell = row.createCell((short) index); - String localeCode = locale.getLanguage(); - if (!StringUtils.isEmpty(locale.getCountry())) + + Map<Locale, Messages> msgs = new HashMap<Locale, Messages>(); + for (Locale locale : locales) { - localeCode += "_" + locale.getCountry(); + msgs.put(locale, new IgnoreMissingBundlesMessagesImpl(basename, locale)); } - cell.setCellValue(localeCode); - index++; - Messages mc = new MessagesChain(new RepositoryMessagesImpl(MessagesManager.DEFAULT_BASENAME, locale)); + messages.put(basename, msgs); + } - for (String basename : MessagesConfigurationManager.getBaseNames()) + // style for the header + HSSFCellStyle style = wb.createCellStyle(); + HSSFFont font = wb.createFont(); + font.setBoldweight(Font.BOLDWEIGHT_BOLD); + style.setFont(font); + // for each messages basename, create a worksheet + + for (String basename : messages.keySet()) + { + + // Sets the sheet name. Will throw IllegalArgumentException if the name is duplicated or contains /\?*[] + // Note - Excel allows sheet names up to 31 chars in length but other applications allow more. Excel does + // not crash with names longer than 31 chars, but silently truncates such names to 31 chars. POI enforces + // uniqueness on the first 31 chars. + String sheetname = StringUtils.replace(basename, "info.magnolia.module.", "i.m.m."); + + HSSFSheet sheet; + + try { - ((MessagesChain) mc).chain(new DefaultMessagesImpl(basename, locale)); + sheet = wb.createSheet(sheetname); } + catch (IllegalArgumentException e) + { + log.warn("Duplicated basename found, skipping: \"{}\"", basename); + continue; + } - messages.put(locale, mc); - } + // create sheet header (key + locales) + HSSFRow header = sheet.createRow((short) 0); + HSSFCell headerCell = header.createCell((short) 0); + headerCell.setCellStyle(style); + headerCell.setCellValue("KEY"); - int r = 1; - List<String> keys = new ArrayList<String>(); - Iterator it = MgnlContext.getMessages().keys(); - while (it.hasNext()) - { - keys.add((String) it.next()); - } + // get the keys for this basename and sort them alphabetically + Map<Locale, Messages> msgs = messages.get(basename); + Iterator<String> it = msgs.values().iterator().next().keys(); + List<String> keys = new ArrayList<String>(); + while (it.hasNext()) + { + keys.add(it.next()); + } - Collections.sort(keys); - for (String key : keys) - { - short c = 0; - row = sheet.createRow(r); - cell = row.createCell(c); - // cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16); - cell.setCellValue(key); - c++; - for (Locale locale : locales) + Collections.sort(keys); + int r = 1; + // for each key create a row in the sheet + for (String key : keys) { + short c = 0; + HSSFRow row = sheet.createRow(r); + HSSFCell cell = row.createCell(c); + cell = row.createCell(c++); + // cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16); + cell.setCellValue(key); - String value = messages.get(locale).get(key); - cell = row.createCell(c); - if (!value.startsWith("???")) + for (Map.Entry<Locale, Messages> entry : msgs.entrySet()) { - cell.setCellValue(value); + + // get back to header row and set the locale for the corresponding value + header = sheet.getRow(0); + headerCell = header.createCell(c); + headerCell.setCellStyle(style); + Locale locale = entry.getKey(); + String localeCode = locale.getLanguage(); + if (!StringUtils.isEmpty(locale.getCountry())) + { + localeCode += "_" + locale.getCountry(); + } + headerCell.setCellValue(localeCode); + String value = entry.getValue().get(key); + cell = row.createCell(c); + if (!value.startsWith("???")) + { + cell.setCellValue(value); + } + else + { + cell.setCellValue(""); + } + c++; } - else - { - cell.setCellValue(""); - } - c++; + r++; } - r++; } response.setContentType("application/vnd.ms-excel; name=\"messages.xls\""); @@ -217,44 +251,47 @@ AlertUtil.setMessage("Error opening uploaded file, check that it is an Excel file", e); return this.show(); } - HSSFSheet sh = wb.getSheetAt(0); - HSSFRow row = sh.getRow(0); - List<String> locales = new ArrayList<String>(); - for (short i = 2; i <= row.getLastCellNum(); i++) + for (int k = 0; k < wb.getNumberOfSheets(); k++) { - HSSFCell cell = row.getCell((short) (i - 1)); - String locale = cell.getStringCellValue(); - if (StringUtils.isEmpty(locale)) + HSSFSheet sh = wb.getSheetAt(k); + HSSFRow row = sh.getRow(0); + List<String> locales = new ArrayList<String>(); + for (short i = 2; i <= row.getLastCellNum(); i++) { - break; + HSSFCell cell = row.getCell((short) (i - 1)); + String locale = cell.getStringCellValue(); + if (StringUtils.isEmpty(locale)) + { + break; + } + locales.add(locale); } - locales.add(locale); - } - for (int r = 1; r < sh.getLastRowNum(); r++) - { - row = sh.getRow(r); - String key = row.getCell((short) 0).getStringCellValue(); - if (StringUtils.isEmpty(key)) + for (int r = 1; r < sh.getLastRowNum(); r++) { - break; - } - for (short c = 1; c < row.getLastCellNum(); c++) - { - if (row.getCell(c) == null) + row = sh.getRow(r); + String key = row.getCell((short) 0).getStringCellValue(); + if (StringUtils.isEmpty(key)) { - continue; + break; } - String value = row.getCell(c).getStringCellValue(); - if (!StringUtils.isEmpty(value)) + for (short c = 1; c < row.getLastCellNum(); c++) { - try + if (row.getCell(c) == null) { - MessagesConfigurationManager.saveKeyValue(key, value, locales.get(c - 1)); + continue; } - catch (RepositoryException e) + String value = row.getCell(c).getStringCellValue(); + if (!StringUtils.isEmpty(value)) { - log.error("Error saving key " + key + " on locale " + locales.get(c - 1), e); + try + { + MessagesConfigurationManager.saveKeyValue(key, value, locales.get(c - 1)); + } + catch (RepositoryException e) + { + log.error("Error saving key " + key + " on locale " + locales.get(c - 1), e); + } } } } @@ -281,8 +318,10 @@ this.uploadFile = uploadFile; } - public Messages getMessages() + @Override + public Messages getMsgs() { - return MgnlContext.getMessages(); + return super.getMsgs(); } -} + +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2010-09-11 13:34:30
|
Revision: 3047 http://openutils.svn.sourceforge.net/openutils/?rev=3047&view=rev Author: fgiust Date: 2010-09-11 13:34:22 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MESSAGES-2 Missing default translations for menu item and pages (+ some nice icons) Modified Paths: -------------- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.messages.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesEdit.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesImportExport.xml trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.html Added Paths: ----------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/IgnoreMissingBundlesMessagesImpl.java trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.basenames.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.locales.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-edit.png trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-export.png trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-24-msg.png trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/openutils/mgnlmessages/lang/ trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/openutils/mgnlmessages/lang/messages_en.properties trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/openutils/mgnlmessages/lang/messages_it.properties Removed Paths: ------------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/DefaultMessagesImpl.java trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesExtract.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesJCR.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.basenames.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.locales.xml trunk/openutils-mgnlmessages/src/main/resources/mgnl-messages/ Deleted: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/DefaultMessagesImpl.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/DefaultMessagesImpl.java 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/DefaultMessagesImpl.java 2010-09-11 13:34:22 UTC (rev 3047) @@ -1,114 +0,0 @@ -/** - * - * Magnolia Messages Module (http://www.openmindlab.com/lab/products/groovy.html) - * Copyright(C) null-2010, Openmind S.r.l. http://www.openmindonline.it - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package net.sourceforge.openutils.mgnlmessages.pages; - -import info.magnolia.cms.util.ClasspathResourcesUtil; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Locale; -import java.util.PropertyResourceBundle; -import java.util.ResourceBundle; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; - - -/** - * @author molaschi - * @version $Id: DefaultMessagesImpl.java 4124 2008-09-22 14:56:46Z fgiust $ - */ -public class DefaultMessagesImpl extends info.magnolia.cms.i18n.DefaultMessagesImpl -{ - - /** - * @param basename - * @param locale - */ - public DefaultMessagesImpl(String basename, Locale locale) - { - super(basename, locale); - } - - /** - * {@inheritDoc} - */ - @Override - public String get(String key) - { - if (this.getBundle() == null) - { - return "??????"; - } - return super.get(key); - } - - /** - * {@inheritDoc} - */ - @Override - protected ResourceBundle getBundle() - { - if (bundle == null) - { - InputStream stream = null; - try - { - if (StringUtils.isEmpty(getLocale().getCountry())) - { - stream = ClasspathResourcesUtil.getStream("/" - + StringUtils.replace(basename, ".", "/") - + "_" - + getLocale().getLanguage() - + ".properties", false); - } - else - { - stream = ClasspathResourcesUtil.getStream("/" - + StringUtils.replace(basename, ".", "/") - + "_" - + getLocale().getLanguage() - + "_" - + getLocale().getCountry() - + ".properties", false); - } - - if (stream != null) - { - bundle = new PropertyResourceBundle(stream); - } - else - { - bundle = null; - } - } - catch (IOException e) - { - log.error("can't load messages for " + basename); - } - finally - { - IOUtils.closeQuietly(stream); - } - } - return bundle; - } - -} Copied: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/IgnoreMissingBundlesMessagesImpl.java (from rev 3043, trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/DefaultMessagesImpl.java) =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/IgnoreMissingBundlesMessagesImpl.java (rev 0) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/IgnoreMissingBundlesMessagesImpl.java 2010-09-11 13:34:22 UTC (rev 3047) @@ -0,0 +1,114 @@ +/** + * + * Magnolia Messages Module (http://www.openmindlab.com/lab/products/groovy.html) + * Copyright(C) null-2010, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.sourceforge.openutils.mgnlmessages.pages; + +import info.magnolia.cms.util.ClasspathResourcesUtil; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Locale; +import java.util.PropertyResourceBundle; +import java.util.ResourceBundle; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.StringUtils; + + +/** + * @author molaschi + * @version $Id: DefaultMessagesImpl.java 4124 2008-09-22 14:56:46Z fgiust $ + */ +public class IgnoreMissingBundlesMessagesImpl extends info.magnolia.cms.i18n.DefaultMessagesImpl +{ + + /** + * @param basename + * @param locale + */ + public IgnoreMissingBundlesMessagesImpl(String basename, Locale locale) + { + super(basename, locale); + } + + /** + * {@inheritDoc} + */ + @Override + public String get(String key) + { + if (this.getBundle() == null) + { + return "??????"; + } + return super.get(key); + } + + /** + * {@inheritDoc} + */ + @Override + protected ResourceBundle getBundle() + { + if (bundle == null) + { + InputStream stream = null; + try + { + if (StringUtils.isEmpty(getLocale().getCountry())) + { + stream = ClasspathResourcesUtil.getStream("/" + + StringUtils.replace(basename, ".", "/") + + "_" + + getLocale().getLanguage() + + ".properties", false); + } + else + { + stream = ClasspathResourcesUtil.getStream("/" + + StringUtils.replace(basename, ".", "/") + + "_" + + getLocale().getLanguage() + + "_" + + getLocale().getCountry() + + ".properties", false); + } + + if (stream != null) + { + bundle = new PropertyResourceBundle(stream); + } + else + { + bundle = null; + } + } + catch (IOException e) + { + log.error("can't load messages for " + basename); + } + finally + { + IOUtils.closeQuietly(stream); + } + } + return bundle; + } + +} Modified: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.messages.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.messages.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.messages.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -6,9 +6,15 @@ <sv:property sv:name="jcr:uuid" sv:type="String"> <sv:value>7219418a-40aa-402b-a837-f836ef5845c3</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> <sv:property sv:name="icon" sv:type="String"> - <sv:value>/.resources/icons/24/gears.gif</sv:value> + <sv:value>/.resources/messages/icons/ico-24-msg.png</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="label" sv:type="String"> <sv:value>menu.messages</sv:value> </sv:property> @@ -19,6 +25,9 @@ <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -26,7 +35,7 @@ <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> + <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:creationdate" sv:type="Date"> <sv:value>2006-02-15T09:01:47.223+01:00</sv:value> @@ -35,7 +44,7 @@ <sv:value>2008-07-10T11:24:09.671Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-08-18T17:08:02.426+02:00</sv:value> + <sv:value>2010-09-11T14:54:52.456+02:00</sv:value> </sv:property> </sv:node> <sv:node sv:name="edit"> @@ -48,9 +57,15 @@ <sv:property sv:name="jcr:uuid" sv:type="String"> <sv:value>76fdecae-8bf9-445b-bc8d-ca4825f1066c</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> <sv:property sv:name="icon" sv:type="String"> - <sv:value>/.resources/media/icons/browse16.gif</sv:value> + <sv:value>/.resources/messages/icons/ico-16-edit.png</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="label" sv:type="String"> <sv:value>Edit</sv:value> </sv:property> @@ -61,6 +76,9 @@ <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -77,7 +95,7 @@ <sv:value>2008-07-10T13:14:46.870Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-10T13:15:00.133Z</sv:value> + <sv:value>2010-09-11T14:55:15.704+02:00</sv:value> </sv:property> </sv:node> </sv:node> @@ -91,9 +109,15 @@ <sv:property sv:name="jcr:uuid" sv:type="String"> <sv:value>212932a0-287e-48e4-87ba-fbacd2ebd999</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> <sv:property sv:name="icon" sv:type="String"> - <sv:value>/.resources/media/icons/browse16.gif</sv:value> + <sv:value>/.resources/messages/icons/ico-16-export.png</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="label" sv:type="String"> <sv:value>Import/export</sv:value> </sv:property> @@ -104,6 +128,9 @@ <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -111,7 +138,7 @@ <sv:value>admin</sv:value> </sv:property> <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> + <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:creationdate" sv:type="Date"> <sv:value>2008-06-17T14:45:51.521Z</sv:value> @@ -120,7 +147,7 @@ <sv:value>2008-07-15T12:19:15.513Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T12:19:32.803Z</sv:value> + <sv:value>2010-09-11T14:55:17.775+02:00</sv:value> </sv:property> </sv:node> </sv:node> Deleted: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesExtract.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesExtract.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesExtract.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="messagesExtract" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>2d9f9414-9741-441a-b4a3-939c96c0465b</sv:value> - </sv:property> - <sv:property sv:name="icon" sv:type="String"> - <sv:value>/.resources/media/icons/browse16.gif</sv:value> - </sv:property> - <sv:property sv:name="label" sv:type="String"> - <sv:value>Extract Messages</sv:value> - </sv:property> - <sv:property sv:name="onclick" sv:type="String"> - <sv:value>MgnlAdminCentral.showContent('/.magnolia/pages/messagesExtract.html');</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>superuser</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-06-17T14:45:51.521Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-10T13:14:46.870Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-08-13T17:28:41.678+02:00</sv:value> - </sv:property> - </sv:node> -</sv:node> Deleted: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesJCR.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesJCR.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.adminInterface.config.menu.tools.messagesJCR.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="messagesJCR" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>a31dd578-053e-4576-80b6-48780218aa82</sv:value> - </sv:property> - <sv:property sv:name="icon" sv:type="String"> - <sv:value>/.resources/icons/16/gears.gif</sv:value> - </sv:property> - <sv:property sv:name="label" sv:type="String"> - <sv:value>Messages JCR</sv:value> - </sv:property> - <sv:property sv:name="onclick" sv:type="String"> - <sv:value>MgnlAdminCentral.showTree('messages');</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:Data" sv:type="String"> - <sv:value>MetaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>superuser</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2005-05-16T20:46:43.549+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-06-20T11:50:30.531Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-08-18T17:09:20.288+02:00</sv:value> - </sv:property> - </sv:node> -</sv:node> Deleted: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.basenames.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.basenames.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.basenames.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -1,146 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="basenames" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:content</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>ac73a05e-e7c3-4ec2-90a9-9a68c1042ebd</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-07-15T14:01:08.195Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:01:13.990Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:01:14.001Z</sv:value> - </sv:property> - </sv:node> - <sv:node sv:name="admin"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>6802fef7-bbed-4dd6-9c8e-e1b8069756d6</sv:value> - </sv:property> - <sv:property sv:name="basename" sv:type="String"> - <sv:value>info.magnolia.module.admininterface.messages</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-07-15T14:01:17.570Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:01:36.269Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:02:12.839Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="templating"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>b1c9de59-128d-4d8e-bfcf-f3fc5f02ad78</sv:value> - </sv:property> - <sv:property sv:name="basename" sv:type="String"> - <sv:value>info.magnolia.module.admininterface.messages_templating</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-07-15T14:01:17.570Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:01:44.913Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:02:18.430Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="templating-custom"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>58009318-ca00-43be-9b3d-62076ee92cce</sv:value> - </sv:property> - <sv:property sv:name="basename" sv:type="String"> - <sv:value>info.magnolia.module.admininterface.messages_templating_custom</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-07-15T14:01:17.570Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:02:29.547Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:02:56.069Z</sv:value> - </sv:property> - </sv:node> - </sv:node> -</sv:node> Deleted: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.locales.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.locales.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.locales.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -1,220 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="locales" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:content</sv:value> - </sv:property> - <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> - <sv:value>mix:lockable</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>42bfcab1-726a-4576-8c42-98052dd35e7d</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2008-07-15T14:39:20.864Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:39:25.135Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:39:25.151Z</sv:value> - </sv:property> - </sv:node> - <sv:node sv:name="it"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>19982d1e-7cd3-4c24-9385-0622da4e7a01</sv:value> - </sv:property> - <sv:property sv:name="country" sv:type="String"> - <sv:value/> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>it</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2007-05-10T17:29:33.876+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:39:40.745Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:39:40.759Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="en"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>5473d7e7-2359-4565-bca2-e30690292bee</sv:value> - </sv:property> - <sv:property sv:name="country" sv:type="String"> - <sv:value/> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>en</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2007-05-10T17:29:24.221+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:39:54.415Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:39:54.422Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="en_US"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>15998733-7d94-42cf-9b1b-4620b03d92a1</sv:value> - </sv:property> - <sv:property sv:name="country" sv:type="String"> - <sv:value>US</sv:value> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>en</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2007-05-10T17:29:24.221+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:40:12.510Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:40:17.971Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="de"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>cbe08170-3c02-454e-8cd2-9d13f4c2b7ec</sv:value> - </sv:property> - <sv:property sv:name="country" sv:type="String"> - <sv:value/> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>de</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2007-05-10T17:29:34.827+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:40:43.418Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:40:43.423Z</sv:value> - </sv:property> - </sv:node> - </sv:node> - <sv:node sv:name="fr"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:contentNode</sv:value> - </sv:property> - <sv:property sv:name="jcr:uuid" sv:type="String"> - <sv:value>ceb726d2-3e20-43c8-aa84-b919dfca630e</sv:value> - </sv:property> - <sv:property sv:name="country" sv:type="String"> - <sv:value/> - </sv:property> - <sv:property sv:name="language" sv:type="String"> - <sv:value>fr</sv:value> - </sv:property> - <sv:node sv:name="MetaData"> - <sv:property sv:name="jcr:primaryType" sv:type="Name"> - <sv:value>mgnl:metaData</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activated" sv:type="Boolean"> - <sv:value>false</sv:value> - </sv:property> - <sv:property sv:name="mgnl:activatorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> - </sv:property> - <sv:property sv:name="mgnl:creationdate" sv:type="Date"> - <sv:value>2007-05-10T17:29:34.957+02:00</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastaction" sv:type="Date"> - <sv:value>2008-07-15T14:40:52.502Z</sv:value> - </sv:property> - <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T14:40:52.508Z</sv:value> - </sv:property> - </sv:node> - </sv:node> -</sv:node> Modified: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesEdit.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesEdit.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesEdit.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -12,10 +12,19 @@ <sv:property sv:name="class" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmessages.pages.MessagesEditPage</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:node sv:name="MetaData"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -32,7 +41,7 @@ <sv:value>2008-07-10T13:14:27.562Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-10T13:14:27.573Z</sv:value> + <sv:value>2010-09-11T14:53:26.772+02:00</sv:value> </sv:property> </sv:node> </sv:node> Modified: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -12,10 +12,19 @@ <sv:property sv:name="class" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmessages.pages.ExtractMessagesFromDialogsPage</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:node sv:name="MetaData"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -23,7 +32,7 @@ <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> + <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:creationdate" sv:type="Date"> <sv:value>2008-06-18T15:49:04.038Z</sv:value> @@ -32,7 +41,7 @@ <sv:value>2008-07-10T13:14:27.562Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-08-13T17:27:16.936+02:00</sv:value> + <sv:value>2010-09-11T14:53:28.260+02:00</sv:value> </sv:property> </sv:node> </sv:node> Modified: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesImportExport.xml =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesImportExport.xml 2010-09-11 12:28:44 UTC (rev 3046) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesImportExport.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -12,10 +12,19 @@ <sv:property sv:name="class" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmessages.pages.MessagesImpExpPage</sv:value> </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:node sv:name="MetaData"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>mgnl:metaData</sv:value> </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> <sv:property sv:name="mgnl:activated" sv:type="Boolean"> <sv:value>false</sv:value> </sv:property> @@ -23,7 +32,7 @@ <sv:value>admin</sv:value> </sv:property> <sv:property sv:name="mgnl:authorid" sv:type="String"> - <sv:value>admin</sv:value> + <sv:value>superuser</sv:value> </sv:property> <sv:property sv:name="mgnl:creationdate" sv:type="Date"> <sv:value>2008-06-18T15:49:04.038Z</sv:value> @@ -32,7 +41,7 @@ <sv:value>2008-07-15T10:30:05.518Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2008-07-15T10:30:16.162Z</sv:value> + <sv:value>2010-09-11T14:53:29.669+02:00</sv:value> </sv:property> </sv:node> </sv:node> Copied: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.basenames.xml (from rev 3043, trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.basenames.xml) =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.basenames.xml (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.basenames.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="basenames" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:content</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>ac73a05e-e7c3-4ec2-90a9-9a68c1042ebd</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-07-15T14:01:08.195Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:01:13.990Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:01:14.001Z</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="admin"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>6802fef7-bbed-4dd6-9c8e-e1b8069756d6</sv:value> + </sv:property> + <sv:property sv:name="basename" sv:type="String"> + <sv:value>info.magnolia.module.admininterface.messages</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-07-15T14:01:17.570Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:01:36.269Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:02:12.839Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="templating"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>b1c9de59-128d-4d8e-bfcf-f3fc5f02ad78</sv:value> + </sv:property> + <sv:property sv:name="basename" sv:type="String"> + <sv:value>info.magnolia.module.admininterface.messages_templating</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-07-15T14:01:17.570Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:01:44.913Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:02:18.430Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="templating-custom"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>58009318-ca00-43be-9b3d-62076ee92cce</sv:value> + </sv:property> + <sv:property sv:name="basename" sv:type="String"> + <sv:value>info.magnolia.module.admininterface.messages_templating_custom</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-07-15T14:01:17.570Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:02:29.547Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:02:56.069Z</sv:value> + </sv:property> + </sv:node> + </sv:node> +</sv:node> Copied: trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.locales.xml (from rev 3043, trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.locales.xml) =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.locales.xml (rev 0) +++ trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages-nooverwrite/config.modules.messages.locales.xml 2010-09-11 13:34:22 UTC (rev 3047) @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="locales" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:content</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>42bfcab1-726a-4576-8c42-98052dd35e7d</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2008-07-15T14:39:20.864Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:39:25.135Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:39:25.151Z</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="it"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>19982d1e-7cd3-4c24-9385-0622da4e7a01</sv:value> + </sv:property> + <sv:property sv:name="country" sv:type="String"> + <sv:value/> + </sv:property> + <sv:property sv:name="language" sv:type="String"> + <sv:value>it</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-05-10T17:29:33.876+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:39:40.745Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:39:40.759Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="en"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>5473d7e7-2359-4565-bca2-e30690292bee</sv:value> + </sv:property> + <sv:property sv:name="country" sv:type="String"> + <sv:value/> + </sv:property> + <sv:property sv:name="language" sv:type="String"> + <sv:value>en</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-05-10T17:29:24.221+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:39:54.415Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:39:54.422Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="en_US"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>15998733-7d94-42cf-9b1b-4620b03d92a1</sv:value> + </sv:property> + <sv:property sv:name="country" sv:type="String"> + <sv:value>US</sv:value> + </sv:property> + <sv:property sv:name="language" sv:type="String"> + <sv:value>en</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-05-10T17:29:24.221+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:40:12.510Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:40:17.971Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="de"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>cbe08170-3c02-454e-8cd2-9d13f4c2b7ec</sv:value> + </sv:property> + <sv:property sv:name="country" sv:type="String"> + <sv:value/> + </sv:property> + <sv:property sv:name="language" sv:type="String"> + <sv:value>de</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-05-10T17:29:34.827+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:40:43.418Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:40:43.423Z</sv:value> + </sv:property> + </sv:node> + </sv:node> + <sv:node sv:name="fr"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>ceb726d2-3e20-43c8-aa84-b919dfca630e</sv:value> + </sv:property> + <sv:property sv:name="country" sv:type="String"> + <sv:value/> + </sv:property> + <sv:property sv:name="language" sv:type="String"> + <sv:value>fr</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-05-10T17:29:34.957+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-07-15T14:40:52.502Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2008-07-15T14:40:52.508Z</sv:value> + </sv:property> + </sv:node> + </sv:node> +</sv:node> Added: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-edit.png =================================================================== (Binary files differ) Property changes on: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-edit.png ___________________________________________________________________ Added: svn:mime-type + image/png Added: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-export.png =================================================================== (Binary files differ) Property changes on: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-16-export.png ___________________________________________________________________ Added: svn:mime-type + image/png Added: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-24-msg.png =================================================================== (Binary files differ) Property changes on: trunk/openutils-mgnlmessages/src/main/resources/mgnl-resources/messages/icons/ico-24-msg.png ___________________________________________________________________ Added: svn:mime-type + image/png Copied: trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/openutils/mgnlmessages/lang/messages_en.properties (from rev 3043, trunk/openutils-mgnlmessages/src/main/resources/mgnl-messages/messages/messages_en.properties) =================================================================== --- trunk/openutils-mgnlmessages/src/main/resources/net/sourceforge/... [truncated message content] |
From: <fg...@us...> - 2010-09-11 12:28:51
|
Revision: 3046 http://openutils.svn.sourceforge.net/openutils/?rev=3046&view=rev Author: fgiust Date: 2010-09-11 12:28:44 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MESSAGES-7 Message lookup can be slow with several modules installed Modified Paths: -------------- trunk/openutils-mgnlmessages/pom.xml trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java Removed Paths: ------------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java Modified: trunk/openutils-mgnlmessages/pom.xml =================================================================== --- trunk/openutils-mgnlmessages/pom.xml 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/pom.xml 2010-09-11 12:28:44 UTC (rev 3046) @@ -69,17 +69,17 @@ <dependency> <groupId>info.magnolia</groupId> <artifactId>magnolia-core</artifactId> - <version>4.2.3</version> + <version>${magnolia.version}</version> </dependency> <dependency> <groupId>info.magnolia</groupId> <artifactId>magnolia-module-admininterface</artifactId> - <version>4.2.3</version> + <version>${magnolia.version}</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnltasks</artifactId> - <version>4.1.0</version> + <version>4.1.2</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> @@ -124,4 +124,7 @@ </snapshots> </repository> </repositories> + <properties> + <magnolia.version>4.3.6</magnolia.version> + </properties> </project> \ No newline at end of file Deleted: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -1,107 +0,0 @@ -/** - * - * Magnolia Messages Module (http://www.openmindlab.com/lab/products/groovy.html) - * Copyright(C) null-2010, Openmind S.r.l. http://www.openmindonline.it - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package net.sourceforge.openutils.mgnlmessages.i18n; - -import info.magnolia.cms.i18n.AbstractMessagesImpl; -import info.magnolia.cms.i18n.Messages; -import info.magnolia.module.ModuleRegistry; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Set; - - -/** - * @author molaschi - * @version $Id: $ - */ -public class ModulePropertyMessagesImpl extends AbstractMessagesImpl -{ - - List<Messages> messages = new ArrayList<Messages>(); - - /** - * @param basename - * @param locale - */ - @SuppressWarnings("unchecked") - public ModulePropertyMessagesImpl(Locale locale) - { - super("", locale); - ModuleRegistry reg = ModuleRegistry.Factory.getInstance(); - for (String name : (Set<String>) reg.getModuleNames()) - { - messages.add(new SimpleMessagesImpl("mgnl-messages." + name + ".messages", locale)); - } - } - - /** - * {@inheritDoc} - */ - public String get(String key) - { - String value; - for (Messages m : messages) - { - value = m.get(key); - if (value != null) - { - return value; - } - } - if (key == null) - { - return "??????"; - } - return "???" + key + "???"; - } - - /** - * {@inheritDoc} - */ - @SuppressWarnings("unchecked") - public Iterator keys() - { - List<String> keys = new ArrayList<String>(); - for (Messages m : messages) - { - Iterator it = m.keys(); - while (it.hasNext()) - { - keys.add((String) it.next()); - } - } - return keys.iterator(); - } - - /** - * {@inheritDoc} - */ - public void reload() throws Exception - { - for (Messages m : messages) - { - m.reload(); - } - } - -} Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -22,7 +22,6 @@ import info.magnolia.cms.i18n.DefaultMessagesManager; import info.magnolia.cms.i18n.Messages; import info.magnolia.cms.i18n.MessagesChain; -import info.magnolia.cms.i18n.MessagesManager; /** @@ -38,17 +37,11 @@ @Override protected Messages newMessages(MessagesID messagesID) { - Messages msgs = new MessagesChain(new RepositoryMessagesImpl(messagesID.getBasename(), messagesID.getLocale())); - ((MessagesChain) msgs).chain(new ModulePropertyMessagesImpl(messagesID.getLocale())); - ((MessagesChain) msgs).chain(new OpenutilsMessagesImpl(messagesID.getBasename(), messagesID.getLocale())); - if (!getDefaultLocale().equals(messagesID.getLocale())) - { - msgs = ((MessagesChain) msgs).chain(MessagesManager.getMessages( - messagesID.getBasename(), - getDefaultLocale())); - } - return msgs; + Messages parentMessages = super.newMessages(messagesID); + Messages repositoryMsg = new RepositoryMessagesImpl(messagesID.getBasename(), messagesID.getLocale()); + + return new MessagesChain(repositoryMsg).chain(parentMessages); } } Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -46,7 +46,6 @@ import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; -import net.sourceforge.openutils.mgnlmessages.i18n.ModulePropertyMessagesImpl; import net.sourceforge.openutils.mgnlmessages.i18n.RepositoryMessagesImpl; import org.apache.commons.io.IOUtils; @@ -111,8 +110,7 @@ cell.setCellValue(localeCode); index++; - Messages mc = new MessagesChain(new RepositoryMessagesImpl(MessagesManager.DEFAULT_BASENAME, locale)) - .chain(new ModulePropertyMessagesImpl(locale)); + Messages mc = new MessagesChain(new RepositoryMessagesImpl(MessagesManager.DEFAULT_BASENAME, locale)); for (String basename : MessagesConfigurationManager.getBaseNames()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |