From: <die...@us...> - 2010-06-21 15:39:31
|
Revision: 2702 http://openutils.svn.sourceforge.net/openutils/?rev=2702&view=rev Author: diego_schivo Date: 2010-06-21 15:39:25 +0000 (Mon, 21 Jun 2010) Log Message: ----------- CONTROLS-31 refactoring Modified Paths: -------------- trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/UUIDLinkGridColumnType.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGridSaveHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/grid/MediaGridColumnType.java Modified: trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties =================================================================== --- trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/magnolia-test-webapp/src/main/resources/net/sourceforge/openutils/mgnltestwebapp/lang/messages.properties 2010-06-21 15:39:25 UTC (rev 2702) @@ -1,9 +1,9 @@ -testwebapp.dialogs.samples-grid.columnA.header=Column A -testwebapp.dialogs.samples-grid.columnB.header=Column B -testwebapp.dialogs.samples-grid.columnC.header=Column C -testwebapp.dialogs.samples-grid.columnD.header=Column D -testwebapp.dialogs.samples-grid.columnE.header=Column E -testwebapp.dialogs.samples-grid.columnF.header=Column F -testwebapp.dialogs.samples-grid.columnG.header=Column G -testwebapp.dialogs.samples-grid.columnH.header=Column H -testwebapp.dialogs.samples-grid.columnI.header=Column I +testwebapp.dialogs.samples-grid.columnA.header=A +testwebapp.dialogs.samples-grid.columnB.header=B +testwebapp.dialogs.samples-grid.columnC.header=C +testwebapp.dialogs.samples-grid.columnD.header=D +testwebapp.dialogs.samples-grid.columnE.header=E +testwebapp.dialogs.samples-grid.columnF.header=F +testwebapp.dialogs.samples-grid.columnG.header=G +testwebapp.dialogs.samples-grid.columnH.header=H +testwebapp.dialogs.samples-grid.columnI.header=I Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/AbstractGridColumnType.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -84,9 +84,8 @@ /** * {@inheritDoc} */ - public String processValueOnLoad(String value, Content colConfig) + public void processColumnOnLoad(String[] column, Content colConfig) { - return value; } /** Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/CheckboxGridColumnType.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -63,9 +63,10 @@ /** * {@inheritDoc} */ - public String processValueOnLoad(String value, Content colConfig) + public void processColumnOnLoad(String[] column, Content colConfig) { - return value; + // TODO Auto-generated method stub + } /** Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/GridColumnType.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -29,23 +29,20 @@ /** + * Defines a column of the grid control. * @author dschivo * @version $Id$ */ public interface GridColumnType { - /** - * Returns the headSnippet. - * @return the headSnippet - */ public String getHeadSnippet(); public String drawSupportHtml(String propertyName, int colIndex, Map colmap, Messages msgs); public String drawColumnJs(String propertyName, int colIndex, Map colmap, Messages msgs); - public String processValueOnLoad(String value, Content colConfig); + public void processColumnOnLoad(String[] column, Content colConfig); public void processColumnOnSave(String[] column, Content colConfig, String propertyName, Content parentNode) throws RepositoryException, AccessDeniedException; Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/UUIDLinkGridColumnType.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/UUIDLinkGridColumnType.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/configuration/UUIDLinkGridColumnType.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -58,17 +58,19 @@ * {@inheritDoc} */ @Override - public String processValueOnLoad(String value, Content colConfig) + public void processColumnOnLoad(String[] column, Content colConfig) { String repository = StringUtils.defaultIfEmpty( NodeDataUtil.getString(colConfig, "repository"), ContentRepository.WEBSITE); - Content node = ContentUtil.getContentByUUID(repository, value); - if (node != null) + for (int index = 0; index < column.length; index++) { - value = node.getHandle(); + Content node = ContentUtil.getContentByUUID(repository, column[index]); + if (node != null) + { + column[index] = node.getHandle(); + } } - return value; } /** Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -87,39 +87,23 @@ String value = getValue(); if (value != null) { - StringBuffer sbValue = new StringBuffer(value.length()); - StringBuffer sbLine = new StringBuffer(); - for (String line : StringUtils.splitPreserveAllTokens(value, '\n')) + List<String[]> columns = DialogGridSaveHandler.valueToColumns(value); + int colIndex = 0; + for (String[] column : columns) { - line = StringUtils.removeEnd(line, "\r"); - int colIndex = 0; - for (String token : StringUtils.splitPreserveAllTokens(line, '\t')) + if (colIndex < colConfigs.size()) { - if (colIndex < colConfigs.size()) + Content colConfig = colConfigs.get(colIndex); + String colTypeName = NodeDataUtil.getString(colConfig, "type"); + GridColumnType colType = colTypeMap.get(colTypeName); + if (colType != null) { - Content colConfig = colConfigs.get(colIndex); - String colTypeName = NodeDataUtil.getString(colConfig, "type"); - GridColumnType colType = colTypeMap.get(colTypeName); - if (colType != null) - { - token = colType.processValueOnLoad(token, colConfig); - } + colType.processColumnOnLoad(column, colConfig); } - if (colIndex > 0) - { - sbLine.append('\t'); - } - sbLine.append(token); - colIndex++; } - if (sbValue.length() > 0) - { - sbValue.append('\n'); - } - sbValue.append(sbLine); - sbLine.setLength(0); + colIndex++; } - value = new String(sbValue); + value = DialogGridSaveHandler.columnsToValue(columns); } parameters.put("gridValue", value); } Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGridSaveHandler.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGridSaveHandler.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGridSaveHandler.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -48,8 +48,9 @@ public class DialogGridSaveHandler implements FieldSaveHandler { - public static List<String[]> rowsToColumns(String[] allRows) + public static List<String[]> valueToColumns(String value) { + String[] allRows = StringUtils.splitPreserveAllTokens(value, '\n'); List<String[]> columns = new ArrayList<String[]>(); int rowIndex = 0; for (String row : allRows) @@ -120,8 +121,7 @@ Map<String, GridColumnType> colTypeMap = GridColumnTypeManager.getInstance().getColumnTypes(); - String[] allRows = StringUtils.splitPreserveAllTokens(value, '\n'); - List<String[]> columns = rowsToColumns(allRows); + List<String[]> columns = valueToColumns(value); int colIndex = 0; for (Content colConfig : colConfigs) Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/grid/MediaGridColumnType.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/grid/MediaGridColumnType.java 2010-06-21 15:29:07 UTC (rev 2701) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/grid/MediaGridColumnType.java 2010-06-21 15:39:25 UTC (rev 2702) @@ -78,18 +78,23 @@ * {@inheritDoc} */ @Override - public String processValueOnLoad(String value, Content colConfig) + public void processColumnOnLoad(String[] column, Content colConfig) { String valueType = StringUtils.defaultIfEmpty(NodeDataUtil.getString(colConfig, "valueType"), "uuid"); if ("uuid".equals(valueType)) { - if (StringUtils.startsWith(value, "/")) + for (int index = 0; index < column.length; index++) { - Content node = ContentUtil.getContentByUUID(MediaModule.REPO, value); - value = node != null ? node.getUUID() : value; + if (StringUtils.startsWith(column[index], "/")) + { + Content node = ContentUtil.getContentByUUID(MediaModule.REPO, column[index]); + if (node != null) + { + column[index] = node.getUUID(); + } + } } } - return value; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |