Friday, December 2, 2011

svn commit: r1209711 - in /labs/magnet: ./ core/ core/src/ core/src/main/ core/src/main/java/ core/src/main/java/org/ core/src/main/java/org/apache/ core/src/main/java/org/apache/labs/ core/src/main/java/org/apache/labs/magnet/ core/src/main/java/org/a...

Author: hadrian
Date: Fri Dec 2 21:52:42 2011
New Revision: 1209711

URL: http://svn.apache.org/viewvc?rev=1209711&view=rev
Log:
Add skeleton for application core

Added:
labs/magnet/core/
labs/magnet/core/pom.xml (with props)
labs/magnet/core/src/
labs/magnet/core/src/main/
labs/magnet/core/src/main/java/
labs/magnet/core/src/main/java/org/
labs/magnet/core/src/main/java/org/apache/
labs/magnet/core/src/main/java/org/apache/labs/
labs/magnet/core/src/main/java/org/apache/labs/magnet/
labs/magnet/core/src/main/java/org/apache/labs/magnet/core/
labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java (with props)
labs/magnet/core/src/main/resources/
labs/magnet/core/src/main/resources/META-INF/
labs/magnet/core/src/main/resources/META-INF/spring/
labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml (with props)
labs/magnet/core/src/main/resources/core.properties
labs/magnet/core/src/main/resources/log4j.properties
labs/magnet/core/src/test/
labs/magnet/core/src/test/java/
labs/magnet/core/src/test/java/org/
labs/magnet/core/src/test/java/org/apache/
labs/magnet/core/src/test/java/org/apache/labs/
labs/magnet/core/src/test/java/org/apache/labs/magnet/
labs/magnet/core/src/test/java/org/apache/labs/magnet/core/
labs/magnet/core/src/test/java/org/apache/labs/magnet/core/RouteTest.java
labs/magnet/core/src/test/resources/
Modified:
labs/magnet/magnet/pom.xml
labs/magnet/pom.xml

