<artifactId>jsr250-api</artifactId>
</dependency>
- <dependency>
- <groupId>org.extremecomponents</groupId>
- <artifactId>extremecomponents</artifactId>
- <version>1.0.1</version>
- </dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-bean-collections</artifactId>
org.apache.commons.lang;version="[2.6,3)",
org.apache.velocity*;version="[1.7,2)",
org.codehaus.plexus.util;version="[3,4)",
- org.extremecomponents*;version="[1,2)",
org.springframework*;version="[3,4)",
org.slf4j;resolution:=optional
</Import-Package>
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import org.extremecomponents.table.bean.Column;
-import org.extremecomponents.table.cell.AbstractCell;
-import org.extremecomponents.table.core.TableModel;
-import org.extremecomponents.table.view.html.BuilderUtils;
-
-/**
- * CheckboxImageCell
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class CheckboxImageCell
- extends AbstractCell
-{
-
- private static final String CHECKBOX_TRUE = "icon_success_sml";
-
- private static final String CHECKBOX_FALSE = "checkbox-false";
-
- protected String getCellValue( TableModel model, Column column )
- {
- Object value = column.getPropertyValue();
- if ( value == null )
- {
- return "";
- }
-
- Boolean bool = (Boolean) value;
-
- String cellValue = "<img src=\"";
-
- if ( bool.booleanValue() )
- {
- cellValue = cellValue + BuilderUtils.getImage( model, CHECKBOX_TRUE );
- }
- else
- {
- cellValue = cellValue + BuilderUtils.getImage( model, CHECKBOX_FALSE );
- }
-
- cellValue = cellValue + "\" alt=\"" + bool.toString() + "\"/>";
-
- return cellValue;
- }
-}
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import org.apache.commons.lang.StringUtils;
-import org.extremecomponents.table.bean.Column;
-import org.extremecomponents.table.cell.AbstractCell;
-import org.extremecomponents.table.core.TableModel;
-
-/**
- * MailtoCell
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class MailtoCell
- extends AbstractCell
-{
-
- protected String getCellValue( TableModel model, Column column )
- {
- String value = column.getPropertyValueAsString();
- if ( StringUtils.isBlank( value ) )
- {
- return "";
- }
-
- return "<a href=\"mailto:" + value + "\">" + value + "</a>";
- }
-
-}
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.archiva.redback.integration.util.UserComparator;
-import org.extremecomponents.table.callback.ProcessRowsCallback;
-import org.extremecomponents.table.core.TableConstants;
-import org.extremecomponents.table.core.TableModel;
-import org.extremecomponents.table.limit.Sort;
-
-/**
- * ProcessUserRowsCallback - Efficient and safe sort callback for user manager provided user lists.
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class ProcessUserRowsCallback
- extends ProcessRowsCallback
-{
-
- @SuppressWarnings("unchecked")
- public Collection sortRows( TableModel model, Collection rows )
- throws Exception
- {
- boolean sorted = model.getLimit().isSorted();
-
- if ( !sorted )
- {
- return rows;
- }
-
- Sort sort = model.getLimit().getSort();
- String property = sort.getProperty();
- String sortOrder = sort.getSortOrder();
-
- System.out.println( "SORTING: " + property + " - " + sortOrder );
-
- UserComparator comparator = new UserComparator( property, TableConstants.SORT_ASC.equals( sortOrder ) );
- Collections.sort( (List) rows, comparator );
-
- return rows;
- }
-
-}
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import org.apache.commons.lang.StringUtils;
-import org.extremecomponents.table.bean.Column;
-import org.extremecomponents.table.cell.Cell;
-import org.extremecomponents.table.core.TableConstants;
-import org.extremecomponents.table.core.TableModel;
-import org.extremecomponents.table.view.html.TableActions;
-import org.extremecomponents.util.HtmlBuilder;
-
-/**
- * SecurityFilterCell
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class SecurityFilterCell
- implements Cell
-{
- public String getExportDisplay( TableModel model, Column column )
- {
- return null;
- }
-
- public String getHtmlDisplay( TableModel model, Column column )
- {
- HtmlBuilder html = new HtmlBuilder();
-
- html.td( 2 );
-
- if ( StringUtils.isNotEmpty( column.getFilterClass() ) )
- {
- html.styleClass( column.getFilterClass() );
- }
-
- if ( StringUtils.isNotEmpty( column.getFilterStyle() ) )
- {
- html.style( column.getFilterStyle() );
- }
-
- if ( StringUtils.isNotEmpty( column.getWidth() ) )
- {
- html.width( column.getWidth() );
- }
-
- html.close();
-
- html.div();
- html.styleClass( "filterInputGroup" );
- html.close();
-
- if ( !column.isFilterable() )
- {
- html.append( "" );
- }
- else
- {
- html.append( input( model, column ) );
- }
-
- html.divEnd();
-
- html.tdEnd();
-
- return html.toString();
- }
-
- /**
- * If the filter is specified the default is to use a <input type=text> tag.
- */
- private String input( TableModel model, Column column )
- {
- HtmlBuilder html = new HtmlBuilder();
-
- html.input( "text" );
- html.name( model.getTableHandler().prefixWithTableId() + TableConstants.FILTER + column.getAlias() );
-
- html.title( "Filter by " + column.getTitle() );
-
- String value = column.getValueAsString();
- if ( StringUtils.isNotBlank( value ) )
- {
- html.value( value );
- }
-
- StringBuilder onkeypress = new StringBuilder();
- onkeypress.append( "if (event.keyCode == 13) {" );
- onkeypress.append( new TableActions( model ).getFilterAction() );
- onkeypress.append( "}" );
- html.onkeypress( onkeypress.toString() );
-
- html.xclose();
-
- return html.toString();
- }
-}
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc.views;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import java.util.Iterator;
-
-import org.extremecomponents.table.bean.Export;
-import org.extremecomponents.table.core.TableModel;
-import org.extremecomponents.table.view.html.BuilderConstants;
-import org.extremecomponents.table.view.html.BuilderUtils;
-import org.extremecomponents.table.view.html.StatusBarBuilder;
-import org.extremecomponents.table.view.html.ToolbarBuilder;
-import org.extremecomponents.table.view.html.TwoColumnRowLayout;
-import org.extremecomponents.util.HtmlBuilder;
-
-/**
- * SecurityToolbar
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class SecurityToolbar
- extends TwoColumnRowLayout
-{
- public SecurityToolbar( HtmlBuilder html, TableModel model )
- {
- super( html, model );
- }
-
- protected boolean showLayout( TableModel model )
- {
- boolean showStatusBar = BuilderUtils.showStatusBar( model );
- boolean filterable = BuilderUtils.filterable( model );
- boolean showExports = BuilderUtils.showExports( model );
- boolean showPagination = BuilderUtils.showPagination( model );
- boolean showTitle = BuilderUtils.showTitle( model );
- if ( !showStatusBar && !filterable && !showExports && !showPagination && !showTitle )
- {
- return false;
- }
-
- return true;
- }
-
- protected void columnLeft( HtmlBuilder html, TableModel model )
- {
- boolean showStatusBar = BuilderUtils.showStatusBar( model );
- if ( !showStatusBar )
- {
- return;
- }
-
- html.td( 4 ).styleClass( BuilderConstants.STATUS_BAR_CSS ).close();
-
- new StatusBarBuilder( html, model ).statusMessage();
-
- html.tdEnd();
- }
-
- @SuppressWarnings("unchecked")
- protected void columnRight( HtmlBuilder html, TableModel model )
- {
- boolean filterable = BuilderUtils.filterable( model );
- boolean showPagination = BuilderUtils.showPagination( model );
- boolean showExports = BuilderUtils.showExports( model );
-
- ToolbarBuilder toolbarBuilder = new ToolbarBuilder( html, model );
-
- html.td( 4 ).styleClass( BuilderConstants.COMPACT_TOOLBAR_CSS ).align( "right" ).close();
-
- html.table( 4 ).border( "0" ).cellPadding( "1" ).cellSpacing( "2" ).close();
- html.tr( 5 ).close();
-
- if ( showPagination )
- {
- html.td( 5 ).close();
- html.append( "Navigation:" );
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.firstPageItemAsImage();
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.prevPageItemAsImage();
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.nextPageItemAsImage();
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.lastPageItemAsImage();
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.separator();
- html.tdEnd();
-
- html.td( 5 ).close();
- html.append( "Display Rows:" );
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.rowsDisplayedDroplist();
- html.tdEnd();
-
- if ( showExports )
- {
- html.td( 5 ).close();
- toolbarBuilder.separator();
- html.tdEnd();
- }
- }
-
- if ( showExports )
- {
- Iterator iterator = model.getExportHandler().getExports().iterator();
- for ( Iterator iter = iterator; iter.hasNext(); )
- {
- html.td( 5 ).close();
- Export export = (Export) iter.next();
- toolbarBuilder.exportItemAsImage( export );
- html.tdEnd();
- }
- }
-
- if ( filterable )
- {
- if ( showExports || showPagination )
- {
- html.td( 5 ).close();
- toolbarBuilder.separator();
- html.tdEnd();
- }
-
- html.td( 5 ).close();
- toolbarBuilder.filterItemAsButton();
- html.tdEnd();
-
- html.td( 5 ).close();
- toolbarBuilder.clearItemAsButton();
- html.tdEnd();
- }
-
- html.trEnd( 5 );
-
- html.tableEnd( 4 );
-
- html.tdEnd();
- }
-}
+++ /dev/null
-package org.apache.archiva.redback.integration.eXc.views;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-import org.extremecomponents.table.core.TableModel;
-import org.extremecomponents.table.view.AbstractHtmlView;
-import org.extremecomponents.util.HtmlBuilder;
-
-/**
- * SecurityView
- *
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- */
-public class SecurityView
- extends AbstractHtmlView
-{
- protected void beforeBodyInternal( TableModel model )
- {
- getTableBuilder().tableStart();
-
- getTableBuilder().theadStart();
-
- getTableBuilder().titleRowSpanColumns();
-
- navigationToolbar( getHtmlBuilder(), getTableModel() );
-
- getTableBuilder().headerRow();
-
- getTableBuilder().theadEnd();
-
- getTableBuilder().filterRow();
-
- getTableBuilder().tbodyStart();
- }
-
- protected void afterBodyInternal( TableModel model )
- {
- getCalcBuilder().defaultCalcLayout();
-
- getTableBuilder().tbodyEnd();
-
- getTableBuilder().tableEnd();
- }
-
- protected void navigationToolbar( HtmlBuilder html, TableModel model )
- {
- new SecurityToolbar( html, model ).layout();
- }
-}