Hi all, I am recently experiencing SVN problems - which have started since we moved from the incubator. Access to SVN is very slow - and it seems to get worse every day. For example browsing the trunk from within Eclipse is an nightmare. It takes minutes after every click before I the next branch opens.
And today I have checked in some code, and now on a different machine it tells me there are no changes. Not sure whether my changes got lost (EMPIREDB-136). The changes are listed in JIRA but the svn-viewer also seems to have a problem to display the files. Is anyone else having these problems? I am using this repository location: https://svn.apache.org/repos/asf/empire-db Regards, Rainer > from: [email protected] [mailto:[email protected]] > to: [email protected] > re: svn commit: r1300567 - in /empire-db/trunk: CHANGELOG.txt > empire-db/src/main/java/org/apache/empire/commons/Attributes.java > empire-db/src/main/java/org/apache/empire/commons/Options.java empire- > db/src/main/java/org/apache/empire/db/DBCommand.java > > Author: doebele > Date: Wed Mar 14 14:45:07 2012 > New Revision: 1300567 > > URL: http://svn.apache.org/viewvc?rev=1300567&view=rev > Log: > EMPIREDB-136 > clone() bugfix > > Modified: > empire-db/trunk/CHANGELOG.txt > empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Attributes.java > empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Options.java > empire-db/trunk/empire- > db/src/main/java/org/apache/empire/db/DBCommand.java > > Modified: empire-db/trunk/CHANGELOG.txt > URL: http://svn.apache.org/viewvc/empire- > db/trunk/CHANGELOG.txt?rev=1300567&r1=1300566&r2=1300567&view=diff > ======================================================================= > ======= > --- empire-db/trunk/CHANGELOG.txt (original) > +++ empire-db/trunk/CHANGELOG.txt Wed Mar 14 14:45:07 2012 > @@ -21,6 +21,7 @@ Release 2.2.1: > * [EMPIREDB-123] - Allow to specify the character column length in > bytes (Non-Unicode) or chars (Unicode) for DDL generation > > ** Bugfix > + * [EMPIREDB-136] - DBCommand.clone() modified to produce an > independent clone of the original command. > * [EMPIREDB-135] - Suppress column alias inside concatenations > * [EMPIREDB-132] - Fix support for CLOB data type in Postgre SQL > * [EMPIREDB-130] - Prepared Statements: Convert Enums to String to > avoid SQLException > > Modified: empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Attributes.java > URL: http://svn.apache.org/viewvc/empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Attributes.java?rev=1300567& > r1=1300566&r2=1300567&view=diff > ======================================================================= > ======= > --- empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Attributes.java (original) > +++ empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/At > +++ tributes.java Wed Mar 14 14:45:07 2012 > @@ -30,7 +30,7 @@ import org.w3c.dom.Element; > * This class holds a map of objects which are identified by a case > insensitive key string. > * > */ > -public class Attributes extends AbstractSet<Attributes.Attribute> > implements Serializable > +public class Attributes extends AbstractSet<Attributes.Attribute> > +implements Cloneable, Serializable > { > public static final class Attribute implements Serializable > { > @@ -117,6 +117,15 @@ public class Attributes extends Abstract > } > > @Override > + public Attributes clone() > + { > + Attributes clone = new Attributes(); > + if (attributes!=null) > + clone.attributes = new > ArrayList<Attributes.Attribute>(attributes); > + return clone; > + } > + > + @Override > public Iterator<Attribute> iterator() > { > return (attributes!=null ? list().iterator() : emptyIterator); > > Modified: empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Options.java > URL: http://svn.apache.org/viewvc/empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Options.java?rev=1300567&r1= > 1300566&r2=1300567&view=diff > ======================================================================= > ======= > --- empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Options.java (original) > +++ empire-db/trunk/empire- > db/src/main/java/org/apache/empire/commons/Op > +++ tions.java Wed Mar 14 14:45:07 2012 > @@ -23,10 +23,9 @@ import java.util.AbstractSet; import > java.util.ArrayList; import java.util.HashSet; import > java.util.Iterator; -import java.util.Set; import java.util.Map.Entry; > +import java.util.Set; > > -import org.apache.empire.commons.Attributes.Attribute; > import org.apache.empire.xml.XMLUtil; > import org.w3c.dom.Element; > > @@ -38,7 +37,7 @@ import org.w3c.dom.Element; > * where the entry value is used as the key for the set and thus must > be unique.<BR> > * <P> > */ > -public class Options extends AbstractSet<OptionEntry> implements > Serializable > +public class Options extends AbstractSet<OptionEntry> implements > +Cloneable, Serializable > { > private static final long serialVersionUID = 1L; > > @@ -54,13 +53,18 @@ public class Options extends AbstractSet > public Options() > { > // Default constructor > - // TODO clean up this class as it is quite messy (add vs set, > object vs key, ...) > } > > public Options(Options other) > { > this.addAll(other); > } > + > + @Override > + public Options clone() > + { > + return new Options(this); > + } > > public Options(OptionEntry [] entries) > { > > Modified: empire-db/trunk/empire- > db/src/main/java/org/apache/empire/db/DBCommand.java > URL: http://svn.apache.org/viewvc/empire-db/trunk/empire- > db/src/main/java/org/apache/empire/db/DBCommand.java?rev=1300567&r1=130 > 0566&r2=1300567&view=diff > ======================================================================= > ======= > --- empire-db/trunk/empire- > db/src/main/java/org/apache/empire/db/DBCommand.java (original) > +++ empire-db/trunk/empire- > db/src/main/java/org/apache/empire/db/DBComma > +++ nd.java Wed Mar 14 14:45:07 2012 > @@ -32,6 +32,7 @@ import org.apache.empire.db.expr.compare import > org.apache.empire.db.expr.join.DBJoinExpr; > import org.apache.empire.db.expr.join.DBJoinExprEx; > import org.apache.empire.db.expr.set.DBSetExpr; > +import org.apache.empire.exceptions.InternalException; > import org.apache.empire.exceptions.MiscellaneousErrorException; > import org.apache.empire.exceptions.ObjectNotValidException; > import org.slf4j.Logger; > @@ -136,11 +137,37 @@ public abstract class DBCommand extends > { > try > { > - return (DBCommand)super.clone(); > - } catch(CloneNotSupportedException e) > - { > + DBCommand clone = (DBCommand)super.clone(); > + clone.db = db; > + // Clone lists > + if (select!=null) > + clone.select = new ArrayList<DBColumnExpr>(select); > + if (set!=null) > + clone.set = new ArrayList<DBSetExpr>(set); > + if (joins!=null) > + clone.joins = new ArrayList<DBJoinExpr>(joins); > + if (where!=null) > + clone.where = new ArrayList<DBCompareExpr>(where); > + if (groupBy!=null) > + clone.groupBy = new ArrayList<DBColumnExpr>(groupBy); > + if (having!=null) > + clone.having = new ArrayList<DBCompareExpr>(having); > + if (cmdParams!=null) > + { // clone params > + clone.paramUsageCount = 0; > + clone.cmdParams = new Vector<DBCmdParam>(); > + for (DBCmdParam p : cmdParams) > + { > + DBCmdParam param = new DBCmdParam(this, > p.getDataType(), p.getValue()); > + clone.cmdParams.add(param); > + } > + } > + // done > + return clone; > + > + } catch (CloneNotSupportedException e) { > log.error("Cloning DBCommand object failed!", e); > - return null; > + throw new InternalException(e); > } > } > >