Added: labs/magnet/core/pom.xml
URL: http://svn.apache.org/viewvc/labs/magnet/core/pom.xml?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/pom.xml (added)
+++ labs/magnet/core/pom.xml Fri Dec 2 21:52:42 2011
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ 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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.labs.magnet</groupId>
+ <artifactId>magnet</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../magnet</relativePath>
+ </parent>
+
+ <groupId>org.apache.labs.magnet</groupId>
+ <artifactId>core</artifactId>
+ <packaging>bundle</packaging>
+ <name>Magnet :: Application :: Core</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-pool</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-http</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jms</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jackson</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-spring</artifactId>
+ <version>${spring.xbean.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+
+ <!-- for testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http-jetty</artifactId>
+ <version>${cxf.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <defaultGoal>install</defaultGoal>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+ <Import-Package>*</Import-Package>
+ <Private-Package>!*</Private-Package>
+ <Require-Bundle>org.apache.cxf.bundle,org.apache.activemq.activemq-core,org.apache.activemq.activemq-spring</Require-Bundle>
+ <Export-Package>
+ org.apache.labs.magnet.core
+ </Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>

Propchange: labs/magnet/core/pom.xml
------------------------------------------------------------------------------
svn:executable = *

Added: labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java
URL: http://svn.apache.org/viewvc/labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java (added)
+++ labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java Fri Dec 2 21:52:42 2011
@@ -0,0 +1,28 @@
+/**
+ * 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.
+ */
+package org.apache.labs.magnet.core;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+
+public class CoreRouteBuilder extends RouteBuilder {
+ @Override
+ public void configure() throws Exception {
+ from("direct:core").routeId("core").noAutoStartup()
+ .setHeader(Exchange.FILE_NAME, constant("filename")).to("log:core");
+ }
+}

Propchange: labs/magnet/core/src/main/java/org/apache/labs/magnet/core/CoreRouteBuilder.java
------------------------------------------------------------------------------
svn:executable = *

Added: labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml
URL: http://svn.apache.org/viewvc/labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml (added)
+++ labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml Fri Dec 2 21:52:42 2011
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+
+<!-- Configures the Camel Context-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:amq="http://activemq.apache.org/schema/core"
+ xmlns:cxf="http://camel.apache.org/schema/cxf"
+ xmlns:jaxws="http://cxf.apache.org/jaxws"
+ xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+ xsi:schemaLocation="
+ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
+ http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+ http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
+ http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
+
+ <import resource="classpath:META-INF/cxf/cxf.xml"/>
+
+ <!-- Create an embedded ActiveMQ Broker
+ <bean id="jmsConnectionFactory"
+ class="org.apache.activemq.ActiveMQConnectionFactory">
+ <property name="brokerURL" value="tcp://localhost:61616" />
+ </bean>
+
+ <bean id="pooledConnectionFactory"
+ class="org.apache.activemq.pool.PooledConnectionFactory">
+ <property name="maxConnections" value="8" />
+ <property name="maximumActive" value="500" />
+ <property name="connectionFactory" ref="jmsConnectionFactory" />
+ </bean>
+
+ <bean id="jmsConfig"
+ class="org.apache.camel.component.jms.JmsConfiguration">
+ <property name="connectionFactory" ref="pooledConnectionFactory"/>
+ <property name="transacted" value="false"/>
+ <property name="concurrentConsumers" value="10"/>
+ </bean>
+
+ <amq:broker id="broker" useJmx="true" persistent="false" brokerName="activemq" useShutdownHook="false">
+ <amq:transportConnectors>
+ <amq:transportConnector name="openwire" uri="tcp://localhost:61616" />
+ </amq:transportConnectors>
+ </amq:broker -->
+
+
+ <!-- Web Services -->
+ <!-- TODO: add here -->
+
+ <bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
+ <property name="location" value="classpath:core.properties"/>
+ </bean>
+
+ <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring">
+ <package>org.apache.labs.magnet.core</package>
+
+ <route id="sample" autoStartup="false">
+ <from uri="{{schedule.task}}" />
+ <to uri="log:task" />
+ </route>
+ </camelContext>
+
+</beans>

Propchange: labs/magnet/core/src/main/resources/META-INF/spring/camel-context.xml
------------------------------------------------------------------------------
svn:executable = *

Added: labs/magnet/core/src/main/resources/core.properties
URL: http://svn.apache.org/viewvc/labs/magnet/core/src/main/resources/core.properties?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/src/main/resources/core.properties (added)
+++ labs/magnet/core/src/main/resources/core.properties Fri Dec 2 21:52:42 2011
@@ -0,0 +1,19 @@
+## ------------------------------------------------------------------------
+## 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.
+## ------------------------------------------------------------------------
+
+schedule.task=direct:task
+

Added: labs/magnet/core/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/labs/magnet/core/src/main/resources/log4j.properties?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/src/main/resources/log4j.properties (added)
+++ labs/magnet/core/src/main/resources/log4j.properties Fri Dec 2 21:52:42 2011
@@ -0,0 +1,36 @@
+## ------------------------------------------------------------------------
+## 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.
+## ------------------------------------------------------------------------
+
+
+log4j.rootLogger=INFO, out
+
+# uncomment the following line to turn on Camel debugging
+#log4j.logger.org.apache.camel=DEBUG
+
+# uncomment the following line to turn on ActiveMQ debugging
+#log4j.logger.org.apache.activemq=DEBUG
+
+log4j.logger.org.springframework=WARN
+
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
+#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer
\ No newline at end of file

Added: labs/magnet/core/src/test/java/org/apache/labs/magnet/core/RouteTest.java
URL: http://svn.apache.org/viewvc/labs/magnet/core/src/test/java/org/apache/labs/magnet/core/RouteTest.java?rev=1209711&view=auto
==============================================================================
--- labs/magnet/core/src/test/java/org/apache/labs/magnet/core/RouteTest.java (added)
+++ labs/magnet/core/src/test/java/org/apache/labs/magnet/core/RouteTest.java Fri Dec 2 21:52:42 2011
@@ -0,0 +1,33 @@
+/**
+ * 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.
+ */
+package org.apache.labs.magnet.core;
+
+import org.apache.camel.test.junit4.CamelSpringTestSupport;
+import org.junit.Test;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+
+public class RouteTest extends CamelSpringTestSupport {
+
+ protected ClassPathXmlApplicationContext createApplicationContext() {
+ return new ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");
+ }
+
+ @Test
+ public void testRoute() throws Exception {
+ }
+}

Modified: labs/magnet/magnet/pom.xml
URL: http://svn.apache.org/viewvc/labs/magnet/magnet/pom.xml?rev=1209711&r1=1209710&r2=1209711&view=diff
==============================================================================
--- labs/magnet/magnet/pom.xml (original)
+++ labs/magnet/magnet/pom.xml Fri Dec 2 21:52:42 2011
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ 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.
+
+-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

@@ -25,6 +43,7 @@
<karaf.version>2.2.4</karaf.version>

<spring.version>3.0.6.RELEASE</spring.version>
+ <spring.xbean.version>3.5</spring.xbean.version>
<slf4j.version>1.6.1</slf4j.version>
<log4j.version>1.2.16</log4j.version>
<jackson.version>1.9.2</jackson.version>
@@ -35,6 +54,53 @@
<dependencyManagement>
<dependencies>
<dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-core</artifactId>
+ <version>${activemq.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-pool</artifactId>
+ <version>${activemq.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-http</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jms</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jackson</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-cxf</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-test</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>

Modified: labs/magnet/pom.xml
URL: http://svn.apache.org/viewvc/labs/magnet/pom.xml?rev=1209711&r1=1209710&r2=1209711&view=diff
==============================================================================
--- labs/magnet/pom.xml (original)
+++ labs/magnet/pom.xml Fri Dec 2 21:52:42 2011
@@ -1,5 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--
+
+ 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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

@@ -43,6 +62,7 @@

<modules>
<module>magnet</module>
+ <module>core</module>
<module>birdie</module>

<module>graffiti</module>

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org

No comments:

Post a Comment