You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2007/08/06 11:03:47 UTC
svn commit: r563074 - in /incubator/servicemix/branches/servicemix-4.0: ./
api/ api/src/ api/src/main/ api/src/main/java/ api/src/main/java/org/
api/src/main/java/org/apache/ api/src/main/java/org/apache/servicemix/
api/src/main/java/org/apache/service...
Author: gnodet
Date: Mon Aug 6 02:03:45 2007
New Revision: 563074
URL: http://svn.apache.org/viewvc?view=rev&rev=563074
Log:
Check in API draft
Added:
incubator/servicemix/branches/servicemix-4.0/api/
incubator/servicemix/branches/servicemix-4.0/api/pom.xml
incubator/servicemix/branches/servicemix-4.0/api/src/
incubator/servicemix/branches/servicemix-4.0/api/src/main/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Channel.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Endpoint.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Exchange.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Message.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Reference.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Registry.java
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/package.html
incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/support/
incubator/servicemix/branches/servicemix-4.0/api/src/test/
incubator/servicemix/branches/servicemix-4.0/api/src/test/java/
incubator/servicemix/branches/servicemix-4.0/api/src/test/java/org/
incubator/servicemix/branches/servicemix-4.0/api/src/test/java/org/apache/
incubator/servicemix/branches/servicemix-4.0/api/src/test/java/org/apache/servicemix/
incubator/servicemix/branches/servicemix-4.0/api/src/test/java/org/apache/servicemix/api/
incubator/servicemix/branches/servicemix-4.0/pom.xml
Added: incubator/servicemix/branches/servicemix-4.0/api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/pom.xml?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/pom.xml Mon Aug 6 02:03:45 2007
@@ -0,0 +1,52 @@
+<?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.
+-->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>org.apache.servicemix.api</artifactId>
+ <packaging>jar</packaging>
+ <version>4.0-SNAPSHOT</version>
+ <name>org.apache.servicemix.api</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Export-Package>${pom.artifactId}</Export-Package>
+ <DynamicImport-Package>*</DynamicImport-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Channel.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Channel.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Channel.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Channel.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,79 @@
+/*
+ * 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.servicemix.api;
+
+import java.util.concurrent.Future;
+
+/**
+ * Creates a channel to perform invocations on the NMR.
+ *
+ * @version $Revision: $
+ */
+public interface Channel {
+
+ /**
+ * Used for asynchronous notification of the exchange processing being complete
+ *
+ * @version $Revision: $
+ */
+ public interface AsyncHandler {
+
+ void handle(Exchange exchange);
+
+ }
+
+ /**
+ * Creates a new exchange.
+ *
+ * @param pattern specify the InOnly / InOut / RobustInOnly / RobustInOut
+ * @return a new exchange of the given pattern
+ */
+ Exchange createExchange(Exchange.Pattern pattern);
+
+ /**
+ * Asynchronously invocation of the service
+ */
+ void send(Exchange exchange);
+
+ /**
+ * An asynchronous invocation of the service which will notify the returned future when the invocation
+ * is complete
+ *
+ * @param exchange
+ * @return a future to be invoked with the exchange when it is complete
+ */
+ Future<Exchange> invokeAsync(Exchange exchange);
+
+ /**
+ * An asynchronous invocation of the service which will invoke the handler when the invocation
+ * is completed
+ *
+ * @param exchange the exchange to invoke
+ * @param handler the handler invoked, typically from another thread, when the invocation is completed
+ * to avoid a thread context switch
+ *
+ * @return a future so that the invocation can be canceled
+ */
+ Future<Exchange> invokeAsync(Exchange exchange, AsyncHandler handler);
+
+ /**
+ * Closes the channel, freeing up any resources (like sockets, threads etc)
+ */
+ void close();
+
+}
+
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Endpoint.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Endpoint.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Endpoint.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Endpoint.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,50 @@
+/*
+ * 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.servicemix.api;
+
+/**
+ * Represents an endpoint to expose in the NMR.
+ * Exposing an endpoint in the NMR is done using the (@link Registry}.
+ *
+ * The endpoint will be given Exchange to process and must be prepared to
+ * be given several exchanges concurrently for processing.
+ *
+ * @version $Revision: $
+ */
+public interface Endpoint {
+
+ /**
+ * Set the channel so that the endpoint can send exchanges back
+ * when they are processed or act as a consumer itself.
+ * This method will be called by the NMR while the endpoint is registered.
+ *
+ * @param channel the channel that this endpoint can use
+ */
+ void setChannel(Channel channel);
+
+ /**
+ * Process the given exchange. The processing can occur in the current thread
+ * or asynchronously.
+ * If an exchange has sent an exchange asynchronously to another endpoint,
+ * it will receive the exchange back using this method. An endpoint can
+ * recognized such exchanges by checking the role of the exchange.
+ *
+ * @param exchange the exchange to process
+ */
+ void process(Exchange exchange);
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Exchange.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Exchange.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Exchange.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Exchange.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,133 @@
+/*
+ * 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.servicemix.api;
+
+import java.util.Set;
+
+/**
+ * Represents a message exchange.
+ *
+ * An exchange is used to interact with a channel
+ * representing a link to a logical endpoint.
+ * Exchanges are created using the {@link Channel}.
+ *
+ * @version $Revision: $
+ */
+public interface Exchange {
+
+ enum Pattern {
+ InOnly,
+ RobustInOnly,
+ InOut,
+ InOptionalOut;
+
+ public boolean has(Message.Type msg) {
+ switch (msg) {
+ case In:
+ return true;
+ case Out:
+ return this == InOut || this == InOptionalOut;
+ case Fault:
+ return this != InOnly;
+ default:
+ return false;
+ }
+ }
+ }
+
+ enum Role {
+ Consumer,
+ Provider,
+ }
+
+ /**
+ * The role of the exchange.
+ * @return
+ */
+ Role getRole();
+
+ /**
+ * The exchange pattern
+ * @return
+ */
+ Exchange.Pattern getPattern();
+
+ Reference getReference();
+
+ void setReference(Reference target);
+
+ /**
+ *
+ * @return the names of properties set on this exchange
+ */
+ Set<String> getPropertyNames();
+
+ /**
+ * Get a given property by its name.
+ *
+ * @param name the name of the property to retrieve
+ * @return the value of the property or <code>null</code> if none has been set
+ */
+ Object getProperty(String name);
+
+ /**
+ * Set a property on this exchange.
+ * Giving <code>null</code> will actually remove the property for the list.
+ *
+ * @param name the name of the property
+ * @param value the value for this property or <code>null</code>
+ */
+ void setProperty(String name, Object value);
+
+ /**
+ * Obtains the input message
+ * @return the input message or <code>null</code> if
+ * this pattern do not have any
+ */
+ Message getIn();
+
+ /**
+ * Obtains the output message
+ * @return the output message or <code>null</code> if
+ * this pattern does not have any
+ */
+ Message getOut();
+
+ /**
+ * Obtains the fault message
+ * @return the fault message or <code>null</code> if
+ * this pattern does not have any
+ */
+ Message getFault();
+
+ /**
+ * Obtains the message of the given type
+ * @return the message or <code>null</code> if
+ * this pattern does not support this type of message
+ */
+ Message getMessage(Message.Type dir);
+
+ /**
+ * Obtains the error of this exchange
+ * @return the exception that caused the exchange to fail
+ */
+ Exception getError();
+
+ Exchange copy();
+ String toString();
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Message.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Message.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Message.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Message.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,63 @@
+/*
+ * 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.servicemix.api;
+
+import java.util.Set;
+
+/**
+ * @version $Revision: $
+ */
+public interface Message {
+
+ enum Type {
+ In, Out, Fault
+ }
+
+ Object getContent();
+ void setContent(Object content);
+
+ Set<String> getPropertyNames();
+ Object getProperty(String name);
+ void setProperty(String name, Object value);
+
+ Set<String> getAttachmentIds();
+ Object getAttachment(String id);
+ void addAttachment(String id, Object value);
+ void removeAttacment(String id);
+
+ /**
+ *
+ * @param msg the message to copy from
+ */
+ void copyFrom(Message msg);
+
+ /**
+ * Creates
+ * @return
+ */
+ Message copy();
+
+ /**
+ * Make sure that all streams container in the content and in
+ * attachements are transformed to re-readable sources.
+ * This method will be called by the framework when persisting
+ * the message or when displaying it
+ */
+ void ensureReReadable();
+
+ String toString();
+}
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Reference.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Reference.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Reference.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Reference.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,35 @@
+/*
+ * 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.servicemix.api;
+
+import org.w3c.dom.Document;
+
+/**
+ * Represents an endpoint reference or a logical endpoint.
+ * References are usually obtained from the {@link Registry} and used
+ * as targets for {@link Exchange}s.
+ *
+ * @version $Revision: $
+ */
+public interface Reference {
+
+
+ Document toXml();
+
+}
+
+
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Registry.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Registry.java?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Registry.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/Registry.java Mon Aug 6 02:03:45 2007
@@ -0,0 +1,62 @@
+/*
+ * 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.servicemix.api;
+
+import org.w3c.dom.Document;
+
+import java.util.Map;
+
+/**
+ * The Registry is used to register endpoints, unregister them, query endpoints
+ * and create a Channel to interfact with them.
+ *
+ */
+public interface Registry {
+
+ /**
+ * Register the given endpoint in the registry.
+ *
+ * @param endpoint the endpoint to register
+ * @param properties
+ */
+ void register(Endpoint endpoint, Map<String, ?> properties);
+
+ /**
+ * Unregister a previously register enpoint.
+ *
+ * @param endpoint the endpoint to unregister
+ */
+ void unregister(Endpoint endpoint);
+
+ /**
+ * From a given amount of metdata which could include interface name, service name
+ * policy data and so forth, choose an available endpoint reference to use
+ * for invocations.
+ *
+ * This could return actual endpoints, or a dynamic proxy to a number of endpoints
+ */
+ Reference lookup(Map<String, ?> properties);
+
+ Reference lookp(Document xml);
+
+ /**
+ * Create a channel to interact with the NMR without exposing an endpoint.
+ * @return
+ */
+ Channel createChannel();
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/package.html
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/package.html?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/package.html (added)
+++ incubator/servicemix/branches/servicemix-4.0/api/src/main/java/org/apache/servicemix/api/package.html Mon Aug 6 02:03:45 2007
@@ -0,0 +1,25 @@
+<!--
+ 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.
+-->
+<html>
+<head>
+</head>
+<body>
+
+Defines the core NMR and its client side invocation API
+
+</body>
+</html>
Added: incubator/servicemix/branches/servicemix-4.0/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/pom.xml?view=auto&rev=563074
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/pom.xml Mon Aug 6 02:03:45 2007
@@ -0,0 +1,53 @@
+<?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.
+-->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix</artifactId>
+ <packaging>pom</packaging>
+ <version>4.0-SNAPSHOT</version>
+
+ <modules>
+ <module>api</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project>