You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2009/02/27 09:59:03 UTC

svn commit: r748444 - in /servicemix/sandbox/gertv/smx-sling: ./ servicemix-audit-jcr/ servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ servicemix-sling-console/src/main/resources/initial-content/ servicemix-sling-console/src/main/re...

Author: gertv
Date: Fri Feb 27 08:59:02 2009
New Revision: 748444

URL: http://svn.apache.org/viewvc?rev=748444&view=rev
Log:
Applying patches with thanks to Vladislav

Modified:
    servicemix/sandbox/gertv/smx-sling/pom.xml
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/pom.xml
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AsynchronousAbstractAuditor.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AuditorMarshaler.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/EntireMarshaler.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeAcceptedProducer.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeSentProducer.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/HeaderMetadataMarshaler.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditor.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditorStrategy.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/OwnMessageExchangeImpl.java
    servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/SlingJcrAuditorStrategy.java
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps.json
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix.json
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/html.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/tr.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/dashboard/html.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/exchange/html.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flow/tr.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/html.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/tr.esp
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content.json
    servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content/servicemix.json

Modified: servicemix/sandbox/gertv/smx-sling/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/pom.xml?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/pom.xml (original)
+++ servicemix/sandbox/gertv/smx-sling/pom.xml Fri Feb 27 08:59:02 2009
@@ -18,7 +18,7 @@
     </plugins>
   </build>
   <properties>
-    <servicemix-version>3.3-SNAPSHOT</servicemix-version>
+    <servicemix-version>3.3</servicemix-version>
     <sling-version>2.0.2-incubator</sling-version>
     <spring-version>2.5.5</spring-version>
     <slf4j-version>1.5.0</slf4j-version>

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/pom.xml?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/pom.xml (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/pom.xml Fri Feb 27 08:59:02 2009
@@ -41,6 +41,21 @@
             <artifactId>spring-jms</artifactId>
             <version>${spring-version}</version>
     </dependency>
+	<dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>${slf4j-version}</version>
+    </dependency>
+	<dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>${slf4j-version}</version>
+    </dependency>
+    <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jms</artifactId>
+            <version>${spring-version}</version>
+    </dependency>
     <dependency>
       <groupId>org.apache.sling</groupId>
       <artifactId>org.apache.sling.jcr.jackrabbit.client</artifactId>

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AsynchronousAbstractAuditor.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AsynchronousAbstractAuditor.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AsynchronousAbstractAuditor.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AsynchronousAbstractAuditor.java Fri Feb 27 08:59:02 2009
@@ -28,8 +28,7 @@
 
 /**
  * 
- * Abstract class for take care of all the serialization and multi-threading
- * stuff
+ * Abstract class for take care of all the serialization and multi-threading stuff
  * 
  * @author vkrejcirik
  * 
@@ -37,8 +36,7 @@
  */
 public abstract class AsynchronousAbstractAuditor extends AbstractAuditor {
 
-    private static final Log LOG = LogFactory
-            .getLog(AsynchronousAbstractAuditor.class);
+    private static final Log LOG = LogFactory.getLog(AsynchronousAbstractAuditor.class);
 
     private Session acceptedSession;
     private Session sentSession;
@@ -66,25 +64,20 @@
     public void doStart() throws JBIException {
 
         try {
-            connection = ActiveMQConnection
-                    .makeConnection("tcp://localhost:61616");
+            connection = ActiveMQConnection.makeConnection("tcp://localhost:61616");
 
-            acceptedSession = connection.createSession(false,
-                    Session.AUTO_ACKNOWLEDGE);
+            acceptedSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-            sentSession = connection.createSession(false,
-                    Session.AUTO_ACKNOWLEDGE);
+            sentSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-            acceptedDestination = acceptedSession
-                    .createQueue("messages.accepted");
+            acceptedDestination = acceptedSession.createQueue("messages.accepted");
 
             sentDestination = sentSession.createQueue("messages.sent");
 
         } catch (URISyntaxException e) {
             throw new JBIException("URI syntax is wrong", e);
         } catch (JMSException e1) {
-            throw new JBIException("Error while creating queue for exchange",
-                    e1);
+            throw new JBIException("Error while creating queue for exchange", e1);
         }
 
         sentListenerContainer = new DefaultMessageListenerContainer();
@@ -97,8 +90,7 @@
         acceptedConnectionFactory.setBrokerURL("tcp://localhost:61616");
 
         sentListenerContainer.setConnectionFactory(sentConnectionFactory);
-        acceptedListenerContainer
-                .setConnectionFactory(acceptedConnectionFactory);
+        acceptedListenerContainer.setConnectionFactory(acceptedConnectionFactory);
 
         sentListenerContainer.setConcurrentConsumers(1);
         acceptedListenerContainer.setConcurrentConsumers(1);
@@ -187,8 +179,7 @@
 
     public abstract void onExchangeAccepted(MessageExchange exchange);
 
-    protected AuditorMarshaler getMarshaler() throws PathNotFoundException,
-            LoginException, RepositoryException {
+    protected AuditorMarshaler getMarshaler() throws PathNotFoundException, LoginException, RepositoryException {
         return null;
 
     }
@@ -206,8 +197,7 @@
                 onExchangeSent(exchange);
 
             } else {
-                throw new IllegalArgumentException(
-                        "Message must be of type ObjectMessage");
+                throw new IllegalArgumentException("Message must be of type ObjectMessage");
             }
         }
     }
@@ -225,8 +215,7 @@
                 onExchangeAccepted(exchange);
 
             } else {
-                throw new IllegalArgumentException(
-                        "Message must be of type ObjectMessage");
+                throw new IllegalArgumentException("Message must be of type ObjectMessage");
             }
         }
     }
