You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ah...@apache.org on 2009/04/28 01:06:24 UTC
svn commit: r769197 -
/maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java
Author: aheritier
Date: Mon Apr 27 23:06:24 2009
New Revision: 769197
URL: http://svn.apache.org/viewvc?rev=769197&view=rev
Log:
MECLIPSE-455 : Invalid dependent module archive name for EJB artifact
Added:
maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java (with props)
Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java?rev=769197&view=auto
==============================================================================
--- maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java (added)
+++ maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java Mon Apr 27 23:06:24 2009
@@ -0,0 +1,140 @@
+/*
+ * 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.maven.plugin.eclipse.writers;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.eclipse.writers.testutils.TestEclipseWriterConfig;
+import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponent15Writer;
+import org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponentWriter;
+import org.apache.maven.plugin.ide.IdeDependency;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugin.logging.SystemStreamLog;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.tools.easymock.TestFileManager;
+import org.jdom.Attribute;
+import org.jdom.Document;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.xpath.XPath;
+
+/**
+ * Component writer test for WTP 1.5.
+ *
+ * @author Steffen Grunwald
+ */
+public class EclipseWtpComponent15WriterTest extends TestCase {
+
+ private TestFileManager fileManager = new TestFileManager(
+ "EclipseWtpComponent15Writer.unitTest.", "");
+
+ protected void tearDown() throws IOException {
+ fileManager.cleanUp();
+ }
+
+ /**
+ * Tests the creation of the ejb module references in the org.eclipse.wst.common.component file for:
+ * <ul>
+ * <li>component file of EAR
+ * <li>WTP 1.5
+ * <li>dep is referenced project
+ * </ul>
+ *
+ * The archivename is expected to be jar - independent from the packaging (ejb).
+ *
+ * @throws MojoExecutionException Exception
+ * @throws IOException Exception
+ * @throws JDOMException Exception
+ */
+ public void testWriteEjbComponentMECLIPSE455()
+ throws MojoExecutionException, IOException, JDOMException {
+
+ TestEclipseWriterConfig config = new TestEclipseWriterConfig();
+
+ config.setWtpVersion(1.5f);
+ config.setEclipseProjectName("test-project");
+
+ File basedir = fileManager.createTempDir();
+ File pom = new File(basedir, "pom.xml");
+ pom.createNewFile();
+
+ MavenProject project = new MavenProject();
+ project.setFile(pom);
+
+ config.setProject(project);
+ config.setProjectBaseDir(basedir);
+
+ config.setEclipseProjectDirectory(basedir);
+ config.setPackaging("ear");
+
+ // add an ejb3 and ejb packaged dependency
+ config.setDeps(new IdeDependency[]{createDep("ejb"), createDep("jar")});
+
+ EclipseWtpComponentWriter lWriter = new EclipseWtpComponent15Writer();
+
+ Log log = new TestLog();
+
+ lWriter.init(log, config);
+
+ lWriter.write();
+
+ // now check extension of archivenames to be jar
+ SAXBuilder builder = new SAXBuilder( false );
+
+ Document doc = builder.build( new File( basedir, ".settings/org.eclipse.wst.common.component" ) );
+
+ XPath archiveNames = XPath.newInstance( "//dependent-module/@archiveName" );
+
+ assertEquals("Must be 2 modules", 2, archiveNames.selectNodes( doc ).size());
+ for ( Iterator it = archiveNames.selectNodes( doc ).iterator(); it.hasNext(); )
+ {
+ Attribute attribute = (Attribute) it.next();
+
+ String archiveName = attribute.getValue();
+ String extension = archiveName.substring(archiveName.lastIndexOf(".") + 1).toLowerCase();
+
+ assertEquals("Must be of type jar", "jar", extension);
+ }
+
+ }
+
+ private IdeDependency createDep(String packagingType) {
+ IdeDependency dependency = new IdeDependency();
+ dependency.setGroupId("g");
+ dependency.setArtifactId(packagingType + "Artifact");
+ dependency.setVersion("v");
+ dependency.setReferencedProject(true);
+ dependency.setAddedToClasspath(true);
+ dependency.setEclipseProjectName(packagingType + "Project");
+ dependency.setType(packagingType);
+ return dependency;
+ }
+
+ private static final class TestLog extends SystemStreamLog {
+ public boolean isDebugEnabled() {
+ return true;
+ }
+ }
+
+}
Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/writers/EclipseWtpComponent15WriterTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision