activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r1076522 - in /activemq/activemq-apollo/trunk: apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/ apollo-web...
Date Thu, 03 Mar 2011 04:54:57 GMT
Author: chirino
Date: Thu Mar  3 04:54:55 2011
New Revision: 1076522

URL: http://svn.apache.org/viewvc?rev=1076522&view=rev
Log:
Use more string based ids so that we can have nicer REST urls.

Added:
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StringListDTO.java
      - copied, changed from r1076521, activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
Modified:
    activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
    activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
    activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
    activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorDTO.java
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceStatusDTO.java
    activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/VirtualHostDTO.java
    activemq/activemq-apollo/trunk/apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/jaxb.index
    activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
    activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade

Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
(original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
Thu Mar  3 04:54:55 2011
@@ -142,8 +142,6 @@ object Broker extends Log {
 
   val BLOCKABLE_THREAD_POOL = ApolloThreadPool.INSTANCE
 
-  val broker_id_counter = new AtomicLong()
-
   def class_loader:ClassLoader = ClassFinder.class_loader
 
   /**
@@ -209,9 +207,8 @@ class Broker() extends BaseService {
 
   val dispatch_queue = createQueue("broker") // getGlobalQueue(DispatchPriority.HIGH).createQueue("broker")
 
-  val id = broker_id_counter.incrementAndGet
+  def id = "default"
   
-  val virtual_host_id_counter = new LongCounter
   val connector_id_counter = new LongCounter
   val connection_id_counter = new LongCounter
 
@@ -270,7 +267,7 @@ class Broker() extends BaseService {
 
       default_virtual_host = null
       for (c <- config.virtual_hosts) {
-        val host = new VirtualHost(this, virtual_host_id_counter.incrementAndGet)
+        val host = new VirtualHost(this, c.host_names.head)
         host.configure(c, LoggingReporter(VirtualHost))
         virtual_hosts += ascii(c.id)-> host
         // first defined host is the default virtual host
@@ -284,7 +281,7 @@ class Broker() extends BaseService {
         }
       }
       for (c <- config.connectors) {
-        val connector = new Connector(this, connector_id_counter.incrementAndGet)
+        val connector = new Connector(this, c.id)
         connector.configure(c, LoggingReporter(VirtualHost))
         connectors ::= connector
       }
@@ -318,8 +315,6 @@ class Broker() extends BaseService {
       second_tracker.callback(on_completed)
     })
 
-
-
   }
 
 
@@ -350,7 +345,7 @@ class Broker() extends BaseService {
   }
 
   //useful for testing
-  def getFirstConnectorAddress() : InetSocketAddress = connectors.head.transportServer.getSocketAddress
+  def getFirstConnectorAddress() : InetSocketAddress = connectors.head.transport_server.getSocketAddress
 
 
 }

Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
(original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
Thu Mar  3 04:54:55 2011
@@ -129,7 +129,7 @@ class BrokerConnection(val connector: Co
       protocol_handler.create_connection_status
     }
 
-    result.id = id
+    result.id = id.toString
     result.state = service_state.toString
     result.state_since = service_state.since
     result.protocol = protocol_handler.protocol

Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
(original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
Thu Mar  3 04:54:55 2011
@@ -67,7 +67,7 @@ object Connector extends Log {
  *
  * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
  */
-class Connector(val broker:Broker, val id:Long) extends BaseService {
+class Connector(val broker:Broker, val id:String) extends BaseService {
   import Connector._
 
   override val dispatch_queue = broker.dispatch_queue

Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
(original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
Thu Mar  3 04:54:55 2011
@@ -70,7 +70,7 @@ object VirtualHost extends Log {
 /**
  * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
  */
-class VirtualHost(val broker: Broker, val id:Long) extends BaseService {
+class VirtualHost(val broker: Broker, val id:String) extends BaseService {
   import VirtualHost._
   
   override val dispatch_queue:DispatchQueue = createQueue("virtual-host") // getGlobalQueue(DispatchPriority.HIGH).createQueue("virtual-host")
@@ -81,7 +81,7 @@ class VirtualHost(val broker: Broker, va
   var names:List[String] = Nil;
 
   var store:Store = null
-  val queue_id_counter = new LongCounter
+  val queue_id_counter = new LongCounter()
 
   val session_counter = new AtomicLong(0)
 

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/BrokerStatusDTO.java
Thu Mar  3 04:54:55 2011
@@ -40,13 +40,13 @@ public class BrokerStatusDTO extends Ser
      * Ids of all the virtual hosts running on the broker
      */
     @XmlElement(name="virtual_host")
-    public List<LongIdLabeledDTO> virtual_hosts = new ArrayList<LongIdLabeledDTO>();
+    public List<String> virtual_hosts = new ArrayList<String>();
 
     /**
      * Ids of all the connectors running on the broker
      */
     @XmlElement(name="connector")
-    public List<LongIdLabeledDTO> connectors = new ArrayList<LongIdLabeledDTO>();
+    public List<String> connectors = new ArrayList<String>();
 
     /**
      * Ids of all the connections running on the broker

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorDTO.java?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ConnectorDTO.java
Thu Mar  3 04:54:55 2011
@@ -28,7 +28,7 @@ import java.util.List;
  */
 @XmlRootElement(name = "connector")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ConnectorDTO extends ServiceDTO<String> {
+public class ConnectorDTO extends ServiceDTO {
 
     /**
      * The transport uri which it will accept connections on.

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
Thu Mar  3 04:54:55 2011
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlRoot
  */
 @XmlRootElement(name="id")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ServiceDTO<ID> extends StringIdDTO {
+public class ServiceDTO extends StringIdDTO {
 
     /**
      * Should this service be running?

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceStatusDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceStatusDTO.java?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceStatusDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceStatusDTO.java
Thu Mar  3 04:54:55 2011
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlRoot
  */
 @XmlRootElement(name="service_status")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ServiceStatusDTO extends LongIdDTO {
+public class ServiceStatusDTO extends StringIdDTO {
 
     /**
      * The state of the service.

Copied: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StringListDTO.java
(from r1076521, activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StringListDTO.java?p2=activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StringListDTO.java&p1=activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java&r1=1076521&r2=1076522&rev=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ServiceDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StringListDTO.java
Thu Mar  3 04:54:55 2011
@@ -20,21 +20,22 @@ package org.apache.activemq.apollo.dto;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
  */
-@XmlRootElement(name="id")
+@XmlRootElement(name="sl")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ServiceDTO<ID> extends StringIdDTO {
+public class StringListDTO {
 
     /**
-     * Should this service be running?
+     * A list of ids.
      */
-    @XmlAttribute
-    public Boolean enabled;
-
+    @XmlElement(name="item")
+    public List<String> items = new ArrayList<String>();
 
 }
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/VirtualHostDTO.java
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/VirtualHostDTO.java?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/VirtualHostDTO.java
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/VirtualHostDTO.java
Thu Mar  3 04:54:55 2011
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.*;
  */
 @XmlRootElement(name = "virtual_host")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class VirtualHostDTO extends ServiceDTO<String> {
+public class VirtualHostDTO extends ServiceDTO {
 
     @XmlElement(name="host_name", required=true)
     public ArrayList<String> host_names = new ArrayList<String>();

Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/jaxb.index
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/jaxb.index?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/jaxb.index
(original)
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/resources/org/apache/activemq/apollo/dto/jaxb.index
Thu Mar  3 04:54:55 2011
@@ -46,4 +46,5 @@ TopicDTO
 LinkDTO
 QueueConsumerStatusDTO
 StompDTO
-ValueDTO
\ No newline at end of file
+ValueDTO
+StringListDTO
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
(original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
Thu Mar  3 04:54:55 2011
@@ -72,7 +72,7 @@ case class RuntimeResource(parent:Broker
     }
   }
 
-  private def with_virtual_host[T](id:Long)(func: (VirtualHost, Option[T]=>Unit)=>Unit):T
= {
+  private def with_virtual_host[T](id:String)(func: (VirtualHost, Option[T]=>Unit)=>Unit):T
= {
     with_broker { case (broker, cb) =>
       broker.virtual_hosts.valuesIterator.find( _.id == id) match {
         case Some(virtualHost)=>
@@ -98,11 +98,11 @@ case class RuntimeResource(parent:Broker
 
       broker.virtual_hosts.values.foreach{ host=>
         // TODO: may need to sync /w virtual host's dispatch queue
-        result.virtual_hosts.add( new LongIdLabeledDTO(host.id, host.config.id) )
+        result.virtual_hosts.add( host.id )
       }
 
       broker.connectors.foreach{ c=>
-        result.connectors.add( new LongIdLabeledDTO(c.id, c.config.id) )
+        result.connectors.add( c.id )
       }
 
       broker.connectors.foreach{ connector=>
@@ -122,8 +122,8 @@ case class RuntimeResource(parent:Broker
 
   @GET @Path("virtual-hosts")
   def virtualHosts = {
-    val rc = new LongIdListDTO
-    rc.items.addAll(get_broker.virtual_hosts)
+    val rc = new StringListDTO
+    rc.items = get_broker.virtual_hosts
     rc
   }
 
@@ -186,7 +186,7 @@ case class RuntimeResource(parent:Broker
 
 
   @GET @Path("virtual-hosts/{id}")
-  def virtualHost(@PathParam("id") id : Long):VirtualHostStatusDTO = {
+  def virtualHost(@PathParam("id") id : String):VirtualHostStatusDTO = {
     with_virtual_host(id) { case (virtualHost,cb) =>
       val result = new VirtualHostStatusDTO
       result.id = virtualHost.id
@@ -220,7 +220,7 @@ case class RuntimeResource(parent:Broker
   }
 
   @GET @Path("virtual-hosts/{id}/store")
-  def store(@PathParam("id") id : Long):StoreStatusDTO = {
+  def store(@PathParam("id") id : String):StoreStatusDTO = {
     val rc =  virtualHost(id).store
     if( rc == null ) {
       result(NOT_FOUND)
@@ -245,7 +245,7 @@ case class RuntimeResource(parent:Broker
   }
 
   @GET @Path("virtual-hosts/{id}/topics/{dest}")
-  def destination(@PathParam("id") id : Long, @PathParam("dest") dest : Long):TopicStatusDTO
= {
+  def destination(@PathParam("id") id : String, @PathParam("dest") dest : Long):TopicStatusDTO
= {
     with_virtual_host(id) { case (virtualHost,cb) =>
       cb(virtualHost.router.asInstanceOf[LocalRouter].topic_domain.destination_by_id.get(dest)
map { node=>
         val result = new TopicStatusDTO
@@ -276,7 +276,7 @@ case class RuntimeResource(parent:Broker
   }
 
   @GET @Path("virtual-hosts/{id}/all-queues/{queue}")
-  def queue(@PathParam("id") id : Long, @PathParam("queue") qid : Long, @QueryParam("entries")
entries:Boolean):QueueStatusDTO = {
+  def queue(@PathParam("id") id : String, @PathParam("queue") qid : Long, @QueryParam("entries")
entries:Boolean):QueueStatusDTO = {
     with_virtual_host(id) { case (virtualHost,cb) =>
       reset {
         val queue = virtualHost.router.get_queue(qid)
@@ -286,7 +286,7 @@ case class RuntimeResource(parent:Broker
   }
 
   @GET @Path("virtual-hosts/{id}/queues/{queue}")
-  def destination_queue(@PathParam("id") id : Long, @PathParam("queue") qid : Long, @QueryParam("entries")
entries:Boolean ):QueueStatusDTO = {
+  def destination_queue(@PathParam("id") id : String, @PathParam("queue") qid : Long, @QueryParam("entries")
entries:Boolean ):QueueStatusDTO = {
     with_virtual_host(id) { case (virtualHost,cb) =>
       import JavaConversions._
       val queue = virtualHost.router.asInstanceOf[LocalRouter].queue_domain.destination_by_id.get(qid)
@@ -394,20 +394,20 @@ case class RuntimeResource(parent:Broker
 
   @GET @Path("connectors")
   def connectors = {
-    val rc = new LongIdListDTO
-    rc.items.addAll(get_broker.connectors)
+    val rc = new StringListDTO
+    rc.items = get_broker.connectors
     rc
   }
 
   @GET @Path("connectors/{id}")
-  def connector(@PathParam("id") id : Long):ConnectorStatusDTO = {
+  def connector(@PathParam("id") id : String):ConnectorStatusDTO = {
     with_broker { case (broker, cb) =>
       broker.connectors.find(_.id == id) match {
         case None=> cb(None)
         case Some(connector)=>
 
           val result = new ConnectorStatusDTO
-          result.id = connector.id
+          result.id = connector.id.toString
           result.state = connector.service_state.toString
           result.state_since = connector.service_state.since
           result.config = connector.config

Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade?rev=1076522&r1=1076521&r2=1076522&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade
(original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/webapp/WEB-INF/org/apache/activemq/apollo/dto/BrokerStatusDTO.jade
Thu Mar  3 04:54:55 2011
@@ -31,13 +31,13 @@ h2 Virtual Hosts
 ul
   - for( x <- virtual_hosts )
     li
-      a(href={ path("virtual-hosts/"+ x.id) }) #{x.label}
+      a(href={ path("virtual-hosts/"+ x) }) #{x}
 
 h2 Connectors
 ul
   - for( x <- connectors )
     li
-      a(href={ path("connectors/"+x.id) }) #{x.label}
+      a(href={ path("connectors/"+x) }) #{x}
 
 h2 Connections
 ul



Mime
View raw message