The following document contains the results of PMD's CPD 4.2.2.
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/ListRenderer.java | 187 |
| au/com/whitesquare/waf/renderer/newlr/ListRenderer.java | 187 |
catch (Exception e)
{
log.error(e.getMessage(),e);
}
}
/**
* @param page2
* @return
*/
private String prefPlus(String page2)
{
if (prefix != null)
{
return prefix + page2;
}
return page2;
}
/**
* This method retrieves the preference data for this list. It sets up
* which columns are visible, the default sort column and direction.
*
* @param pref the preferences to use to configure the renderer.
*/
protected void processPreference(RenderPreference pref)
{
currentPage = 0;
if (pref == null)
{
throw new RuntimeException("Preference must not be null.");
}
if (pref.getColumns() != null)
{
StringTokenizer tok = new StringTokenizer(pref.getColumns(), ":");
int size = tok.countTokens();
visibleColumns = new int[size];
for (int i=0;i<visibleColumns.length;i++)
{
visibleColumns[i] = Integer.parseInt(tok.nextToken());
}
}
if (pref.getSort() != null)
{
sort = pref.getSort();
}
if (pref.isAsc() != null)
{
asc = pref.isAsc().booleanValue();
}
if (pref.getPageSize() != null)
{
pageSize = pref.getPageSize().intValue();
}
if (visibleColumns == null)
{
// configure column selectable
visibleColumns = new int[getTotalColumnCount()];
for (int i=0;i<visibleColumns.length;i++)
{
visibleColumns[i] = i;
}
}
}
protected void addSearchField(SearchFieldRenderer data, String secResource)
{
searches.add(data.getKey());
searchRenderers.put(data.getKey(), data);
if (secResource != null)
{
searchSecurity.put(data.getKey(), secResource);
}
}
protected void addSearchField(SearchFieldRenderer data)
{
addSearchField(data, null);
}
public int getSearchFieldCount()
{
return searches.size();
}
public String getSearchFieldKey(int i)
{
return (String)searches.get(i);
}
public SearchFieldRenderer getSearchFieldRenderer(int i)
{
return (SearchFieldRenderer) searchRenderers.get(getSearchFieldKey(i));
}
public String getSearchFieldSecurity(int col)
{
return (String) searchSecurity.get(getSearchFieldKey(col));
}
public String getSearchFieldRequestValue(int i)
{
String key = (String) searches.get(i);
return getString(prefPlus(FILTER_PREFIX+key));
}
protected void addSearchFieldToList(String key, String value, SearchFieldRenderer data) // throws SearchFieldException
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/ListRenderer.java | 93 |
| au/com/whitesquare/waf/renderer/newlr/ListRenderer.java | 93 |
protected abstract Listable<T> configureList(String sortKey, boolean isAscending);
public abstract boolean isHeadingSortable(int column);
protected abstract String renderHeading(int column);
/**
* @param columnKey
* @return
*/
protected abstract Object getValue(int column);
public boolean isColumnSortable(int column)
{
return isHeadingSortable(displayToActual(column));
}
public void setRenderPreferencable(RenderPreferencable prefs)
{
this.prefs = prefs;
}
public void configure()
{
configure(false, false);
}
/**
* This method is called by the Table tag to setup and load the data,
* the list at this stage should not have been loaded, as it is up to
* this method to add in the sort options and filter fields.<br>
* This method also looks after loading the correct page for the multipage
* logic.
*/
public void configure(boolean ignoreSort, boolean showAll)
{
if (isAddedToCommand() && !ignoreSort)
{
// Setup the sort
if (getString(prefPlus(SORT)) != null)
{
sort = getString(prefPlus(SORT));
}
if (getBoolean(prefPlus(ASC)) != null)
{
asc = getBoolean(prefPlus(ASC)).booleanValue();
}
}
list = configureList(sort, asc);
if (isAddedToCommand() && !showAll)
{
// Setup the page
if (getInteger(prefPlus(COUNT)) != null)
{
pageSize = getInteger(prefPlus(COUNT)).intValue();
}
if (getInteger(prefPlus(PAGE)) != null)
{
currentPage = getInteger(prefPlus(PAGE)).intValue();
}
}
// Only partially load if we have paging enabled.
if (!showAll)
{
int start = pageSize * currentPage;
list.setStartIndex(start);
list.setLoadLength(pageSize);
}
try
{
if (isAddedToCommand())
{
// Configure the search fields
for (int i=0; i<searches.size(); i++)
{
String key = (String) searches.get(i);
SearchFieldRenderer ren = (SearchFieldRenderer) searchRenderers.get(key);
String val = getString(prefPlus(FILTER_PREFIX+key));
if (val != null)
{
addSearchFieldToList(key, val, ren);
}
}
}
list.loadEntries();
}
catch (Exception e)
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/ListRenderer.java | 303 |
| au/com/whitesquare/waf/renderer/newlr/ListRenderer.java | 303 |
{
list.addSearchField(key, data.getConstraint(), value);
}
protected void addColumn(String key, ElementRenderer data, String secResource)
{
columns.add(key);
columnRenderers.put(key, data);
addRequestParameter(prefPlus(FILTER_PREFIX+key), RequestParameter.STRING, false, prefPlus(FILTER_PREFIX+key));
if (secResource != null)
{
columnSecurity.put(key, secResource);
}
}
protected void addColumn(String key, ElementRenderer data)
{
addColumn(key, data, null);
}
protected int getTotalColumnCount()
{
return columns.size();
}
public int getColumnCount()
{
return visibleColumns.length;
}
// To support column selectable
protected int displayToActual(int col)
{
return visibleColumns[col];
}
public String renderColumnHeading(int col)
{
return renderHeading(displayToActual(col));
}
public String getColumnKey(int col)
{
return (String) columns.get(displayToActual(col));
}
protected String getColumnKeyAct(int col)
{
return (String) columns.get(col);
}
public String getColumnSecurity(int col)
{
return (String) columnSecurity.get(getColumnKey(col));
}
protected String getColumnSecurityAct(int col)
{
return (String) columnSecurity.get(getColumnKeyAct(col));
}
public String renderColumn(int col)
{
return getDataRenderer(col).render(getElement(col));
}
public String renderTextColumn(int col)
{
return getDataRenderer(col).renderText(getElement(col));
}
public RendererMetaData getMetaData()
{
return new DefaultMetaData(this);
}
/**
* @param col
* @return
*/
private Object getElement(int col)
{
return getValue(displayToActual(col));
}
public T getCurrentBO()
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/ListRenderer.java | 481 |
| au/com/whitesquare/waf/renderer/newlr/ListRenderer.java | 474 |
if (list.getTotalAvailable()%pageSize !=0)
{
numPages++;
}
return numPages;
}
public String getLayout()
{
return activeLayout;
}
/**
* @param layoutStyle
*/
public void switchLayout(String layoutStyle)
{
activeLayout = layoutStyle;
RenderPreference pref = null;
if (prefs != null)
{
pref = prefs.getPreference(layoutStyle, getClass().getName());
}
if (pref == null)
{
pref = getDefaultPreference(layoutStyle);
}
processPreference(pref);
}
/**
* @param layoutStyle
* @return
*/
protected abstract RenderPreference getDefaultPreference(String layoutStyle);
/**
* @return Returns the asc.
*/
public boolean isAsc()
{
return asc;
}
/**
* @return Returns the sort.
*/
public String getSort()
{
return sort;
}
/**
* @param i
* @return
*/
public String renderPageLink(int i)
{
StringBuffer sbuf = new StringBuffer();
sbuf.append("<a href=\"javascript:document.");
sbuf.append(form.getName());
sbuf.append(".");
if (getPrefix() != null)
{
sbuf.append(getPrefix());
}
sbuf.append(ListRenderer.PAGE);
sbuf.append(".value='");
sbuf.append(i);
sbuf.append("';document.");
sbuf.append(form.getName());
sbuf.append(".submit();");
sbuf.append("\">");
return sbuf.toString();
}
/**
* @param form
*/
public void setFormTag(FormRendererTag form)
{
this.form = form;
}
/**
* This method is to be overwridden in sub-classes to enable action
* items to be rendered. The value returned from this method is the
* maximum number of actions that could be displayed, it depends on
* the return values from the other associated methods as to how many
* actions are actually rendered.<br>
* <br>
* The logic of what is rendered is as follows:<br>
* For each row, iterate through the ItemActionCount()<br>
* Get the SecurityResource for the specific ItemAction<br>
* If it is null then its valid, otherwise check the resource against
* a ResourceAccessor.<br>
* If invalid, then render nothing and iterate to the next ItemAction.<br>
* If valid then get the Action Name, ImageURL and URL.<br>
* If the Action name and ImageURL are null then render nothing and iterate to the next ItemAction.<br>
* Otherwise either render a link (href) if a URL exists, or just text if
* it doesn't. If there is an ImageURL then render an Image tag with the
* name as the alt, or just the name if there is no ImageURL.<br>
* Then iterate to the next ItemAction.<br>
*
* @return the number of actions for each row.
*/
public int getItemActionCount()
{
return 0;
}
/**
* This method is to be overwridden in sub-classes to enable action
* items to be rendered. The value returned from this method is the security
* resource key for the selected ItemAction. If the action is availiable
* to all, then the result should be null, otherwise it should be a resource
* key specific to the ItemAction.<br>
* <br>
* The logic of what is rendered is as follows:<br>
* For each row, iterate through the ItemActionCount()<br>
* Get the SecurityResource for the specific ItemAction<br>
* If it is null then its valid, otherwise check the resource against
* a ResourceAccessor.<br>
* If invalid, then render nothing and iterate to the next ItemAction.<br>
* If valid then get the Action Name, ImageURL and URL.<br>
* If the Action name and ImageURL are null then render nothing and iterate to the next ItemAction.<br>
* Otherwise either render a link (href) if a URL exists, or just text if
* it doesn't. If there is an ImageURL then render an Image tag with the
* name as the alt, or just the name if there is no ImageURL.<br>
* Then iterate to the next ItemAction.<br>
*
* @param i the ItemAction to get the security resource for.
* @return the Security Resource key for the given ItemAction.
*/
public String getItemActionSecurityResource(int i, T theBO)
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/ListRenderer.java | 39 |
| au/com/whitesquare/waf/renderer/newlr/ListRenderer.java | 39 |
private Listable<T> list;
// For the columns
protected List columns = new ArrayList();
protected Map columnRenderers = new HashMap();
protected Map columnSecurity = new HashMap();
// For the SearchFields
protected List searches = new ArrayList();
protected Map searchRenderers = new HashMap();
protected Map searchSecurity = new HashMap();
protected int count;
// Column Selectable
protected int [] visibleColumns;
// Multipage stuff
protected int pageSize = 10;
protected int currentPage = 0;
protected String prefix = null;
// Sort
protected boolean asc;
protected String sort;
// Customisation
private RenderPreferencable prefs;
protected ResourceAccessor accessor;
private String activeLayout;
private FormRendererTag form;
public ListRenderer()
{
this(null);
}
/**
*
*/
public ListRenderer(String prefix)
{
super();
this.prefix = prefix;
addRequestParameter(prefPlus(PAGE), RequestParameter.INTEGER, false, prefPlus(PAGE));
addRequestParameter(prefPlus(COUNT), RequestParameter.INTEGER, false, prefPlus(COUNT));
addRequestParameter(prefPlus(SORT), RequestParameter.STRING, false, prefPlus(SORT));
addRequestParameter(prefPlus(ASC), RequestParameter.BOOLEAN, false, prefPlus(ASC));
}
protected abstract Listable<T> configureList(String sortKey, boolean isAscending);
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/tag/renderer/HeadingRendererTag.java | 113 |
| au/com/whitesquare/waf/tag/renderer/HeadingRendererTag.java | 160 |
{
buffer.append("<a ");
// Check to see if some sort of style has been applied to the links
// If a column renderer has been defined with a class,
// then inherit that style into the <a> tag.
// if not then see if a global heading linkstyle has been defined.
if (colR != null && colR.clazz != null)
{
buffer.append("class='");
buffer.append(colR.clazz);
buffer.append("' ");
}
else if (linkStyle != null)
{
buffer.append("class='");
buffer.append(linkStyle);
buffer.append("' ");
}
buffer.append("href=\"javascript:document.");
buffer.append(formName);
buffer.append(".");
if (renderer.getPrefix() != null)
{
buffer.append(renderer.getPrefix());
}
buffer.append(ListRenderer.SORT);
buffer.append(".value='");
buffer.append(key);
buffer.append("';document.");
buffer.append(formName);
buffer.append(".");
if (renderer.getPrefix() != null)
{
buffer.append(renderer.getPrefix());
}
buffer.append(ListRenderer.ASC);
buffer.append(".value='true';document."); // default sort true
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/DefaultMetaData.java | 9 |
| au/com/whitesquare/waf/renderer/newlr/DefaultMetaData.java | 11 |
public class DefaultMetaData implements RendererMetaData
{
private final ListRenderer renderer;
/**
* @param renderer
*/
public DefaultMetaData(ListRenderer renderer)
{
this.renderer = renderer;
}
/**
* @see au.com.whitesquare.waf.renderer.RendererMetaData#getColumnCount()
*/
public int getColumnCount()
{
return renderer.getTotalColumnCount();
}
/**
* @see au.com.whitesquare.waf.renderer.RendererMetaData#isColumnAccessible(int)
*/
public boolean isColumnAccessible(int i)
{
String sec = renderer.getColumnSecurityAct(i);
if (sec == null ||
(renderer.getAccessor() != null && renderer.getAccessor().isAuthorised(sec)))
{
return true;
}
return false;
}
/**
* @see au.com.whitesquare.waf.renderer.RendererMetaData#getColumnKey(int)
*/
public String getColumnKey(int i)
{
return renderer.getColumnKeyAct(i);
}
/**
* @see au.com.whitesquare.waf.renderer.RendererMetaData#getColumnName(int)
*/
public String getColumnName(int i)
{
return renderer.renderHeading(i);
}
public int getColumnIndex(String key)
{
for (int i=0; i<renderer.columns.size(); i++)
{
if (renderer.columns.get(i).equals(key))
{
return i;
}
}
return -1;
}
}
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/search/BooleanIntSRenderer.java | 18 |
| au/com/whitesquare/waf/renderer/search/NumericSRenderer.java | 20 |
public NumericSRenderer(String key, String name)
{
super(key, name);
}
/**
* @throws JspException
* @see au.com.whitesquare.waf.renderer.search.SearchFieldRenderer#actualRender(java.lang.Object)
*/
public void render(PageContext pageContext, String filterRequestValue, SearchLayoutRenderer renderer) throws JspException
{
try
{
if (renderer.getNameStyle() != null)
{
pageContext.getOut().print("<span class='");
pageContext.getOut().print(renderer.getNameStyle());
pageContext.getOut().print("'>");
}
pageContext.getOut().print(getName()+": ");
if (renderer.getNameStyle() != null)
{
pageContext.getOut().print("</span> ");
}
}
catch (IOException e)
{
getLogger().error(e.getMessage(), e);
}
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/layout/CheckboxRenderer.java | 17 |
| au/com/whitesquare/waf/renderer/layout/RadioButtonRenderer.java | 19 |
StringBuffer text = new StringBuffer("<input type=\"radio\" ");
if (getName(element) != null)
{
text.append("name=\"");
text.append(getName(element));
text.append("\" ");
}
if (getOnclick(element) != null)
{
text.append("onclick=\"");
text.append(getOnclick(element));
text.append("\" ");
}
if (isChecked(element))
{
text.append("checked");
}
text.append(">");
return text.toString();
}
public abstract String getName(Object element);
public abstract boolean isChecked(Object element);
public abstract String getOnclick(Object element);
}
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/renderer/search/BooleanIntSRenderer.java | 18 |
| au/com/whitesquare/waf/renderer/search/TextSRenderer.java | 20 |
public TextSRenderer(String key, String name)
{
super(key, name);
}
/**
* @throws JspException
* @see au.com.whitesquare.waf.renderer.search.SearchFieldRenderer#actualRender(java.lang.Object)
*/
public void render(PageContext pageContext, String filterRequestValue, SearchLayoutRenderer renderer) throws JspException
{
try
{
if (renderer.getNameStyle() != null)
{
pageContext.getOut().print("<span class='");
pageContext.getOut().print(renderer.getNameStyle());
pageContext.getOut().print("'>");
}
pageContext.getOut().print(getName()+": ");
if (renderer.getNameStyle() != null)
{
pageContext.getOut().print("</span>");
| |
| File | Line |
|---|---|
| au/com/whitesquare/waf/command/multipage/html/DefaultMultiPageHTMLRender.java | 37 |
| au/com/whitesquare/waf/command/multipage/html/EnhancedMultipageHTMLRender.java | 65 |
(i <= (multipage.getCurrentPage() + boundary) || (multipage.getCurrentPage() + boundary) >= multipage.getNumPages()))
{
// This is for each of the links.
sbuf.append(" ");
if (i != multipage.getCurrentPage())
{
sbuf.append("<a href='"+ multipage.getCommandKey() +"?PRE=");
sbuf.append(multipage.getPrefix());
sbuf.append("&"+BaseMultipageCommand.PAGE+"=");
sbuf.append(i);
sbuf.append("'>");
}
sbuf.append((i + 1));
if (i != multipage.getCurrentPage())
{
sbuf.append("</a>");
}
sbuf.append(" ");
}
}
| |