cvs commit: spice/sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata ComponentMetadata.java InterfaceMetadata.java
Mike Hogan <[email protected]>
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
hogie 03/11/03 13:15:29
Modified: sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata
ComponentMetadata.java InterfaceMetadata.java
Log:
Can submit more than one interface per jar
Revision Changes Path
1.3 +23 -27 spice/sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata/ComponentMetadata.java
Index: ComponentMetadata.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata/ComponentMetadata.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ComponentMetadata.java 26 Oct 2003 13:46:41 -0000 1.2
+++ ComponentMetadata.java 3 Nov 2003 21:15:29 -0000 1.3
@@ -2,6 +2,7 @@
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.xml.dom.DomXMLReader;
+import org.apache.commons.lang.builder.EqualsBuilder;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
@@ -10,16 +11,15 @@
import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.IOException;
+import java.util.HashMap;
import java.util.Iterator;
-import java.util.Collections;
+import java.util.Map;
public class ComponentMetadata {
- //TODO For now I am going to deal with only one interface, until I figure out what to do with xstream
- //private InterfaceMetadata [] interfaces; //TODO Now a map because XStream cannot yet deal with Maps
- private InterfaceMetadata interfaceMetadata = null;
+ private Map interfaces = null;
public ComponentMetadata() {
- //this.interfaces = new InterfaceMetadata[0];
+ this.interfaces = new HashMap();
}
public static ComponentMetadata fromXml(File metadataFile) throws IOException, ParserConfigurationException, SAXException {
@@ -39,36 +39,32 @@
}
public InterfaceMetadata getInterfaceMetadataForName(final String name) {
- if ( interfaceMetadata.getFullyQualifiedName().equals(name)) {
- return interfaceMetadata;
- }
- return null;
-/*
- InterfaceMetadata result = null;
- int index = 0;
- while ( result == null && index < interfaces.length) {
- final InterfaceMetadata interfaceMetadata = interfaces[index++];
- if ( interfaceMetadata.getFullyQualifiedName().equals(name)) {
- result = interfaceMetadata;
- }
- }
- return result;
-*/
+ return (InterfaceMetadata) interfaces.get(name);
}
public int numInterfaces() {
- return interfaceMetadata != null ? 1 : 0;
+ return interfaces.size();
}
public void addInterface(InterfaceMetadata interfaceMetadata) {
- this.interfaceMetadata = interfaceMetadata;
- /*List temp = new ArrayList(Arrays.asList(interfaces));
- temp.add(interfaceMetadata);
- interfaces = new InterfaceMetadata[temp.size()];
- interfaces = (InterfaceMetadata []) temp.toArray(interfaces);*/
+ interfaces.put(interfaceMetadata.getFullyQualifiedName(), interfaceMetadata);
}
public Iterator getInterfaces() {
- return Collections.singletonList(interfaceMetadata).iterator();
+ return interfaces.values().iterator();
+ }
+
+ public String toXml() {
+ return ((new XStream()).toXML(this));
+ }
+
+ public boolean equals(Object o) {
+ if (!(o instanceof ComponentMetadata)) {
+ return false;
+ }
+ ComponentMetadata rhs = (ComponentMetadata) o;
+ return new EqualsBuilder()
+ .append(interfaces, rhs.interfaces)
+ .isEquals();
}
}
1.2 +17 -2 spice/sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata/InterfaceMetadata.java
Index: InterfaceMetadata.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/repository/componenthaus/src/java/org/componenthaus/ant/metadata/InterfaceMetadata.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- InterfaceMetadata.java 26 Oct 2003 13:46:41 -0000 1.1
+++ InterfaceMetadata.java 3 Nov 2003 21:15:29 -0000 1.2
@@ -1,5 +1,7 @@
package org.componenthaus.ant.metadata;
+import org.apache.commons.lang.builder.EqualsBuilder;
+
public class InterfaceMetadata {
private String packageName;
private String name;
@@ -36,13 +38,26 @@
private String firstLine(String javadoc) {
String result = javadoc;
int indexOfFirstFullStop = javadoc.indexOf(".");
- if ( indexOfFirstFullStop != -1 ) {
- result = javadoc.substring(0,indexOfFirstFullStop + 1); //+1 to include the full stop itself.
+ if (indexOfFirstFullStop != -1) {
+ result = javadoc.substring(0, indexOfFirstFullStop + 1); //+1 to include the full stop itself.
}
return result;
}
public String getSource() {
return source;
+ }
+
+ public boolean equals(Object o) {
+ if (!(o instanceof InterfaceMetadata)) {
+ return false;
+ }
+ InterfaceMetadata rhs = (InterfaceMetadata) o;
+ return new EqualsBuilder()
+ .append(packageName, rhs.packageName)
+ .append(name, rhs.name)
+ .append(javadoc, rhs.javadoc)
+ .append(source, rhs.source)
+ .isEquals();
}
}
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/