Thanks!
But this you meen I need to check for every parameter that could be
excepted.
@SuppressWarnings( "unchecked" )
public ItemInterceptor( PageParameters parameters ){
filters = new LinkedList<ItemFilter>();
Sort sort = null;
Translator translator = new Translator( getStore() );
Iterator iter = parameters.keySet().iterator();
while( iter.hasNext() ){
String key = (String)iter.next();
if( key.equalsIgnoreCase( "brand" )){
String id = parameters.getString( key, "" );
try{
Long brandId = Long.parseLong( id );
Brand brand = getBrandDao().getBrand(
brandId );
if( brand == null )
throw new
RestartResponseAtInterceptPageException(Base.class);
removeFilter( BrandFilter.class );
filters.add( new BrandFilter( brand ));
}catch( NumberFormatException nex ){
throw new
RestartResponseAtInterceptPageException(Base.class);
}
}
if( key.equalsIgnoreCase( "category" )){
String id = parameters.getString( key, "" );
try{
Long categoryId = Long.parseLong( id );
Category category =
getCategoryDao().getById( categoryId );
if( category == null )
throw new
RestartResponseAtInterceptPageException(Base.class);
translator.translate( category );
removeFilter( CategoryFilter.class );
filters.add( new CategoryFilter(
category ));
}catch( NumberFormatException nex ){
throw new
RestartResponseAtInterceptPageException(Base.class);
}
}
if( key.equalsIgnoreCase( "department" )){
String id = parameters.getString( key, "" );
try{
Long departmentId = Long.parseLong( id
);
Department department =
getDepartmentDao().getDepartment(departmentId);
if( department == null )
throw new
RestartResponseAtInterceptPageException(Base.class);
translator.translate( department );
removeFilter( DepartmentFilter.class );
filters.add( new DepartmentFilter(
department ));
}catch( NumberFormatException nex ){
throw new
RestartResponseAtInterceptPageException(Base.class);
}
}
if( key.equalsIgnoreCase( "refills" )){
filters.add( new RefilledFilter());
sort = Sort.REFILLED ;
}
if( key.equalsIgnoreCase( "latest" )){
filters.add( new LatestAddedFilter());
sort = Sort.NEW_COMING ;
}
if( key.equalsIgnoreCase( "outlet" )){
filters.add( new OutletFilter( true ));
}
if( key.equalsIgnoreCase( "female" )){
removeFilter( GenderFilter.class );
filters.add( new GenderFilter( Gender.FEMALE ));
}
if( key.equalsIgnoreCase( "male" )){
removeFilter( GenderFilter.class );
filters.add( new GenderFilter( Gender.MALE ));
}
if( key.equalsIgnoreCase( "junior" )){
removeFilter( GenderFilter.class );
filters.add( new GenderFilter( Gender.JUNIOR ));
}
}
if( ! filters.isEmpty() ){
filters.add( new BalanceFilter( new Long( 1 ) ));
filters.add( new StoreFilter( getStore() ));
Integer count = getItemDao().getItemCount(filters);
if( count == 0 )
throw new
RestartResponseAtInterceptPageException(Base.class);
if( sort != null ){
setResponsePage( new ItemListPage( filters ,
sort) );
}else{
setResponsePage( new ItemListPage( filters ) );
}
}
}
--
View this message in context:
http://www.nabble.com/Google-friendly-urls-tp18079064p18079799.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]