You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jl...@apache.org on 2022/05/03 12:22:12 UTC
svn commit: r1900504 [3/22] - in /geronimo/specs/trunk: ./ geronimo-activation_2.0_spec/ geronimo-activation_2.0_spec/src/ geronimo-activation_2.0_spec/src/main/ geronimo-activation_2.0_spec/src/main/java/ geronimo-activation_2.0_spec/src/main/java/jak...
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.java Tue May 3 12:22:08 2022
@@ -0,0 +1,143 @@
+/**
+ * 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.geronimo.specs.activation;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ConcurrentHashMap;
+
+import jakarta.activation.MailcapCommandMap;
+import jakarta.activation.CommandMap;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleEvent;
+import org.osgi.service.log.LogService;
+import org.osgi.util.tracker.BundleTrackerCustomizer;
+
+public class CommandMapBundleTrackerCustomizer implements BundleTrackerCustomizer {
+ // our base Activator (used as a service source)
+ private Activator activator;
+ // the bundle hosting the activation code
+ private Bundle activationBundle;
+ // the accumulated list of provider bundles that have command definitions
+ private ConcurrentMap<Long, URL> mailCaps = new ConcurrentHashMap<Long, URL>();
+
+ public CommandMapBundleTrackerCustomizer(Activator a, Bundle b) {
+ activator = a;
+ activationBundle = b;
+ }
+
+ /**
+ * Handle the activation of a new bundle.
+ *
+ * @param bundle The source bundle.
+ * @param event The bundle event information.
+ *
+ * @return A return object.
+ */
+ public Object addingBundle(Bundle bundle, BundleEvent event) {
+ if (bundle.equals(activationBundle)) {
+ return null;
+ }
+
+ return registerBundle(bundle);
+ }
+
+ /**
+ * Perform the check for an existing mailcap file when
+ * a bundle is registered.
+ *
+ * @param bundle The potential provider bundle.
+ *
+ * @return A URL object if this bundle contains a mailcap file.
+ */
+ private Object registerBundle(Bundle bundle) {
+ URL url = bundle.getResource("/META-INF/mailcap");
+ if (url != null) {
+ log(LogService.LOG_DEBUG, "found mailcap at " + url);
+ mailCaps.put(bundle.getBundleId(), url);
+ rebuildCommandMap();
+ }
+ // the url marks our interest in additional activity for this
+ // bundle.
+ return url;
+ }
+
+
+ /**
+ * Remove a bundle from our potential mailcap pool.
+ *
+ * @param bundle The potential source bundle.
+ */
+ protected void unregisterBundle(Bundle bundle) {
+ URL mailcap = mailCaps.remove(bundle.getBundleId());
+ if (mailcap != null ){
+ log(LogService.LOG_DEBUG, "removing mailcap at " + mailcap);
+ rebuildCommandMap();
+ }
+ }
+
+
+ public void modifiedBundle(Bundle bundle, BundleEvent event, Object object) {
+ log(LogService.LOG_DEBUG, "Bundle Considered for mailcap providers: " + bundle.getSymbolicName());
+ // this will update for the new bundle
+ registerBundle(bundle);
+ }
+
+ public void removedBundle(Bundle bundle, BundleEvent event, Object object) {
+ unregisterBundle(bundle);
+ }
+
+ private void log(int level, String message) {
+ activator.log(level, message);
+ }
+
+ private void log(int level, String message, Throwable th) {
+ activator.log(level, message, th);
+ }
+
+ /**
+ * Rebuild a new default command map after a change in
+ * the status of bundles providing command maps.
+ */
+ private void rebuildCommandMap() {
+ MailcapCommandMap commandMap = new MailcapCommandMap();
+ for (URL url : mailCaps.values()) {
+ try {
+ InputStream is = url.openStream();
+ try {
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ String line;
+ while ((line = br.readLine()) != null) {
+ commandMap.addMailcap(line);
+ }
+ } finally {
+ is.close();
+ }
+ } catch (Exception e) {
+ // Ignore
+ }
+ }
+ // this is our new default command map
+ CommandMap.setDefaultCommandMap(commandMap);
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/resources/META-INF/mimetypes.default
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/resources/META-INF/mimetypes.default?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/resources/META-INF/mimetypes.default (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/main/resources/META-INF/mimetypes.default Tue May 3 12:22:08 2022
@@ -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.
+text/html html htm HTML HTM
+text/plain txt text TXT TEXT
+image/gif gif GIF
+image/ief ief
+image/jpeg jpeg jpg jpe JPG
+image/tiff tiff tif
+image/x-xwindowdump xwd
+application/postscript ai eps ps
+application/rtf rtf
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-troff t tr roff
+audio/basic au
+audio/midi midi mid
+audio/x-aifc aifc
+audio/x-aiff aif aiff
+audio/x-wav wav
+video/mpeg mpeg mpg mpe
+video/quicktime qt mov
+video/x-msvideo avi
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/ActivationDataFlavorTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/ActivationDataFlavorTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/ActivationDataFlavorTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/ActivationDataFlavorTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,60 @@
+/**
+ *
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package jakarta.activation;
+
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ActivationDataFlavorTest extends TestCase {
+ public void testMimeTypeConstructorWithoutClass() {
+ ActivationDataFlavor adf = new ActivationDataFlavor("application/*", null);
+ assertEquals("application/*", adf.getMimeType());
+ assertEquals(InputStream.class, adf.getRepresentationClass());
+ }
+
+ public void testMimeTypeConstructorWithClass() {
+ ActivationDataFlavor adf = new ActivationDataFlavor("application/x-java-serialized-object; class=java.lang.Object", null);
+ assertEquals("application/x-java-serialized-object; class=java.lang.Object", adf.getMimeType());
+ assertEquals(InputStream.class, adf.getRepresentationClass());
+ }
+
+ public void testHumanName() {
+ ActivationDataFlavor adf = new ActivationDataFlavor("text/html", "Human Name");
+ assertEquals("Human Name", adf.getHumanPresentableName());
+ adf.setHumanPresentableName("Name 2");
+ assertEquals("Name 2", adf.getHumanPresentableName());
+ adf = new ActivationDataFlavor("text/html", null);
+ assertNull(adf.getHumanPresentableName());
+ }
+
+ public void testEquals() {
+ ActivationDataFlavor adf1 = new ActivationDataFlavor("text/plain", "text/plain");
+ ActivationDataFlavor adf2 = new ActivationDataFlavor("text/plain", "text/plain");
+ assertTrue(adf1.equals(adf2));
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/CommandInfoTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/CommandInfoTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/CommandInfoTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/CommandInfoTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package jakarta.activation;
+
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+import jakarta.activation.CommandInfo;
+import jakarta.activation.CommandObject;
+import jakarta.activation.DataHandler;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CommandInfoTest extends TestCase {
+ public void testAttributes() {
+ CommandInfo info = new CommandInfo("test", "test.class");
+ assertEquals("test", info.getCommandName());
+ assertEquals("test.class", info.getCommandClass());
+ }
+
+ public void testInvalidClassName() throws IOException {
+ CommandInfo info = new CommandInfo("test", "test.class");
+ try {
+ info.getCommandObject(null, null);
+ fail("Expected ClassNotFoundException");
+ } catch (ClassNotFoundException e) {
+ // ok
+ }
+ }
+
+ public void testCommandObject() throws IOException, ClassNotFoundException {
+ CommandInfo info = new CommandInfo("test", MockCommandObject.class.getName());
+ DataHandler dh = new DataHandler("Hello", "text/plain");
+ Object o = info.getCommandObject(dh, MockCommandObject.class.getClassLoader());
+ assertTrue(o instanceof MockCommandObject);
+ MockCommandObject bean = (MockCommandObject) o;
+ assertEquals("test", bean.verb);
+ assertSame(dh, bean.dh);
+ }
+
+ public static class MockCommandObject implements CommandObject {
+ private String verb;
+ private DataHandler dh;
+
+ public void setCommandContext(String verb, DataHandler dh) {
+ this.verb = verb;
+ this.dh = dh;
+ }
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/DataHandlerTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/DataHandlerTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/DataHandlerTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/DataHandlerTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,73 @@
+/**
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package jakarta.activation;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DataHandlerTest extends TestCase {
+ private CommandMap defaultMap;
+
+ public void testObjectInputStream() throws IOException {
+ DataHandler handler = new DataHandler("Hello World", "text/plain");
+ InputStream is = handler.getInputStream();
+ byte[] bytes = new byte[128];
+ assertEquals(11, is.read(bytes));
+ assertEquals("Hello World", new String(bytes, 0, 11));
+ }
+
+ protected void setUp() throws Exception {
+ defaultMap = CommandMap.getDefaultCommandMap();
+ MailcapCommandMap myMap = new MailcapCommandMap();
+ myMap.addMailcap("text/plain;; x-java-content-handler=" + DummyTextHandler.class.getName());
+ CommandMap.setDefaultCommandMap(myMap);
+ }
+
+ protected void tearDown() throws Exception {
+ CommandMap.setDefaultCommandMap(defaultMap);
+ }
+
+ public static class DummyTextHandler implements DataContentHandler {
+ public ActivationDataFlavor[] getTransferDataFlavors() {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object getTransferData(ActivationDataFlavor df, DataSource ds) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object getContent(DataSource ds) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ public void writeTo(Object obj, String mimeType, OutputStream os) throws IOException {
+ os.write(((String)obj).getBytes());
+ }
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MailcapCommandMapTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MailcapCommandMapTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MailcapCommandMapTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MailcapCommandMapTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,122 @@
+/**
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package jakarta.activation;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class MailcapCommandMapTest extends TestCase {
+ private MailcapCommandMap map;
+
+ public void testAdd() {
+ map.addMailcap("foo/bar ;; x-java-view=Foo; x-java-edit=Bar");
+ CommandInfo info = map.getCommand("foo/bar", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Foo", info.getCommandClass());
+ info = map.getCommand("foo/bar", "edit");
+ assertEquals("edit", info.getCommandName());
+ assertEquals("Bar", info.getCommandClass());
+ }
+
+ public void testExplicitWildcard() {
+ map.addMailcap("foo/bar ;; x-java-view=Bar");
+ map.addMailcap("foo/* ;; x-java-view=Star");
+ CommandInfo info = map.getCommand("foo/bar", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Bar", info.getCommandClass());
+ info = map.getCommand("foo/foo", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Star", info.getCommandClass());
+ info = map.getCommand("foo/*", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Star", info.getCommandClass());
+// The reference implementation does not appear to handle this the same way.
+// info = map.getCommand("foo", "view");
+// assertEquals("view", info.getCommandName());
+// assertEquals("Star", info.getCommandClass());
+ }
+
+ public void testImplicitWildcard() {
+ map.addMailcap("foo/bar ;; x-java-view=Bar");
+ map.addMailcap("foo ;; x-java-view=Star");
+ CommandInfo info = map.getCommand("foo/bar", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Bar", info.getCommandClass());
+ info = map.getCommand("foo/foo", "view");
+ assertEquals("view", info.getCommandName());
+ assertEquals("Star", info.getCommandClass());
+// The RI is not finding this one either
+// info = map.getCommand("foo/*", "view");
+// assertEquals("view", info.getCommandName());
+// assertEquals("Star", info.getCommandClass());
+ }
+
+ public void testParameterizedMimeType() {
+// TODO: the RI is not getting a hit on this one.
+// map.addMailcap("foo/bar ;; x-java-view=Bar");
+// CommandInfo info = map.getCommand("foo/bar ; type=\"text/plain\"", "view");
+// assertEquals(
+// assertEquals("view", info.getCommandName());
+// assertEquals("Bar", info.getCommandClass());
+ }
+
+ public void testGetNativeCommands() {
+ MailcapCommandMap tmap = new MailcapCommandMap();
+ // a few filler entries just to increase the noise level.
+ tmap.addMailcap("image/gif;;x-java-view=com.sun.activation.viewers.ImageViewer");
+ tmap.addMailcap("image/jpeg;;x-java-view=com.sun.activation.viewers.ImageViewer");
+ tmap.addMailcap("text/*;yada yada;x-java-view=com.sun.activation.viewers.TextViewer");
+ // neither of these is a match
+ tmap.addMailcap("text/*;;x-java-edit=com.sun.activation.viewers.TextEditor");
+ tmap.addMailcap("text/*; ;x-java-edit=com.sun.activation.viewers.TextEditor");
+
+ // need one with multiple entries
+ tmap.addMailcap("text/plain;yada yada;x-java-view=com.sun.activation.viewers.TextViewer");
+ tmap.addMailcap("text/plain;bad a bing;x-java-view=com.sun.activation.viewers.TextViewer");
+
+ String[] commands = tmap.getNativeCommands("text/*");
+
+ assertEquals(1, commands.length);
+ assertEquals("text/*;yada yada;x-java-view=com.sun.activation.viewers.TextViewer", commands[0]);
+
+ commands = tmap.getNativeCommands("text/plain");
+ assertEquals(2, commands.length);
+ assertTrue("text/plain;yada yada;x-java-view=com.sun.activation.viewers.TextViewer".equals(commands[0]) ||
+ "text/plain;bad a bing;x-java-view=com.sun.activation.viewers.TextViewer".equals(commands[0]));
+ assertTrue("text/plain;yada yada;x-java-view=com.sun.activation.viewers.TextViewer".equals(commands[1]) ||
+ "text/plain;bad a bing;x-java-view=com.sun.activation.viewers.TextViewer".equals(commands[1]));
+
+ commands = tmap.getNativeCommands("image/gif");
+ assertEquals(0, commands.length);
+
+ commands = tmap.getNativeCommands("text/html");
+ assertEquals(0, commands.length);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ map = new MailcapCommandMap();
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeParameterListTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeParameterListTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeParameterListTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeParameterListTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,132 @@
+/**
+ * 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 jakarta.activation;
+
+import java.util.Enumeration;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @version $Rev$ $Date$
+ */
+public class MimeTypeParameterListTest extends TestCase {
+ public void testEmptyParameterList() {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList();
+ assertEquals(0, parameterList.size());
+ assertTrue(parameterList.isEmpty());
+ }
+
+ public void testSimpleParameterList() throws MimeTypeParseException {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList(";name=value");
+ assertEquals(1, parameterList.size());
+ assertFalse(parameterList.isEmpty());
+ Enumeration e = parameterList.getNames();
+ assertTrue(e.hasMoreElements());
+ assertEquals("name", e.nextElement());
+ assertFalse(e.hasMoreElements());
+ assertEquals("value", parameterList.get("name"));
+ }
+
+ public void testQuotedValue() throws MimeTypeParseException {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList(";name=\"val()ue\"");
+ assertEquals(1, parameterList.size());
+ assertEquals("val()ue", parameterList.get("name"));
+ }
+
+ public void testWhiteSpacesParameterList() throws MimeTypeParseException {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList("; name= value");
+ assertEquals(1, parameterList.size());
+ assertEquals("name", parameterList.getNames().nextElement());
+ assertEquals("value", parameterList.get("name"));
+ }
+
+ public void testLongParameterList() throws MimeTypeParseException {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList(";name1=value1; name2 = value2; name3=value3;name4 = value4");
+ assertEquals(4, parameterList.size());
+ assertEquals("value1", parameterList.get("name1"));
+ assertEquals("value2", parameterList.get("name2"));
+ assertEquals("value3", parameterList.get("name3"));
+ assertEquals("value4", parameterList.get("name4"));
+ }
+
+ public void testCaseInsensitivity() throws MimeTypeParseException {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList(";name1=value; NAME2=VALUE; NaMe3=VaLuE");
+ assertEquals(3, parameterList.size());
+ assertEquals("value", parameterList.get("name1"));
+ assertEquals("VALUE", parameterList.get("name2"));
+ assertEquals("VaLuE", parameterList.get("name3"));
+ assertEquals("value", parameterList.get("NAME1"));
+ assertEquals("value", parameterList.get("NaMe1"));
+ parameterList.remove("NAME1");
+ assertNull(parameterList.get("name1"));
+ parameterList.remove("name3");
+ assertEquals("; name2=VALUE", parameterList.toString());
+ }
+
+ public void testNoValueParameterList() {
+ try {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList("; name=");
+ fail("Expected MimeTypeParseException");
+ } catch (MimeTypeParseException e) {
+ // ok
+ }
+ }
+
+ public void testMissingValueParameterList() {
+ try {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList("; name=;name2=value");
+ fail("Expected MimeTypeParseException");
+ } catch (MimeTypeParseException e) {
+ // ok
+ }
+ }
+
+ public void testNoNameParameterList() {
+ try {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList("; = value");
+// if running on Java 6, the activation framework is included directly in the JRE...it appears
+// the reference implementation is not handling this correctly.
+// fail("Expected MimeTypeParseException");
+ } catch (MimeTypeParseException e) {
+ // ok
+ }
+ }
+
+ public void testUnterminatedQuotedString() {
+ try {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList("; = \"value");
+ fail("Expected MimeTypeParseException");
+ } catch (MimeTypeParseException e) {
+ // ok
+ }
+ }
+
+ public void testSpecialInAttribute() {
+ String specials = "()<>@,;:\\\"/[]?= \t";
+ for (int i=0; i < specials.length(); i++) {
+ try {
+ MimeTypeParameterList parameterList = new MimeTypeParameterList(";na"+specials.charAt(i)+"me=value");
+ fail("Expected MimeTypeParseException for special: " + specials.charAt(i));
+ } catch (MimeTypeParseException e) {
+ // ok
+ }
+ }
+ }
+}
+
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,283 @@
+/**
+ * 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 jakarta.activation;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @version $Rev$ $Date$
+ */
+public class MimeTypeTest extends TestCase {
+ private MimeType mimeType;
+
+ public MimeTypeTest(String name) {
+ super(name);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+ mimeType = new MimeType();
+ }
+
+ public void testDefaultConstructor() throws MimeTypeParseException {
+ assertEquals("application/*", mimeType.getBaseType());
+ assertEquals("application", mimeType.getPrimaryType());
+ // not sure as RFC2045 does not allow "*" but this is what the RI does
+ assertEquals("*", mimeType.getSubType());
+
+ assertTrue(mimeType.match(new MimeType()));
+ assertTrue(mimeType.match(new MimeType("application/*")));
+
+ assertNull(mimeType.getParameter("foo"));
+ assertEquals(0, mimeType.getParameters().size());
+ assertTrue(mimeType.getParameters().isEmpty());
+ }
+
+ public void testMimeTypeConstructor() throws MimeTypeParseException {
+ mimeType = new MimeType("text/plain");
+ assertEquals("text/plain", mimeType.getBaseType());
+ assertEquals("text", mimeType.getPrimaryType());
+ assertEquals("plain", mimeType.getSubType());
+ assertEquals("text/plain", mimeType.toString());
+ }
+
+ public void testTypeConstructor() throws MimeTypeParseException {
+ mimeType = new MimeType("text", "plain");
+ assertEquals("text/plain", mimeType.getBaseType());
+ assertEquals("text", mimeType.getPrimaryType());
+ assertEquals("plain", mimeType.getSubType());
+ assertEquals("text/plain", mimeType.toString());
+ }
+
+ public void testConstructorWithParams() throws MimeTypeParseException {
+ mimeType = new MimeType("text/plain; charset=\"iso-8859-1\"");
+ assertEquals("text/plain", mimeType.getBaseType());
+ assertEquals("text", mimeType.getPrimaryType());
+ assertEquals("plain", mimeType.getSubType());
+ MimeTypeParameterList params = mimeType.getParameters();
+ assertEquals(1, params.size());
+ assertEquals("iso-8859-1", params.get("charset"));
+ assertEquals("text/plain; charset=iso-8859-1", mimeType.toString());
+ }
+
+ public void testConstructorWithQuotableParams() throws MimeTypeParseException {
+ mimeType = new MimeType("text/plain; charset=\"iso(8859)\"");
+ assertEquals("text/plain", mimeType.getBaseType());
+ assertEquals("text", mimeType.getPrimaryType());
+ assertEquals("plain", mimeType.getSubType());
+ MimeTypeParameterList params = mimeType.getParameters();
+ assertEquals(1, params.size());
+ assertEquals("iso(8859)", params.get("charset"));
+ assertEquals("text/plain; charset=\"iso(8859)\"", mimeType.toString());
+ }
+
+ public void testWriteExternal() throws MimeTypeParseException, IOException {
+ mimeType = new MimeType("text/plain; charset=iso8859-1");
+ mimeType.writeExternal(new ObjectOutput() {
+ public void writeUTF(String str) {
+ assertEquals("text/plain; charset=iso8859-1", str);
+ }
+
+ public void close() {
+ fail();
+ }
+
+ public void flush() {
+ }
+
+ public void write(int b) {
+ fail();
+ }
+
+ public void write(byte b[]) {
+ fail();
+ }
+
+ public void write(byte b[], int off, int len) {
+ fail();
+ }
+
+ public void writeObject(Object obj) {
+ fail();
+ }
+
+ public void writeDouble(double v) {
+ fail();
+ }
+
+ public void writeFloat(float v) {
+ fail();
+ }
+
+ public void writeByte(int v) {
+ fail();
+ }
+
+ public void writeChar(int v) {
+ fail();
+ }
+
+ public void writeInt(int v) {
+ fail();
+ }
+
+ public void writeShort(int v) {
+ fail();
+ }
+
+ public void writeLong(long v) {
+ fail();
+ }
+
+ public void writeBoolean(boolean v) {
+ fail();
+ }
+
+ public void writeBytes(String s) {
+ fail();
+ }
+
+ public void writeChars(String s){
+ fail();
+ }
+ });
+ }
+
+ public void testReadExternal() throws IOException, ClassNotFoundException {
+ mimeType.readExternal(new ObjectInput() {
+ public String readUTF() {
+ return "text/plain; charset=iso-8859-1";
+ }
+
+ public int available() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int read() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public void close() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public long skip(long n) {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int read(byte b[]) {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int read(byte b[], int off, int len) {
+ fail();
+ throw new AssertionError();
+ }
+
+ public Object readObject() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public byte readByte() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public char readChar() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public double readDouble() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public float readFloat() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int readInt() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int readUnsignedByte() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int readUnsignedShort() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public long readLong() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public short readShort() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public boolean readBoolean() {
+ fail();
+ throw new AssertionError();
+ }
+
+ public int skipBytes(int n) {
+ fail();
+ throw new AssertionError();
+ }
+
+ public void readFully(byte b[]) {
+ fail();
+ }
+
+ public void readFully(byte b[], int off, int len) {
+ fail();
+ }
+
+ public String readLine() {
+ fail();
+ throw new AssertionError();
+ }
+ });
+ assertEquals("text/plain", mimeType.getBaseType());
+ assertEquals("text", mimeType.getPrimaryType());
+ assertEquals("plain", mimeType.getSubType());
+ MimeTypeParameterList params = mimeType.getParameters();
+ assertEquals(1, params.size());
+ assertEquals("iso-8859-1", params.get("charset"));
+ assertEquals("text/plain; charset=iso-8859-1", mimeType.toString());
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimetypesFileTypeMapTest.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimetypesFileTypeMapTest.java?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimetypesFileTypeMapTest.java (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimetypesFileTypeMapTest.java Tue May 3 12:22:08 2022
@@ -0,0 +1,53 @@
+/**
+ * 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.
+ */
+
+//
+// This source code implements specifications defined by the Java
+// Community Process. In order to remain compliant with the specification
+// DO NOT add / change / or delete method signatures!
+//
+package jakarta.activation;
+
+import junit.framework.TestCase;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class MimetypesFileTypeMapTest extends TestCase {
+ private MimetypesFileTypeMap typeMap;
+
+ public void testDefault() {
+ // unmapped
+ assertEquals("application/octet-stream", typeMap.getContentType("x.foo"));
+ // from META-INF/mimetypes.default
+ assertEquals("text/html", typeMap.getContentType("x.html"));
+ }
+
+ public void testCommentRemoval() {
+ typeMap.addMimeTypes(" text/foo foo #txt");
+ assertEquals("text/foo", typeMap.getContentType("x.foo"));
+ typeMap.addMimeTypes("#text/foo bar");
+ assertEquals("text/foo", typeMap.getContentType("x.foo"));
+ typeMap.addMimeTypes("text/foo #bar");
+ assertEquals("text/foo", typeMap.getContentType("x.foo"));
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ typeMap = new MimetypesFileTypeMap();
+ }
+}
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/META-INF/mimetypes.default
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/META-INF/mimetypes.default?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/META-INF/mimetypes.default (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/META-INF/mimetypes.default Tue May 3 12:22:08 2022
@@ -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.
+text/html html htm HTML HTM
+text/plain txt text TXT TEXT
+image/gif gif GIF
+image/ief ief
+image/jpeg jpeg jpg jpe JPG
+image/tiff tiff tif
+image/x-xwindowdump xwd
+application/postscript ai eps ps
+application/rtf rtf
+application/x-tex tex
+application/x-texinfo texinfo texi
+application/x-troff t tr roff
+audio/basic au
+audio/midi midi mid
+audio/x-aifc aifc
+audio/x-aiff aif aiff
+audio/x-wav wav
+video/mpeg mpeg mpg mpe
+video/quicktime qt mov
+video/x-msvideo avi
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/ActivationDataFlavor.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/ActivationDataFlavor.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/ActivationDataFlavor.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandInfo.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandInfo.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandInfo.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandMap.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandMap.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandMap.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandObject.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandObject.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/CommandObject.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandler.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandler.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandler.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandlerFactory.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandlerFactory.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataContentHandlerFactory.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler$ObjectDataSource$1.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler%24ObjectDataSource%241.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler$ObjectDataSource$1.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler$ObjectDataSource.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler%24ObjectDataSource.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler$ObjectDataSource.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataHandler.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataSource.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataSource.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/DataSource.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileDataSource.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileDataSource.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileDataSource.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileTypeMap.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileTypeMap.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/FileTypeMap.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MailcapCommandMap.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MailcapCommandMap.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MailcapCommandMap.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeType.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeType.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeType.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList$RFC2045Parser.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList%24RFC2045Parser.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList$RFC2045Parser.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParameterList.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParseException.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParseException.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimeTypeParseException.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimetypesFileTypeMap.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimetypesFileTypeMap.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/MimetypesFileTypeMap.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/URLDataSource.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/URLDataSource.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/URLDataSource.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/UnsupportedDataTypeException.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/UnsupportedDataTypeException.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/jakarta/activation/UnsupportedDataTypeException.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator$LogServiceTracker.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator%24LogServiceTracker.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator$LogServiceTracker.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/Activator.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/classes/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/rat.txt
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/rat.txt?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-activation_2.0_spec/target/rat.txt (added)
+++ geronimo/specs/trunk/geronimo-activation_2.0_spec/target/rat.txt Tue May 3 12:22:08 2022
@@ -0,0 +1,54 @@
+
+*****************************************************
+Summary
+-------
+Generated at: 2022-05-03T14:00:21+02:00
+
+Notes: 0
+Binaries: 0
+Archives: 0
+Standards: 28
+
+Apache Licensed: 28
+Generated Documents: 0
+
+JavaDocs are generated, thus a license header is optional.
+Generated files do not require license headers.
+
+0 Unknown Licenses
+
+*****************************************************
+ Files with Apache License headers will be marked AL
+ Binary files (which do not require any license headers) will be marked B
+ Compressed archives will be marked A
+ Notices, licenses etc. will be marked N
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/pom.xml
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/CommandInfoTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimeTypeParameterListTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/DataHandlerTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MailcapCommandMapTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/MimetypesFileTypeMapTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/test/java/jakarta/activation/ActivationDataFlavorTest.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/resources/META-INF/mimetypes.default
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/CommandMapBundleTrackerCustomizer.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/org/apache/geronimo/specs/activation/Activator.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/MimetypesFileTypeMap.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/URLDataSource.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/UnsupportedDataTypeException.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/MailcapCommandMap.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/DataContentHandler.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/ActivationDataFlavor.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/CommandObject.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/DataHandler.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/MimeTypeParameterList.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/DataContentHandlerFactory.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/MimeTypeParseException.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/FileDataSource.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/CommandInfo.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/MimeType.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/CommandMap.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/FileTypeMap.java
+ AL /private/tmp/geronimo-specs/geronimo-activation_2.0_spec/src/main/java/jakarta/activation/DataSource.java
+
+*****************************************************
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/ActivationDataFlavorTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/ActivationDataFlavorTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/ActivationDataFlavorTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest$MockCommandObject.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest%24MockCommandObject.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest$MockCommandObject.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/CommandInfoTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest$DummyTextHandler.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest%24DummyTextHandler.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest$DummyTextHandler.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/DataHandlerTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MailcapCommandMapTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MailcapCommandMapTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MailcapCommandMapTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeParameterListTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeParameterListTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeParameterListTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest$1.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest%241.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest$1.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest$2.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest%242.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest$2.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimeTypeTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimetypesFileTypeMapTest.class
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimetypesFileTypeMapTest.class?rev=1900504&view=auto
==============================================================================
Binary file - no diff available.
Propchange: geronimo/specs/trunk/geronimo-activation_2.0_spec/target/test-classes/jakarta/activation/MimetypesFileTypeMapTest.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/LICENSE
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/LICENSE?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/LICENSE (added)
+++ geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/LICENSE Tue May 3 12:22:08 2022
@@ -0,0 +1,257 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
+
+
+#########################################################################
+## ADDITIONAL LICENSES ##
+#########################################################################
+
+The XMLSchema.dtd included in this project was developed by the
+W3C Consortium (http://www.w3c.org/).
+Use of the source code, thus licensed, and the resultant binary are
+subject to the terms and conditions of the following license.
+
+W3C¨ SOFTWARE NOTICE AND LICENSE
+Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of
+Technology, Institut National de Recherche en Informatique et en Automatique,
+Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
+
+This W3C work (including software, documents, or other related items) is
+being provided by the copyright holders under the following license. By
+obtaining, using and/or copying this work, you (the licensee) agree that you
+have read, understood, and will comply with the following terms and
+conditions:
+
+Permission to use, copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and without
+fee or royalty is hereby granted, provided that you include the following on
+ALL copies of the software and documentation or portions thereof, including
+modifications, that you make:
+
+ 1. The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within
+ the body of any redistributed or derivative code: "Copyright ©
+ [$date-of-software] World Wide Web Consortium, (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/"
+ 3. Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
+NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
+THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
+COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or
+publicity pertaining to the software without specific, written prior permission.
+Title to copyright in this software and any associated documentation will at all
+times remain with copyright holders.
Added: geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/NOTICE
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/NOTICE?rev=1900504&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/NOTICE (added)
+++ geronimo/specs/trunk/geronimo-jakartamail_2.1_spec/NOTICE Tue May 3 12:22:08 2022
@@ -0,0 +1,5 @@
+Apache Geronimo
+Copyright 2003-2018 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).