Skip to content

Commit

Permalink
Merge pull request #7526 from enonic/revert-7524-issue-7523
Browse files Browse the repository at this point in the history
Revert "WebDispatcherImpl implementation issues #7523"
  • Loading branch information
GlennRicaud authored Oct 10, 2019
2 parents 9af3cbd + c4756e8 commit e4087b0
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 54 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.enonic.xp.web.impl.handler;

import java.util.Comparator;
import java.util.Iterator;
import java.util.NavigableSet;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.List;

import org.osgi.service.component.annotations.Component;

import com.google.common.collect.Lists;

import com.enonic.xp.web.WebRequest;
import com.enonic.xp.web.WebResponse;
import com.enonic.xp.web.handler.WebHandler;
Expand All @@ -16,18 +16,30 @@
public final class WebDispatcherImpl
implements WebDispatcher
{
private final NavigableSet<WebHandler> webHandlerList = new ConcurrentSkipListSet<>( Comparator.comparingInt( WebHandler::getOrder ) );
private final List<WebHandler> webHandlerList = Lists.newCopyOnWriteArrayList();

@Override
public void add( final WebHandler webHandler )
public synchronized void add( final WebHandler webHandler )
{
this.webHandlerList.add( webHandler );
sortWebHandlerList();
}

@Override
public void remove( final WebHandler webHandler )
public synchronized void remove( final WebHandler webHandler )
{
this.webHandlerList.remove( webHandler );
sortWebHandlerList();
}

private void sortWebHandlerList()
{
this.webHandlerList.sort( this::compare );
}

private int compare( final WebHandler webHandler1, final WebHandler webHandler2 )
{
return webHandler1.getOrder() - webHandler2.getOrder();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,18 @@
import com.enonic.xp.web.handler.WebHandler;
import com.enonic.xp.web.handler.WebHandlerChain;

public class TestWebHandler
public final class TestWebHandler
implements WebHandler
{
protected WebResponse response;

protected RequestVerifier verifier = req -> {
};

private final int order;

public TestWebHandler()
{
this( 0 );
}

public TestWebHandler( final int order )
{
this.order = order;
}

@Override
public int getOrder()
{
return order;
return 0;
}

@Override
Expand Down

This file was deleted.

0 comments on commit e4087b0

Please sign in to comment.