@@ -235,7 +224,7 @@
 
         public void onEvent(EventIterator event) {
 
-            LOG.debug("event!");
+            LOG.debug("event! change marshaler");
 
             try {
                 marshaler = getMarshaler();

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AuditorMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AuditorMarshaler.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AuditorMarshaler.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/AuditorMarshaler.java Fri Feb 27 08:59:02 2009
@@ -9,11 +9,12 @@
  * 
  * 
  * @author vkrejcirik
- *
+ * 
  */
 public interface AuditorMarshaler {
 
     public ObjectMessage marschal(MessageExchange exchange, Session session);
+
     public MessageExchange unmarshal(ObjectMessage message);
-    
+
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/EntireMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/EntireMarshaler.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/EntireMarshaler.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/EntireMarshaler.java Fri Feb 27 08:59:02 2009
@@ -25,8 +25,7 @@
         ObjectMessage message = null;
 
         try {
-            message = session
-                    .createObjectMessage((MessageExchangeImpl) exchange);
+            message = session.createObjectMessage((MessageExchangeImpl) exchange);
 
         } catch (JMSException e) {
             LOG.error("Error while serializing message exchange.");

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeAcceptedProducer.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeAcceptedProducer.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeAcceptedProducer.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeAcceptedProducer.java Fri Feb 27 08:59:02 2009
@@ -13,7 +13,7 @@
     }
 
     public void sendMessage(ObjectMessage message) {
-      
+
         jmsTemplate.convertAndSend(message);
     }
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeSentProducer.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeSentProducer.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeSentProducer.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/ExchangeSentProducer.java Fri Feb 27 08:59:02 2009
@@ -13,7 +13,7 @@
     }
 
     public void sendMessage(ObjectMessage message) {
-      
+
         jmsTemplate.convertAndSend(message);
     }
 

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/HeaderMetadataMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/HeaderMetadataMarshaler.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/HeaderMetadataMarshaler.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/HeaderMetadataMarshaler.java Fri Feb 27 08:59:02 2009
@@ -1,8 +1,5 @@
 package org.apache.servicemix.audit.jcr;
 
-import java.io.IOException;
-import java.io.ObjectInput;
-
 import javax.jbi.messaging.MessageExchange;
 import javax.jms.JMSException;
 import javax.jms.ObjectMessage;
@@ -10,7 +7,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.jbi.messaging.MessageExchangeImpl;
 
 /**
  * 
@@ -21,21 +17,18 @@
  */
 public class HeaderMetadataMarshaler implements AuditorMarshaler {
 
-    private static final Log LOG = LogFactory
-            .getLog(HeaderMetadataMarshaler.class);
+    private static final Log LOG = LogFactory.getLog(HeaderMetadataMarshaler.class);
 
     public ObjectMessage marschal(MessageExchange exchange, Session session) {
 
         ObjectMessage message = null;
-        OwnMessageExchangeImpl exchangeImpl = new OwnMessageExchangeImpl();
-
-        // TODO: naplnit exchangeImpl
+        OwnMessageExchangeImpl exchangeImpl = OwnMessageExchangeImpl.create(exchange);
 
         try {
             message = session.createObjectMessage(exchangeImpl);
 
         } catch (JMSException e) {
-            LOG.error("Error while serializing message exchange.");
+            LOG.error("Error while serializing own message exchange implementation.");
         }
 
         return message;
@@ -43,26 +36,14 @@
 
     public MessageExchange unmarshal(ObjectMessage message) {
 
-        MessageExchange exchange = new MessageExchangeImpl(){
-        
-            @Override
-            public void readExternal(ObjectInput arg0) throws IOException,
-                    ClassNotFoundException {
-                
-            }
-        };
-        
-        
-        OwnMessageExchangeImpl exchangeImpl = null;
+        MessageExchange exchange = null;
 
         try {
-            exchangeImpl = (OwnMessageExchangeImpl) message.getObject();
+            exchange = (MessageExchange) message.getObject();
         } catch (JMSException e) {
             LOG.error("Error while deserializing object message.");
         }
 
-        // TODO: naplnit exchange
-
         return exchange;
     }
 

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditor.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditor.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditor.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditor.java Fri Feb 27 08:59:02 2009
@@ -37,37 +37,29 @@
     @Override
     public void doStart() throws JBIException {
         if (repository == null) {
-            throw new JBIException(
-                    "No repository configured, unable to start JCR auditor");
+            throw new JBIException("No repository configured, unable to start JCR auditor");
         }
         if (strategy == null) {
-            throw new JBIException(
-                    "No JcrAuditorStrategy configure, unable to start JCR auditor");
+            throw new JBIException("No JcrAuditorStrategy configure, unable to start JCR auditor");
         }
 
         try {
             marshaler = getMarshaler();
         } catch (LoginException e) {
-            throw new JBIException(
-                    "Login exception, unable to get Auditor Marshaler", e);
+            throw new JBIException("Login exception, unable to get Auditor Marshaler", e);
         } catch (RepositoryException e1) {
-            throw new JBIException(
-                    "Repository exception, unable to get Auditor Marshaler", e1);
+            throw new JBIException("Repository exception, unable to get Auditor Marshaler", e1);
         }
 
         try {
-           ObservationManager observationManager = getSession().getWorkspace().getObservationManager();
-           
-           observationManager.addEventListener(
-                    eventListener, Event.PROPERTY_CHANGED,
-                    CONFIG_TYPE, false, null, null, false);
-            
+            ObservationManager observationManager = getSession().getWorkspace().getObservationManager();
+
+            observationManager.addEventListener(eventListener, Event.PROPERTY_CHANGED, CONFIG_TYPE, false, null, null, false);
+
         } catch (UnsupportedRepositoryOperationException e) {
-            throw new JBIException(
-                    "Unsupported repository operation exception, unable to add Event Listener", e);
+            throw new JBIException("Unsupported repository operation exception, unable to add Event Listener", e);
         } catch (RepositoryException e1) {
-            throw new JBIException(
-                    "Repository exception, unable to add Event Listener", e1);
+            throw new JBIException("Repository exception, unable to add Event Listener", e1);
         }
 
         super.doStart();
@@ -75,8 +67,7 @@
 
     protected Session getSession() throws LoginException, RepositoryException {
         if (session.get() == null) {
-            Session session = repository.login(new SimpleCredentials("admin",
-                    "admin".toCharArray()));
+            Session session = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
             this.session.set(session);
         }
         return session.get();
@@ -88,11 +79,15 @@
             strategy.processExchange(exchange, getSession());
             getSession().save();
 
-            LOG.info("Successfully stored information about message exchange "
-                    + exchange.getExchangeId() + " in the JCR repository");
+            marshaler = getMarshaler();
+            System.out.println("&&&&&&&&&&&&&&&&&" + marshaler.toString());
+
+            LOG.info("Successfully stored information about message exchange " + exchange.getExchangeId() + " in the JCR repository");
+
+            log.info("Marshaler is set to: " + marshaler.toString());
+
         } catch (Exception e) {
-            LOG.error("Unable to store information about message exchange "
-                    + exchange.getExchangeId(), e);
+            LOG.error("Unable to store information about message exchange " + exchange.getExchangeId(), e);
         }
     }
 
@@ -101,31 +96,6 @@
 
     }
 
-    @Override
-    protected AuditorMarshaler getMarshaler() throws LoginException,
-            RepositoryException {
-
-        AuditorMarshaler marshaler = null;
-        Node config = getSession().getRootNode().getNode(CONFIG_TYPE);
-        String mar = null;
-
-        try {
-                       
-            mar = config.getProperty("marshaler").getValue().getString();
-        } catch (RepositoryException e) {
-
-            config.setProperty("marshaler", "EntireMarshaler");
-            mar = "EntireMarshaler";
-        }
-
-        if (mar.equals("EntireMarshaler"))
-            marshaler = new EntireMarshaler();
-        else if (mar.equals("HeaderMetadataMarshaler"))
-            marshaler = new HeaderMetadataMarshaler();
-
-        return marshaler;
-    }
-
     public String getDescription() {
         return "ServiceMix JCR Auditor";
     }
@@ -159,14 +129,37 @@
     }
 
     @Override
-    public String[] getExchangeIdsByRange(int arg0, int arg1)
-            throws AuditorException {
+    public String[] getExchangeIdsByRange(int arg0, int arg1) throws AuditorException {
         return null;
     }
 
     @Override
-    public MessageExchange[] getExchangesByIds(String[] arg0)
-            throws AuditorException {
+    public MessageExchange[] getExchangesByIds(String[] arg0) throws AuditorException {
         return null;
     }
+
+    @Override
+    protected AuditorMarshaler getMarshaler() throws LoginException, RepositoryException {
+
+        AuditorMarshaler marshaler = null;
+        Node config = getSession().getRootNode().getNode(CONFIG_TYPE);
+        String mar = null;
+
+        try {
+
+            mar = config.getProperty("marshaler").getValue().getString();
+        } catch (RepositoryException e) {
+
+            config.setProperty("marshaler", "EntireMarshaler");
+            mar = "EntireMarshaler";
+        }
+
+        if (mar.equals("EntireMarshaler"))
+            marshaler = new EntireMarshaler();
+        else if (mar.equals("HeaderMetadataMarshaler"))
+            marshaler = new HeaderMetadataMarshaler();
+
+        return marshaler;
+    }
+
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditorStrategy.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditorStrategy.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditorStrategy.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/JcrAuditorStrategy.java Fri Feb 27 08:59:02 2009
@@ -20,9 +20,8 @@
  */
 public interface JcrAuditorStrategy {
 
-	public abstract void processExchange(MessageExchange messageExchange,
-			Session session) throws ItemExistsException, PathNotFoundException,
-			VersionException, ConstraintViolationException, LockException,
-			RepositoryException, MessagingException, TransformerException;
+    public abstract void processExchange(MessageExchange messageExchange, Session session) throws ItemExistsException,
+            PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException, MessagingException,
+            TransformerException;
 
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/OwnMessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/OwnMessageExchangeImpl.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/OwnMessageExchangeImpl.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/OwnMessageExchangeImpl.java Fri Feb 27 08:59:02 2009
@@ -1,22 +1,218 @@
 package org.apache.servicemix.audit.jcr;
 
 import java.io.Serializable;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
 
+import javax.jbi.messaging.ExchangeStatus;
+import javax.jbi.messaging.Fault;
+import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.MessagingException;
+import javax.jbi.messaging.NormalizedMessage;
+import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.xml.namespace.QName;
+
+import org.apache.servicemix.jbi.messaging.FaultImpl;
+import org.apache.servicemix.jbi.messaging.NormalizedMessageImpl;
 
 /**
  * 
  * Simple MessageExchange implementation for holding values for audit
  * 
  * @author vkrejcirik
- *
+ * 
  */
-public class OwnMessageExchangeImpl implements Serializable {
+public class OwnMessageExchangeImpl implements Serializable, MessageExchange {
 
     private static final long serialVersionUID = 1L;
 
-    public OwnMessageExchangeImpl() {
-       
+    private NormalizedMessage inMessage;
+    private NormalizedMessage outMessage;
+    private NormalizedMessage faultMessage;
+
+    private Role role;
+    private ExchangeStatus status;
+    private String exchangeId;
+    private ServiceEndpoint endpoint;
+    private QName service;
+    private boolean isTransacted;
+    private QName interfaceName;
+    private QName operation;
+    private URI pattern;
+
+    private HashMap<String, Object> properties;
+
+    private OwnMessageExchangeImpl() {
+        // private constructor
+        properties = new HashMap<String, Object>();
+    }
+
+    public static OwnMessageExchangeImpl create(MessageExchange exchange) {
+
+        OwnMessageExchangeImpl result = new OwnMessageExchangeImpl();
+
+        result.exchangeId = exchange.getExchangeId();
+        result.endpoint = exchange.getEndpoint();
+        result.role = exchange.getRole();
+        result.status = exchange.getStatus();
+        result.interfaceName = exchange.getInterfaceName();
+        result.operation = exchange.getOperation();
+        result.isTransacted = exchange.isTransacted();
+        result.pattern = exchange.getPattern();
+
+        if (exchange.getMessage("fault") != null)
+            result.faultMessage = exchange.getMessage("fault");
+
+        if (exchange.getMessage("in") != null)
+            result.inMessage = exchange.getMessage("in");
+
+        if (exchange.getMessage("out") != null)
+            result.outMessage = exchange.getMessage("out");
+
+        // properties
+        Iterator it = exchange.getPropertyNames().iterator();
+
+        while (it.hasNext()) {
+            String key = (String) it.next();
+            result.getProperties().put(key, exchange.getProperty(key));
+        }
+
+        return result;
+    }
+
+    public Role getRole() {
+        return this.role;
+    }
+
+    public ExchangeStatus getStatus() {
+        return this.status;
+    }
+
+    public String getExchangeId() {
+        return this.exchangeId;
+    }
+
+    public ServiceEndpoint getEndpoint() {
+        return this.endpoint;
+    }
+
+    public NormalizedMessage getInMessage() {
+        return this.inMessage;
+    }
+
+    public HashMap<String, Object> getProperties() {
+        return this.properties;
+    }
+
+    public NormalizedMessage getOutMessage() {
+        return this.outMessage;
+    }
+
+    public NormalizedMessage getFaultMessage() {
+        return this.faultMessage;
+    }
+
+    public Fault createFault() throws MessagingException {
+        return new FaultImpl();
+    }
+
+    public NormalizedMessage createMessage() throws MessagingException {
+        return new NormalizedMessageImpl();
+    }
+
+    public Exception getError() {
+        // empty ??
+        return null;
+    }
+
+    public Fault getFault() {
+        // empty ??
+        return null;
+    }
+
+    public void setError(Exception arg0) {
+        // empty ??
+    }
+
+    public void setFault(Fault arg0) throws MessagingException {
+        setMessage(arg0, "fault");
+    }
+
+    public QName getInterfaceName() {
+        return this.interfaceName;
+    }
+
+    public NormalizedMessage getMessage(String arg0) {
+
+        if ("fault".equals(arg0))
+            return this.faultMessage;
+
+        if ("in".equals(arg0))
+            return this.inMessage;
+
+        if ("out".equals(arg0))
+            return this.outMessage;
+
+        return null;
+    }
+
+    public QName getOperation() {
+        return this.operation;
+    }
+
+    public URI getPattern() {
+        return this.pattern;
+    }
+
+    public Object getProperty(String arg0) {
+        return this.properties.get(arg0);
+    }
+
+    public Set getPropertyNames() {
+        return this.properties.keySet();
+    }
+
+    public QName getService() {
+        return this.service;
+    }
+
+    public boolean isTransacted() {
+        return this.isTransacted;
+    }
+
+    public void setEndpoint(ServiceEndpoint arg0) {
+        this.endpoint = arg0;
+    }
+
+    public void setInterfaceName(QName arg0) {
+        this.interfaceName = arg0;
+    }
+
+    public void setMessage(NormalizedMessage arg0, String arg1) throws MessagingException {
+
+        if (arg1.equals("fault"))
+            this.faultMessage = arg0;
+        else if (arg1.equals("in"))
+            this.inMessage = arg0;
+        else if (arg1.equals("out"))
+            this.outMessage = arg0;
+    }
+
+    public void setOperation(QName arg0) {
+        this.operation = arg0;
+    }
+
+    public void setProperty(String arg0, Object arg1) {
+        this.properties.put(arg0, arg1);
+    }
+
+    public void setService(QName arg0) {
+        this.service = arg0;
+    }
+
+    public void setStatus(ExchangeStatus arg0) throws MessagingException {
+        this.status = arg0;
     }
-    
-    
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/SlingJcrAuditorStrategy.java
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/SlingJcrAuditorStrategy.java?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/SlingJcrAuditorStrategy.java (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-audit-jcr/src/main/java/org/apache/servicemix/audit/jcr/SlingJcrAuditorStrategy.java Fri Feb 27 08:59:02 2009
@@ -24,7 +24,6 @@
 import org.apache.servicemix.jbi.jaxp.SourceTransformer;
 import org.apache.servicemix.jbi.util.MessageUtil;
 
-
 /**
  * 
  * Class for processing message exchange based on correlation id
@@ -37,49 +36,63 @@
     public static final String RESOURCE_TYPE = "sling:resourceType";
 
     // esp files for rendering
-    public static final String EXCHANGES_RESOURCE_TYPE = "servicemix/exchanges";
+    public static final String MESSAGE_FLOWS_RESOURCE_TYPE = "servicemix/message_flows";
     public static final String EXCHANGE_RESOURCE_TYPE = "servicemix/exchange";
     public static final String MESSAGE_FLOW_RESOURCE_TYPE = "servicemix/message_flow";
     public static final String NORMALIZED_MESSAGE_RESOURCE_TYPE = "servicemix/normalizedmessage";
-
+    public static final String ENDPOINT_RESOURCE_TYPE = "servicemix/endpoint";
     // content
     public static final String CONTENT_MESSAGE_FLOWS_TYPE = "content/servicemix/message_flows";
+    public static final String CONTENT_ENDPOINTS = "content/servicemix/endpoints";
     public static final String CONTENT_EXCHANGES_TYPE = "content/servicemix/exchanges";
 
     private static final SourceTransformer TRANSFORMER = new SourceTransformer();
 
     // let's time slice our message exchange archive on an hourly basis
-    private static final DateFormat FORMAT = new SimpleDateFormat(
-            "yyyyMMddhha", Locale.ENGLISH);
+    private static final DateFormat FORMAT = new SimpleDateFormat("yyyyMMddhha", Locale.ENGLISH);
+
+    public void processExchange(MessageExchange messageExchange, Session session) throws ItemExistsException, PathNotFoundException,
+            VersionException, ConstraintViolationException, LockException, RepositoryException, MessagingException, TransformerException {
+
+        /*
+         * (String) messageExchange .getProperty("org.apache.servicemix.senderEndpoint")
+         */
 
-    public void processExchange(MessageExchange messageExchange, Session session)
-            throws ItemExistsException, PathNotFoundException,
-            VersionException, ConstraintViolationException, LockException,
-            RepositoryException, MessagingException, TransformerException {
+        // get endpoint node for this exchange
+        Node endpointNode = getEndpointNode(session, (String) messageExchange.getProperty("org.apache.servicemix.senderEndpoint"));
 
+        String exId = (String) messageExchange.getExchangeId().replaceAll(":", "_");
+
+        // add this exchange to the endpoint node, if not exists yet
+        try {
+            endpointNode.getNode(exId);
+        } catch (PathNotFoundException e) {
+            Node newNode = endpointNode.addNode(exId);
+            newNode.setProperty("Created", new DateValue(new GregorianCalendar()));
+            newNode.setProperty("exchangeId", messageExchange.getExchangeId());
+        }
+
+        // construct exchange node
         Node node = getNodeForExchange(messageExchange, session);
 
-        node.setProperty("ExchangeStatus", messageExchange.getStatus()
-                .toString());
+        node.setProperty("ExchangeStatus", messageExchange.getStatus().toString());
         node.setProperty("Pattern", messageExchange.getPattern().toString());
 
+        node.setProperty("endpointId", ((String) messageExchange.getProperty("org.apache.servicemix.senderEndpoint")).replaceAll(":", "_")
+                .replaceAll("/", "-"));
+
         if (messageExchange.getEndpoint() != null) {
-            node.setProperty("Endpoint", messageExchange.getEndpoint()
-                    .getEndpointName());
+            node.setProperty("Endpoint", messageExchange.getEndpoint().getEndpointName());
         }
 
         if (messageExchange.getService() != null) {
-            node
-                    .setProperty("Service", messageExchange.getService()
-                            .toString());
+            node.setProperty("Service", messageExchange.getService().toString());
         }
 
         for (Object key : messageExchange.getPropertyNames()) {
             String name = (String) key;
 
-            node
-                    .setProperty(name, messageExchange.getProperty(name)
-                            .toString());
+            node.setProperty(name, messageExchange.getProperty(name).toString());
         }
 
         addNormalizedMessages(node, messageExchange);
@@ -89,7 +102,7 @@
 
     /**
      * 
-     * 
+     * Get node for given Exchange
      * 
      * @param exchange
      * @param session
@@ -101,15 +114,11 @@
      * @throws LockException
      * @throws RepositoryException
      */
-    private Node getNodeForExchange(MessageExchange exchange, Session session)
-            throws ItemExistsException, PathNotFoundException,
-            VersionException, ConstraintViolationException, LockException,
-            RepositoryException {
+    private Node getNodeForExchange(MessageExchange exchange, Session session) throws ItemExistsException, PathNotFoundException,
+            VersionException, ConstraintViolationException, LockException, RepositoryException {
 
         String id = exchange.getExchangeId().replaceAll(":", "_");
-        String corr_id = exchange.getProperty(
-                "org.apache.servicemix.correlationId").toString().replaceAll(
-                ":", "_");
+        String corr_id = exchange.getProperty("org.apache.servicemix.correlationId").toString().replaceAll(":", "_");
 
         // node with date
         // Node parent = getExchangeBaseNode(session);
@@ -134,7 +143,7 @@
 
     /**
      * 
-     * 
+     * Get node for correlation id
      * 
      * @param parent
      * @param corr_id
@@ -146,9 +155,8 @@
      * @throws LockException
      * @throws ConstraintViolationException
      */
-    private synchronized Node getCorrelationIdNode(Node parent, String corr_id,
-            String id) throws RepositoryException, ValueFormatException,
-            VersionException, LockException, ConstraintViolationException {
+    private synchronized Node getCorrelationIdNode(Node parent, String corr_id, String id) throws RepositoryException,
+            ValueFormatException, VersionException, LockException, ConstraintViolationException {
 
         // first exchange of the flow
         if (corr_id == null) {
@@ -161,8 +169,6 @@
         }
 
         try {
-            
-            System.out.println(corr_id);
             return parent.getNode(corr_id);
 
         } catch (PathNotFoundException e) {
@@ -185,20 +191,36 @@
      * @return Node
      * @throws RepositoryException
      */
-    private Node getMessageFlowBaseNode(Session session)
-            throws RepositoryException {
-        Node exchanges = session.getRootNode().getNode(
-                CONTENT_MESSAGE_FLOWS_TYPE);
+    private Node getMessageFlowBaseNode(Session session) throws RepositoryException {
+        Node messageFlows = session.getRootNode().getNode(CONTENT_MESSAGE_FLOWS_TYPE);
 
-        return createOrGet(exchanges, FORMAT.format(new Date()));
+        return createOrGet(messageFlows, FORMAT.format(new Date()), MESSAGE_FLOWS_RESOURCE_TYPE);
     }
 
     /**
      * 
-     * Create or get node with the path
+     * Get base node for endpoint
      * 
-     * @param exchanges
+     * @param session
+     * @param endpointName
+     * @return Node
+     * @throws RepositoryException
+     */
+    private Node getEndpointNode(Session session, String endpointName) throws RepositoryException {
+        Node endpoints = session.getRootNode().getNode(CONTENT_ENDPOINTS);
+
+        String id = endpointName.replaceAll(":", "_").replaceAll("/", "-");
+
+        return createOrGet(endpoints, id, ENDPOINT_RESOURCE_TYPE);
+    }
+
+    /**
+     * 
+     * Create or get child node with path and resource type
+     * 
+     * @param parent
      * @param path
+     * @param resourceType
      * @return Node
      * @throws ValueFormatException
      * @throws VersionException
@@ -206,16 +228,14 @@
      * @throws ConstraintViolationException
      * @throws RepositoryException
      */
-    private synchronized Node createOrGet(Node exchanges, String path)
-            throws ValueFormatException, VersionException, LockException,
-            ConstraintViolationException, RepositoryException {
+    private synchronized Node createOrGet(Node parent, String path, String resourceType) throws ValueFormatException, VersionException,
+            LockException, ConstraintViolationException, RepositoryException {
         try {
-            return exchanges.getNode(path);
+            return parent.getNode(path);
 
         } catch (PathNotFoundException e) {
-            Node node = exchanges.addNode(path);
-            node.setProperty(RESOURCE_TYPE, EXCHANGES_RESOURCE_TYPE);
-
+            Node node = parent.addNode(path);
+            node.setProperty(RESOURCE_TYPE, resourceType);
             node.setProperty("Created", new DateValue(new GregorianCalendar()));
             return node;
         }
@@ -223,7 +243,7 @@
 
     /**
      * 
-     * 
+     * Add in, out and fault messages, if exist
      * 
      * @param node
      * @param exchange
@@ -236,12 +256,9 @@
      * @throws RepositoryException
      * @throws TransformerException
      */
-    private void addNormalizedMessages(Node node, MessageExchange exchange)
-            throws ItemExistsException, PathNotFoundException,
-            VersionException, ConstraintViolationException, LockException,
-            MessagingException, RepositoryException, TransformerException {
-        
-        
+    private void addNormalizedMessages(Node node, MessageExchange exchange) throws ItemExistsException, PathNotFoundException,
+            VersionException, ConstraintViolationException, LockException, MessagingException, RepositoryException, TransformerException {
+
         if (exchange.getMessage("in") != null) {
             addNormalizedMessages(node, "In", exchange.getMessage("in"));
         }
@@ -255,7 +272,7 @@
 
     /**
      * 
-     * 
+     * Add normalized message to node as property
      * 
      * @param parent
      * @param type
@@ -269,11 +286,9 @@
      * @throws MessagingException
      * @throws TransformerException
      */
-    private void addNormalizedMessages(Node parent, String type,
-            NormalizedMessage message) throws ItemExistsException,
-            PathNotFoundException, VersionException,
-            ConstraintViolationException, LockException, RepositoryException,
-            MessagingException, TransformerException {
+    private void addNormalizedMessages(Node parent, String type, NormalizedMessage message) throws ItemExistsException,
+            PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException, MessagingException,
+            TransformerException {
         if (message != null) {
             Node node;
             try {
@@ -292,15 +307,14 @@
 
     /**
      * 
-     * 
+     * Get content from normalized message
      * 
      * @param message
      * @return String
      * @throws MessagingException
      * @throws TransformerException
      */
-    private String getNormalizedMessageContent(NormalizedMessage message)
-            throws MessagingException, TransformerException {
+    private String getNormalizedMessageContent(NormalizedMessage message) throws MessagingException, TransformerException {
         MessageUtil.enableContentRereadability(message);
         return TRANSFORMER.toString(message.getContent());
     }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps.json
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps.json?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps.json (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps.json Fri Feb 27 08:59:02 2009
@@ -1,3 +1,3 @@
 {
-   "jcr:primaryType":"nt:unstructured"
+   "jcr:primaryType":"sling:Folder"
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix.json
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix.json?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix.json (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix.json Fri Feb 27 08:59:02 2009
@@ -1,7 +1,7 @@
 {
-   "jcr:primaryType":"nt:unstructured",
+   "jcr:primaryType":"sling:Folder",
 
    "servicemix":{
-      "jcr:primaryType":"nt:unstructured"
+      "jcr:primaryType":"sling:Folder"
    }
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/html.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/html.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/html.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/html.esp Fri Feb 27 08:59:02 2009
@@ -1,3 +1,141 @@
+<<<<<<< .mine
+<html>
+<head>
+<title>Apache ServiceMix :: Configuration</title>
+<link rel="stylesheet" type="text/css" href="/theme/master.css"/>
+</head>
+<body>
+<div id="page">
+<h1>Apache ServiceMix :: Configuration</h1>
+
+<div id="content">
+<br>
+<b>Config values:</b>
+<h2></h2>
+
+<script type="text/javascript">
+  var xmlHttp;
+
+  function createXMLHttpRequest() {
+
+    var xmlHttp;
+
+    if (window.ActiveXObject) {
+	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
+    }
+    else if(window.XMLHttpRequest) {
+	xmlHttp = new XMLHttpRequest();
+    }
+    return xmlHttp;
+  }
+
+  function viewInfo(info) {
+    var place = document.getElementById("infoView");
+    place.removeChild(place.childNodes[0])
+    var answer = document.createTextNode(info);
+    place.appendChild(answer);
+  }
+
+  function createCell(text) {
+  
+     var cell = document.createElement("td");
+     var textNode = document.createTextNode(text);
+     cell.appendChild(textNode);
+     return cell;
+  }
+
+  function updateSettingsTable() {
+  
+    var tableBody = document.getElementById("tableBody");
+       
+    while(tableBody.childNodes.length > 0) {
+       tableBody.removeChild(tableBody.childNodes[0]);
+    }
+  
+    var row = document.createElement("tr");
+    var cell = createCell("Log level");
+    row.appendChild(cell);
+    cell = createCell(document.getElementById("logger").value);
+    row.appendChild(cell);
+
+    document.getElementById("tableBody").appendChild(row);  
+  }
+
+  function saveSettings() {
+
+     var logger = document.getElementById("logger").value;
+
+     var url = "http://admin:admin@localhost:8080/servicemix/config?time=" + new Date().getTime();
+     var queryString = "logger=" + logger;
+
+     xmlHttp = createXMLHttpRequest();
+     xmlHttp.onreadystatechange = processSaveSettings;
+     xmlHttp.open("POST", url, true);
+     xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
+     xmlHttp.send(queryString);
+  }
+
+  function processSaveSettings() {
+
+     if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
+           
+           var answer = xmlHttp.responseText;
+           viewInfo("Status: Logger is setting to " + answer);
+  
+           updateSettingsTable();        
+      }
+      else {
+         viewInfo("<b>Status:</b> Error while loading page" + xmlHttp.status +":"+ xmlHttp.statusText);
+      }
+   }
+
+</script>
+
+  <div id="selection">
+    <form action="#">
+     <select name="logger" id="logger">
+       <option value="debug">DEBUG</option>
+       <option value="info">INFO</option>
+     </select>
+
+     <input type="button" value="Save settings" onClick="saveSettings();"/>
+
+     <script type="text/javascript">
+       if (document.getElementById("logger").value == "debug") {
+       document.write("<input type=\"hidden\" name=\"currentNode@marshaler\" value=\"EntireMarshaler\"/>");
+       }
+       else {
+       document.write("<input type=\"hidden\" name=\"currentNode@marshaler\" value=\"HeaderMetadataMarshaler\"/>");
+       }
+     </script>
+    </form>
+  </div>
+
+<div id="loggerView">
+  <table id="settingsTable">
+    <tr><th>Property</th><th>value</th></tr>
+    <tbody id="tableBody">
+    <tr><td>Log level</td><td>
+      <% if (currentNode['marshaler'] == "EntireMarshaler") {
+      out.print('DEBUG');
+      } else {
+      out.print('INFO');
+      } %>
+    </td></tr>
+
+    </tbody>
+  </table>
+</div>
+
+<div id="infoView">
+  <b>Status:</b>
+</div>
+
+</div>
+<% sling.include("/content/servicemix/navigation.div"); %>
+</div>
+</html>
+=======
 <html>
 <head>
 <title>Apache ServiceMix :: Configuration</title>
@@ -56,3 +194,4 @@
 <% sling.include("/content/servicemix/navigation.div"); %>
 </div>
 </html>
+>>>>>>> .r747478

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/tr.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/tr.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/tr.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/config/tr.esp Fri Feb 27 08:59:02 2009
@@ -6,3 +6,11 @@
   <td>&rarr;</td>
   <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
 </tr>
+<tr>  
+  <td>&rarr;</td>
+  <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
+</tr>
+<tr>  
+  <td>&rarr;</td>
+  <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
+</tr>

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/dashboard/html.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/dashboard/html.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/dashboard/html.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/dashboard/html.esp Fri Feb 27 08:59:02 2009
@@ -27,7 +27,7 @@
  </div>
  
  <div id="portlet">
- <h2>Recent exchange archives (sorted by correlation id)</h2>
+ <h2>Recent messages flows archives (sorted by correlation id)</h2>
  <ul>
    <%          
      var current = 0;
@@ -59,6 +59,35 @@
         %>
    </ul>
  </div>
+ <div id="portlet">
+   <h2>Used endpoints</h2>
+     <ul>
+   <%
+        var iter = request.resourceResolver.findResources("content/servicemix/endpoints/* order by @Created descending",
+                            Packages.javax.jcr.query.Query.XPATH);
+        var i = 0;
+        while (iter.hasNext() && ++i <= 15) {
+           var resource = iter.next();
+           var name = resource.getPath().substr(resource.getPath().lastIndexOf("/")+1);
+           %>
+	   <li><a href="<%= resource.getPath() + ".html" %>"><%= name %></a></li>
+	 <%
+        }
+        %>
+   </ul>
+ </div>
+
+ <div id="portlet">
+   <h2>Failed exchanges</h2>
+
+ </div>
+
+ <div id="portlet">
+   <h2>Throughput</h2>
+
+   </ul>
+ </div>
+
 </div>
 
 <% sling.include("/servicemix/navigation.div"); %>

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/exchange/html.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/exchange/html.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/exchange/html.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/exchange/html.esp Fri Feb 27 08:59:02 2009
@@ -20,7 +20,20 @@
   if (property.match("org.apache.servicemix") || property.match("javax.jbi")) { %>
 <tr>
 <td><%= property %></td>
-<td><%= currentNode[property] %></td>
+<% if (property.match("org.apache.servicemix.senderEndpoint")) {
+       var name = currentNode.getPath().substr(resource.getPath().lastIndexOf("/")+1);
+       var path = "/servicemix/endpoints/"+currentNode['endpointId']+".html";
+  
+       out.print('<td><a href='+path+'>'+currentNode[property]+'</a></td>');
+ 
+   }
+   else if (property.match("endpointId")) {
+      continue;
+   }
+   else { 
+      out.print('<td>'+currentNode[property]+'</td>');
+   
+   } %>
 </tr>
 <% } } %>
 </table>

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flow/tr.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flow/tr.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flow/tr.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flow/tr.esp Fri Feb 27 08:59:02 2009
@@ -1,12 +1,21 @@
+<<<<<<< .mine
 <tr>
   <td>&rarr;</td>
   <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
   <td>time: </td>
   <td><%=currentNode['Created'] %></td>
 </tr>
+=======
 <tr>
   <td>&rarr;</td>
   <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
   <td>time: </td>
   <td><%=currentNode['Created'] %></td>
 </tr>
+<tr>
+  <td>&rarr;</td>
+  <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
+  <td>time: </td>
+  <td><%=currentNode['Created'] %></td>
+</tr>
+>>>>>>> .r747478

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/html.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/html.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/html.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/html.esp Fri Feb 27 08:59:02 2009
@@ -1,3 +1,31 @@
+<<<<<<< .mine
+<html>
+<head>
+<title>Apache ServiceMix :: Browse the archive</title>
+<link rel="stylesheet" type="text/css" href="/theme/master.css"/>
+</head>
+<body>
+<div id="page">
+<h1>Apache ServiceMix :: Browse the archive</h1>
+
+<div id="content">
+<br>
+<b>Message flows:</b>
+<h2></h2>
+
+<table>
+<% var current = 0;
+   for (var flow in currentNode.getChildren()) {
+    sling.include(currentNode[flow] + ".tr"); 
+    if (++current >= 50) break;
+ } 
+%>
+</table>
+</div>
+<% sling.include("/content/servicemix/navigation.div"); %>
+</div>
+</html>
+=======
 <html>
 <head>
 <title>Apache ServiceMix :: Browse the archive</title>
@@ -44,3 +72,4 @@
 <% sling.include("/content/servicemix/navigation.div"); %>
 </div>
 </html>
+>>>>>>> .r747478

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/tr.esp
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/tr.esp?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/tr.esp (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/apps/servicemix/message_flows/tr.esp Fri Feb 27 08:59:02 2009
@@ -1,8 +1,15 @@
+<<<<<<< .mine
 <tr>  
   <td>&rarr;</td>
   <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
 </tr>
+=======
 <tr>  
   <td>&rarr;</td>
   <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
 </tr>
+<tr>  
+  <td>&rarr;</td>
+  <td><a href="<%=currentNode%>.html"><%=currentNode['CorrelationId'] %></a></td>
+</tr>
+>>>>>>> .r747478

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content.json
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content.json?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content.json (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content.json Fri Feb 27 08:59:02 2009
@@ -1,3 +1,3 @@
 {
-   "jcr:primaryType":"nt:unstructured"
+   "jcr:primaryType":"sling:Folder"
 }

Modified: servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content/servicemix.json
URL: http://svn.apache.org/viewvc/servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content/servicemix.json?rev=748444&r1=748443&r2=748444&view=diff
==============================================================================
--- servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content/servicemix.json (original)
+++ servicemix/sandbox/gertv/smx-sling/servicemix-sling-console/src/main/resources/initial-content/content/servicemix.json Fri Feb 27 08:59:02 2009
@@ -1,23 +1,33 @@
 {
-   "jcr:primaryType":"nt:unstructured",
+   "jcr:primaryType":"sling:Folder",
    "sling:resourceType":"servicemix/dashboard",
    
    "exchanges":{
-      "jcr:primaryType":"nt:unstructured",
+      "jcr:primaryType":"sling:Folder",
       "sling:resourceType":"servicemix/exchanges"
    },
 
    "message_flows":{
-      "jcr:primaryType":"nt:unstructured",
+      "jcr:primaryType":"sling:Folder",
       "sling:resourceType":"servicemix/message_flows"
    },  
    
+   "endpoints":{
+      "jcr:primaryType":"sling:Folder",
+      "sling:resourceType":"servicemix/endpoints"
+   },
+
    "navigation":{
-      "jcr:primaryType":"nt:unstructured",
+      "jcr:primaryType":"sling:Folder",
       "sling:resourceType":"servicemix/navigation"
    },
    
    "config":{
+      "jcr:primaryType":"sling:Folder",
+      "sling:resourceType":"servicemix/config"
+   },
+   
+   "config":{
       "jcr:primaryType":"nt:unstructured",
       "sling:resourceType":"servicemix/config"
    }