diff options
93 files changed, 1590 insertions, 194 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelConstants.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelConstants.java index aa44ce423e..8382c91045 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelConstants.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelConstants.java @@ -4,13 +4,12 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.common.model; - /** * @author Eike Stepper * @noimplement This interface is not intended to be implemented by clients. @@ -18,6 +17,5 @@ package org.eclipse.emf.cdo.common.model; */ public interface CDOModelConstants { - public static final String RESOURCE_NODE_NAME_ATTRIBUTE = "name"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java index d6b332b057..62a7adda89 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java @@ -4,16 +4,15 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * Simon McDuff - http://bugs.eclipse.org/230832 - * Simon McDuff - http://bugs.eclipse.org/233490 + * Simon McDuff - http://bugs.eclipse.org/230832 + * Simon McDuff - http://bugs.eclipse.org/233490 * Simon McDuff - http://bugs.eclipse.org/213402 */ package org.eclipse.emf.cdo.common.protocol; - /** * @author Eike Stepper * @noimplement This interface is not intended to be implemented by clients. diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOQueryQueue.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOQueryQueue.java index 8506d881f5..5cf5c64f88 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOQueryQueue.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOQueryQueue.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -312,6 +312,7 @@ public class CDOQueryQueue<E> implements Queue<E>, Closeable // Should not be possible return 0; } + return seqNumber < o.seqNumber ? -1 : 1; } } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/GenUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/GenUtil.java index 3344bdb754..1230734d0f 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/GenUtil.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/GenUtil.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -40,6 +40,7 @@ public final class GenUtil { return false; } + Class<?> instanceClass = (Class<?>)result; return instanceClass.isPrimitive(); } @@ -142,6 +143,7 @@ public final class GenUtil { result.append(prefix); } + return leadingSeparators != null ? "_" + result.toString() : result.toString(); //$NON-NLS-1$ } @@ -165,6 +167,7 @@ public final class GenUtil result.add(currentWord.toString()); currentWord = new StringBuilder(); } + lastIsLower = false; } else @@ -181,6 +184,7 @@ public final class GenUtil currentWord.append(lastChar); } } + lastIsLower = true; } @@ -192,6 +196,7 @@ public final class GenUtil result.add(currentWord.toString()); } + return result; } @@ -202,6 +207,7 @@ public final class GenUtil { // the for loop's condition finds the separator } + return i != 0 ? name.substring(0, i) : null; } } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java index 11b376a9d6..3f9c51bc10 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java @@ -4,11 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Simon McDuff - http://bugs.eclipse.org/201266 - * Simon McDuff - http://bugs.eclipse.org/204890 + * Simon McDuff - http://bugs.eclipse.org/204890 */ package org.eclipse.emf.cdo.internal.common.revision.delta; @@ -198,6 +198,7 @@ public class CDORevisionDeltaImpl implements InternalCDORevisionDelta { lookupDelta.getListChanges().clear(); } + lookupDelta.add(delta); } else diff --git a/plugins/org.eclipse.emf.cdo.doc/CDO Build Dita (Homepage).launch b/plugins/org.eclipse.emf.cdo.doc/CDO Build Dita (Homepage).launch index 151ca8826e..95388a7172 100644 --- a/plugins/org.eclipse.emf.cdo.doc/CDO Build Dita (Homepage).launch +++ b/plugins/org.eclipse.emf.cdo.doc/CDO Build Dita (Homepage).launch @@ -25,11 +25,12 @@ </listAttribute> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/> -<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_16"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.doc"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms256m -Xmx1024m"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_NAME" value="jdk1.5.0_16"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_TYPE_ID" value="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_TARGETS" value="build_homepage,"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/> <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.emf.cdo.doc/src/build.xml}"/> diff --git a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/internal/migrator/CDOImporter.java b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/internal/migrator/CDOImporter.java index 8101bc8f2b..af0bce1435 100644 --- a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/internal/migrator/CDOImporter.java +++ b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/internal/migrator/CDOImporter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -71,6 +71,7 @@ public class CDOImporter extends ModelImporter { ecoreResourceSet.getResource(ecoreModelLocation, true); } + EcoreUtil.resolveAll(ecoreResourceSet); for (Resource resource : ecoreResourceSet.getResources()) @@ -85,11 +86,13 @@ public class CDOImporter extends ModelImporter { Diagnostician.INSTANCE.validate(ePackage, diagnosticChain); } + if (diagnosticChain.getSeverity() != Diagnostic.OK) { diagnostic = diagnosticChain; } } + return diagnostic; } @@ -106,6 +109,7 @@ public class CDOImporter extends ModelImporter ePackage.eResource().getContents().remove(ePackage); } } + super.addToResource(ePackage, resourceSet); } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingAuditSupport.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingAuditSupport.java index e7120b459f..5060d62e35 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingAuditSupport.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingAuditSupport.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * Stefan Winkler - 271444: [DB] Multiple refactorings https://bugs.eclipse.org/bugs/show_bug.cgi?id=271444 + * Stefan Winkler - 271444: [DB] Multiple refactorings https://bugs.eclipse.org/bugs/show_bug.cgi?id=271444 */ package org.eclipse.emf.cdo.server.db.mapping; @@ -15,19 +15,18 @@ import org.eclipse.emf.cdo.server.db.IDBStoreAccessor; import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision; /** - * Interface which complements {@link IClassMapping} with methods to facilitate + * Interface which complements {@link IClassMapping} with methods to facilitate * audit support. - * + * * @see {@link IMappingStrategy#hasAuditSupport() - * + * * @author Eike Stepper * @author Stefan Winkler - * + * * @since 2.0 */ public interface IClassMappingAuditSupport { - /** * Read a specific version of a revision. If this method returns <code>true</code> it is guaranteed that * <code>revision.getVersion() == version</code> diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingDeltaSupport.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingDeltaSupport.java index c602528342..1ab8ad495a 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingDeltaSupport.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/mapping/IClassMappingDeltaSupport.java @@ -1,13 +1,13 @@ /** - * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. + * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * Stefan Winkler - 271444: [DB] Multiple refactorings https://bugs.eclipse.org/bugs/show_bug.cgi?id=271444 + * Stefan Winkler - 271444: [DB] Multiple refactorings https://bugs.eclipse.org/bugs/show_bug.cgi?id=271444 */ package org.eclipse.emf.cdo.server.db.mapping; @@ -17,18 +17,17 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta; import org.eclipse.net4j.util.om.monitor.OMMonitor; /** - * Interface which complements {@link IClassMapping} with methods to facilitate + * Interface which complements {@link IClassMapping} with methods to facilitate * revision delta support. - * + * * @see {@link IMappingStrategy#hasDeltaSupport() - * + * * @author Eike Stepper * @author Stefan Winkler * @since 2.0 */ public interface IClassMappingDeltaSupport { - /** * Write a revision delta. * diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java index b4c1014387..b6cb80e265 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java @@ -80,6 +80,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce DBStoreAccessor.super.write(commitContext, monitor.fork()); } }, // + new ProgressDistributable.Default<CommitContext>() { public void runLoop(int index, CommitContext commitContext, OMMonitor monitor) throws Exception @@ -516,6 +517,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce { TRACER.trace("DB connection keep-alive task activated."); } + stmt = connection.createStatement(); stmt.executeQuery("SELECT 1 FROM " + CDODBSchema.REPOSITORY); } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NullPreparedStatementCache.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NullPreparedStatementCache.java index 6387550a0b..cc0e01078e 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NullPreparedStatementCache.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NullPreparedStatementCache.java @@ -63,6 +63,7 @@ public class NullPreparedStatementCache extends AbstractPreparedStatementCache i { OM.LOG.warn("- " + ps.toString()); } + assert false; } } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java index 96d4d22766..a304835c07 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java @@ -189,14 +189,17 @@ public class SmartPreparedStatementCache extends AbstractPreparedStatementCache { first = s.next; } + if (s.next != null) { s.next.previous = s.previous; } + if (s == last) { last = s.previous; } + if (s.previous != null) { s.previous.next = s.next; diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java index 12dfdd8235..23aa9bdc37 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java @@ -189,6 +189,7 @@ public abstract class AbstractMappingStrategy extends Lifecycle implements IMapp throw new DBException(ex); } } + return null; } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java index 697e080113..7cdcfe34ae 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/TypeMapping.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Stefan Winkler - 271444: [DB] Multiple refactorings https://bugs.eclipse.org/bugs/show_bug.cgi?id=271444 @@ -108,6 +108,7 @@ public abstract class TypeMapping implements ITypeMapping { value = null; } + return value; } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java index 2dec43fb55..eeb21fae78 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java @@ -252,6 +252,7 @@ public abstract class AbstractHorizontalClassMapping implements IClassMapping return mapping; } } + return null; } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java index 1c2509c51d..8f24e02353 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java @@ -195,6 +195,7 @@ public abstract class AbstractListTableMapping implements IListMapping { builder.append("?, "); } + builder.append(" ?, ?)"); sqlInsertEntry = builder.toString(); } @@ -221,7 +222,6 @@ public abstract class AbstractListTableMapping implements IListMapping public void readValues(IDBStoreAccessor accessor, InternalCDORevision revision, int listChunk) { - MoveableList<Object> list = revision.getList(getFeature()); int listSize = -1; @@ -276,6 +276,7 @@ public abstract class AbstractListTableMapping implements IListMapping { TRACER.format("Read value for index {0} from result set: {1}", list.size(), value); } + list.add(value); } @@ -285,6 +286,7 @@ public abstract class AbstractListTableMapping implements IListMapping { TRACER.format("Adding UNINITIALIZED for index {0} ", list.size()); } + list.add(InternalCDORevision.UNINITIALIZED); } } @@ -338,6 +340,7 @@ public abstract class AbstractListTableMapping implements IListMapping { TRACER.trace("No last index found -> list is empty. "); } + return -1; } else @@ -347,6 +350,7 @@ public abstract class AbstractListTableMapping implements IListMapping { TRACER.trace("Read list last index = " + result); } + return result; } } @@ -379,14 +383,12 @@ public abstract class AbstractListTableMapping implements IListMapping { builder.append(where); } + builder.append(sqlOrderByIndex); String sql = builder.toString(); - pstmt = chunkReader.getAccessor().getStatementCache().getPreparedStatement(sql, ReuseProbability.LOW); - setKeyFields(pstmt, chunkReader.getRevision()); - if (TRACER.isEnabled()) { TRACER.trace(pstmt.toString()); @@ -419,8 +421,8 @@ public abstract class AbstractListTableMapping implements IListMapping { TRACER.format("Read value for chunk index {0} from result set: {1}", indexInChunk, value); } - chunk.add(indexInChunk++, value); + chunk.add(indexInChunk++, value); if (indexInChunk == chunkSize) { if (TRACER.isEnabled()) diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalAuditClassMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalAuditClassMapping.java index 32b0d58c27..8cddc39dea 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalAuditClassMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalAuditClassMapping.java @@ -130,6 +130,7 @@ public class HorizontalAuditClassMapping extends AbstractHorizontalClassMapping { builder.append(", ?"); } + builder.append(")"); sqlInsertAttributes = builder.toString(); diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java index ed68197eb7..3c8300c498 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java @@ -133,6 +133,7 @@ public class HorizontalNonAuditClassMapping extends AbstractHorizontalClassMappi { builder.append(", ?"); } + builder.append(")"); sqlInsertAttributes = builder.toString(); @@ -423,13 +424,14 @@ public class HorizontalNonAuditClassMapping extends AbstractHorizontalClassMappi { throw new ImplementationError("Should not be called"); } + ITypeMapping am = getValueMapping(delta.getFeature()); if (am == null) { throw new IllegalArgumentException("AttributeMapping for " + delta.getFeature() + " is null!"); } - attributeChanges.add(new Pair<ITypeMapping, Object>(am, delta.getValue())); + attributeChanges.add(new Pair<ITypeMapping, Object>(am, delta.getValue())); } public void visit(CDOUnsetFeatureDelta delta) diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditMappingStrategy.java index 8543cb59a1..4dbd5bf4b7 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditMappingStrategy.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditMappingStrategy.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Stefan Winkler - major refactoring @@ -23,7 +23,6 @@ import org.eclipse.emf.ecore.EStructuralFeature; */ public class HorizontalNonAuditMappingStrategy extends AbstractHorizontalMappingStrategy { - @Override protected IClassMapping doCreateClassMapping(EClass eClass) { diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java index 6aaac67414..f4fa04007d 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java @@ -463,7 +463,6 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement { CDOFeatureDeltaVisitor visitor = new CDOFeatureDeltaVisitor() { - public void visit(CDOMoveFeatureDelta delta) { moveListItem(accessor, id, delta.getOldPosition(), delta.getNewPosition()); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCDOPackageUnit.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCDOPackageUnit.java index a80e40c1d3..0cf846ef9a 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCDOPackageUnit.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateCDOPackageUnit.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - initial API and implementation * Eike Stepper - maintenance @@ -74,6 +74,7 @@ public class HibernateCDOPackageUnit implements InternalCDOPackageUnit { nsUri = getPackageInfos()[0].getPackageURI(); } + return nsUri; } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java index 9628a8ba5c..1959d9ed59 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Martin Taal - moved code from HibernateStore to this class @@ -342,6 +342,7 @@ public class HibernatePackageHandler extends Lifecycle systemInformation = (SystemInformation)l.get(0); systemInformation.setFirstTime(false); } + return systemInformation; } finally diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java index aeb3f27f60..27a2edd1d2 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Martin Taal - moved cdopackage handler to other class, changed configuration @@ -187,6 +187,7 @@ public class HibernateStore extends Store implements IHibernateStore hibernateSessionFactory.close(); hibernateSessionFactory = null; } + // and now do the drop action if (doDropSchema) { @@ -196,11 +197,11 @@ public class HibernateStore extends Store implements IHibernateStore } packageHandler.deactivate(); - if (doDropSchema) { packageHandler.doDropSchema(); } + super.doDeactivate(); } @@ -237,6 +238,7 @@ public class HibernateStore extends Store implements IHibernateStore { TRACER.trace("Closing SessionFactory"); } + hibernateSessionFactory.close(); } @@ -324,6 +326,7 @@ public class HibernateStore extends Store implements IHibernateStore { systemInformation = getPackageHandler().getSystemInformation(); } + return systemInformation; } } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java index 1a00139758..07898c8b2a 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java @@ -335,6 +335,7 @@ public class HibernateStoreAccessor extends StoreAccessor implements IHibernateS { writePackageUnits(context.getNewPackageUnits(), monitor); } + try { // start with fresh hibernate session diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateUtil.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateUtil.java index 3e89ec06f6..46261193a6 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateUtil.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateUtil.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - initial API and implementation * Eike Stepper - maintenance @@ -168,6 +168,7 @@ public class HibernateUtil { session.saveOrUpdate(cdoRevision); } + if (!(cdoRevision.getID() instanceof CDOIDHibernate)) { throw new IllegalStateException("CDORevision " + cdoRevision.getEClass().getName() + " " + cdoRevision.getID() @@ -301,8 +302,8 @@ public class HibernateUtil if (eFeature instanceof EAttribute) { return InternalEObject.EOPPOSITE_FEATURE_BASE - containingEClass.getFeatureID(eFeature); - } + final EReference eReference = (EReference)eFeature; if (eReference.getEOpposite() != null) { @@ -330,7 +331,7 @@ public class HibernateUtil final String eFeatureName = eFeature.getName(); result.append(SEPARATOR + uri + SEPARATOR + eClassName + SEPARATOR + eFeatureName); } + return result.toString(); } - } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumIntegerType.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumIntegerType.java index 0a110d960c..8cc75cbad2 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumIntegerType.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumIntegerType.java @@ -11,77 +11,80 @@ * Martin Taal * </copyright> * - * $Id: CDOENumIntegerType.java,v 1.1 2009-03-19 17:20:14 mtaal Exp $ + * $Id: CDOENumIntegerType.java,v 1.2 2009-05-05 11:10:26 estepper Exp $ */ - package org.eclipse.emf.cdo.server.internal.hibernate.tuplizer; +import org.eclipse.emf.common.util.Enumerator; + +import org.hibernate.HibernateException; + import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import java.util.HashMap; -import org.eclipse.emf.common.util.Enumerator; -import org.hibernate.HibernateException; - /** * Implements the EMF UserType for an Enum in a dynamic model, for an integer field. * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> - * @version $Revision: 1.1 $ $Date: 2009-03-19 17:20:14 $ + * @version $Revision: 1.2 $ $Date: 2009-05-05 11:10:26 $ */ +public class CDOENumIntegerType extends CDOENumStringType +{ + /** The sql types used for enums */ + private static final int[] SQL_TYPES = new int[] { Types.INTEGER }; -public class CDOENumIntegerType extends CDOENumStringType { - - /** The sql types used for enums */ - private static final int[] SQL_TYPES = new int[] { Types.INTEGER }; - - /** Hashmap with string to enum mappings */ - private final HashMap<Integer, Enumerator> localCache = new HashMap<Integer, Enumerator>(); + /** Hashmap with string to enum mappings */ + private final HashMap<Integer, Enumerator> localCache = new HashMap<Integer, Enumerator>(); - /* - * (non-Javadoc) - * - * @see org.hibernate.usertype.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String[], - * java.lang.Object) - */ - @Override - public Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws HibernateException, SQLException { - final int value = rs.getInt(names[0]); - if (rs.wasNull()) { - return null; - } + /* + * (non-Javadoc) + * @see org.hibernate.usertype.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String[], java.lang.Object) + */ + @Override + public Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws HibernateException, SQLException + { + final int value = rs.getInt(names[0]); + if (rs.wasNull()) + { + return null; + } - Integer objValue = new Integer(value); - Enumerator enumValue = localCache.get(objValue); - if (enumValue != null) { - return enumValue; - } + Integer objValue = new Integer(value); + Enumerator enumValue = localCache.get(objValue); + if (enumValue != null) + { + return enumValue; + } - enumValue = enumInstance.getEEnumLiteral(objValue.intValue()); - localCache.put(objValue, enumValue); - return enumValue; - } + enumValue = enumInstance.getEEnumLiteral(objValue.intValue()); + localCache.put(objValue, enumValue); + return enumValue; + } - /* - * (non-Javadoc) - * - * @see org.hibernate.usertype.UserType#nullSafeSet(java.sql.PreparedStatement, - * java.lang.Object, int) - */ - @Override - public void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException { - if (value == null) { - st.setNull(index, Types.INTEGER); - } else { - st.setInt(index, ((Enumerator) value).getValue()); - } - } + /* + * (non-Javadoc) + * @see org.hibernate.usertype.UserType#nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int) + */ + @Override + public void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException + { + if (value == null) + { + st.setNull(index, Types.INTEGER); + } + else + { + st.setInt(index, ((Enumerator)value).getValue()); + } + } - /** An enum is stored in one varchar */ - @Override - public int[] sqlTypes() { - return SQL_TYPES; - } -}
\ No newline at end of file + /** An enum is stored in one varchar */ + @Override + public int[] sqlTypes() + { + return SQL_TYPES; + } +} diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumStringType.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumStringType.java index d0fae1a1bc..de207c312d 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumStringType.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOENumStringType.java @@ -11,9 +11,8 @@ * Martin Taal * </copyright> * - * $Id: CDOENumStringType.java,v 1.2 2009-04-01 21:38:30 mtaal Exp $ + * $Id: CDOENumStringType.java,v 1.3 2009-05-05 11:10:26 estepper Exp $ */ - package org.eclipse.emf.cdo.server.internal.hibernate.tuplizer; import org.eclipse.emf.common.util.Enumerator; @@ -37,9 +36,8 @@ import java.util.Properties; * Implements the EMF UserType for an Enum * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> - * @version $Revision: 1.2 $ $Date: 2009-04-01 21:38:30 $ + * @version $Revision: 1.3 $ $Date: 2009-05-05 11:10:26 $ */ - public class CDOENumStringType implements UserType, ParameterizedType { /** The sql types used for enums */ @@ -96,10 +94,12 @@ public class CDOENumStringType implements UserType, ParameterizedType { return false; } + if (x instanceof Integer && y instanceof Integer) { return ((Integer)x).intValue() == ((Integer)y).intValue(); } + if (x instanceof String && y instanceof String) { return ((String)x).equals(y); @@ -147,6 +147,7 @@ public class CDOENumStringType implements UserType, ParameterizedType throw new IllegalStateException("The enum value " + name + " is not valid for enumerator: " + enumInstance.getName()); } + localCache.put(name, enumValue); return enumValue.getValue(); } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertyGetter.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertyGetter.java index cb4f86bde0..ceb2fa730a 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertyGetter.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertyGetter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - copied from CDORevisionPropertyHandler and adapted * Eike Stepper - maintenance @@ -48,6 +48,7 @@ public class CDOIDPropertyGetter extends CDOPropertyGetter setCDOID(revision, value); return value; } + return null; } @@ -78,6 +79,7 @@ public class CDOIDPropertyGetter extends CDOPropertyGetter { hcc = HibernateThreadContext.getHibernateCommitContext(); } + CDOID cdoID = revision.getID(); if (cdoID == null) { diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertySetter.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertySetter.java index 388e6b9c63..b20bf0979f 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertySetter.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDPropertySetter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - copied from CDORevisionPropertyHandler and adapted * Eike Stepper - maintenance @@ -49,6 +49,7 @@ public class CDOIDPropertySetter extends CDOPropertySetter { hcc = HibernateThreadContext.getHibernateCommitContext(); } + InternalCDORevision revision = (InternalCDORevision)target; CDOID cdoID = revision.getID(); if (cdoID == null) @@ -85,6 +86,7 @@ public class CDOIDPropertySetter extends CDOPropertySetter throw new IllegalStateException("Current id and new id are different " + value + "/" + hbCDOID.getId()); } } + if (!isVirtualProperty()) { super.set(target, value, factory); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java index 578982dc93..d42d1dfb03 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - initial api * Eike Stepper - maintenance @@ -115,6 +115,7 @@ public class CDOIDUserType implements UserType statement.setNull(index + 1, Types.VARCHAR); statement.setNull(index + 2, Types.VARCHAR); } + // try to resolve the temp id else if (value instanceof CDOIDTemp) { @@ -123,6 +124,7 @@ public class CDOIDUserType implements UserType { value = cdoRevision.getID(); } + // still a temp one, don't do anything for now if (value instanceof CDOIDTemp) { diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java index eeddd891ca..e6bee9b9a6 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - initial API and implementation * Eike Stepper - maintenance @@ -37,6 +37,7 @@ public class CDOInterceptor extends EmptyInterceptor { return object.getClass().getName(); } + InternalCDORevision revision = HibernateUtil.getInstance().getCDORevision(object); return revision.getEClass().getName(); } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOManyReferenceSetter.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOManyReferenceSetter.java index 97467b98f9..80a9a9f85b 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOManyReferenceSetter.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOManyReferenceSetter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - copied from CDORevisionPropertyHandler and adapted * Eike Stepper - maintenance @@ -40,6 +40,7 @@ public class CDOManyReferenceSetter extends CDOPropertySetter super.set(target, ((HibernateMoveableListWrapper)value).getDelegate(), factory); return; } + if (!(value instanceof PersistentList)) { throw new IllegalArgumentException("Value is not a persistentlist but a " + value.getClass().getName()); diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOSyntheticIdPropertyHandler.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOSyntheticIdPropertyHandler.java index fbc0aebc0a..fd6ea21d00 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOSyntheticIdPropertyHandler.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOSyntheticIdPropertyHandler.java @@ -9,7 +9,6 @@ * Martin Taal - initial API and implementation * Eike Stepper - maintenance */ - package org.eclipse.emf.cdo.server.internal.hibernate.tuplizer; import org.eclipse.emf.cdo.common.id.CDOID; @@ -37,7 +36,7 @@ import java.util.Map; * Is only used for synthetic id's. * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> - * @version $Revision: 1.9 $ + * @version $Revision: 1.10 $ */ @SuppressWarnings("unchecked") public class CDOSyntheticIdPropertyHandler implements Getter, Setter, PropertyAccessor diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java index a615d6838a..2e5062c5e9 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/WrappedHibernateList.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Martin Taal - initial api * Eike Stepper - maintenance @@ -221,6 +221,7 @@ public class WrappedHibernateList implements InternalCDOList { return ((CDORevision)value).getID(); } + return value; } diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBHsqldbNonAudit.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBHsqldbNonAudit.java index 74196347d4..ac83b75cb6 100644 --- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBHsqldbNonAudit.java +++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBHsqldbNonAudit.java @@ -26,7 +26,6 @@ import junit.framework.TestSuite; */ public class AllTestsDBHsqldbNonAudit extends AllTestsAllConfigs { - public static Test suite() { return new AllTestsDBHsqldbNonAudit().getTestSuite("CDO Tests (DBStoreRepositoryConfig Hsql Horizontal Non-audit)"); @@ -51,5 +50,4 @@ public class AllTestsDBHsqldbNonAudit extends AllTestsAllConfigs // this takes ages - so for now, we disable it testClasses.remove(Bugzilla_261218_Test.class); } - } diff --git a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HbPackageRegistryTest.java b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HbPackageRegistryTest.java index 241aa96769..1f6f0602b4 100644 --- a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HbPackageRegistryTest.java +++ b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HbPackageRegistryTest.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -22,7 +22,6 @@ import java.util.Map; */ public class HbPackageRegistryTest extends PackageRegistryTest { - private String hbm2ddlValue = null; public HbPackageRegistryTest() diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/MultiValuedOfAttributeTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/MultiValuedOfAttributeTest.java index bee2eba612..3b3b664eb0 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/MultiValuedOfAttributeTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/MultiValuedOfAttributeTest.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -176,6 +176,7 @@ public class MultiValuedOfAttributeTest extends AbstractCDOTest { elements.add(list.get(i)); } + resource.getContents().add(eGenObject); transaction.commit(); } @@ -193,6 +194,7 @@ public class MultiValuedOfAttributeTest extends AbstractCDOTest { assertEquals(elements.get(i), list.get(i)); } + elements.add(list.get(list.size() - 1)); transaction.commit(); } @@ -212,6 +214,7 @@ public class MultiValuedOfAttributeTest extends AbstractCDOTest { assertEquals(elements.get(i), list.get(i)); } + transaction.commit(); } } diff --git a/plugins/org.eclipse.emf.cdo.ui.ide/src/org/eclipse/emf/cdo/ui/internal/ide/actions/RemoveResourceAction.java b/plugins/org.eclipse.emf.cdo.ui.ide/src/org/eclipse/emf/cdo/ui/internal/ide/actions/RemoveResourceAction.java index c00f9ecb23..6ff7f321c6 100644 --- a/plugins/org.eclipse.emf.cdo.ui.ide/src/org/eclipse/emf/cdo/ui/internal/ide/actions/RemoveResourceAction.java +++ b/plugins/org.eclipse.emf.cdo.ui.ide/src/org/eclipse/emf/cdo/ui/internal/ide/actions/RemoveResourceAction.java @@ -122,8 +122,8 @@ public class RemoveResourceAction implements IObjectActionDelegate return Status.OK_STATUS; } }; + job.schedule(); } } - } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java index 6e19e1f664..b4e9eee068 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RegisterGeneratedPackagesAction.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -86,6 +86,7 @@ public class RegisterGeneratedPackagesAction extends RegisterPackagesAction { return ""; //$NON-NLS-1$ } + return registry.containsKey(uri) ? null : MessageFormat.format(Messages .getString("RegisterGeneratedPackagesAction.5"), uri); //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageRegistryDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageRegistryDialog.java index 2a92c75d01..8aa295f9d4 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageRegistryDialog.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageRegistryDialog.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -118,7 +118,8 @@ public class PackageRegistryDialog extends TitleAreaDialog @Override protected void createButtonsForButtonBar(Composite parent) { - Button button = createButton(parent, REGISTER_GENERATED_PACKAGES_ID, Messages.getString("PackageRegistryDialog.5"), false); //$NON-NLS-1$ + Button button = createButton(parent, REGISTER_GENERATED_PACKAGES_ID, + Messages.getString("PackageRegistryDialog.5"), false); //$NON-NLS-1$ button.setEnabled(isGlobalPackageAvaliable()); createButton(parent, REGISTER_WORKSPACE_PACKAGES_ID, Messages.getString("PackageRegistryDialog.6"), false); //$NON-NLS-1$ @@ -147,6 +148,7 @@ public class PackageRegistryDialog extends TitleAreaDialog refreshViewer(); } }.run(); + break; case REGISTER_WORKSPACE_PACKAGES_ID: @@ -158,6 +160,7 @@ public class PackageRegistryDialog extends TitleAreaDialog refreshViewer(); } }.run(); + break; case REGISTER_FILESYSTEM_PACKAGES_ID: @@ -169,6 +172,7 @@ public class PackageRegistryDialog extends TitleAreaDialog refreshViewer(); } }.run(); + break; case IDialogConstants.CLOSE_ID: diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOActionBarContributor.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOActionBarContributor.java index 3eb11e4706..46ab89602d 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOActionBarContributor.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOActionBarContributor.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -374,6 +374,7 @@ public class CDOActionBarContributor extends EditingDomainActionBarContributor i { depopulateManager(createChildMenuManager, createChildActions); } + if (createSiblingMenuManager != null) { depopulateManager(createSiblingMenuManager, createSiblingActions); @@ -435,6 +436,7 @@ public class CDOActionBarContributor extends EditingDomainActionBarContributor i populateManager(createChildMenuManager, createChildActions, null); createChildMenuManager.update(true); } + if (createSiblingMenuManager != null) { populateManager(createSiblingMenuManager, createSiblingActions, null); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java index 5e27293209..8900f9165f 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/editor/CDOEditor.java @@ -1053,6 +1053,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv { setSelectionToViewer(mostRecentCommand.getAffectedObjects()); } + if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) { propertySheetPage.refresh(); @@ -2106,6 +2107,9 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv return populated; } + /** + * @ADDED + */ private IContributionItem populateSubMenu(String nsURI, Object value, final CDOPackageRegistry packageRegistry) { if (value instanceof EPackage) @@ -2130,6 +2134,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv submenuManager.add(new Action(Messages.getString("CDOEditor.27")) //$NON-NLS-1$ { }); + submenuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) @@ -2151,6 +2156,9 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv return submenuManager; } + /** + * @ADDED + */ private void populateSubMenu(EPackage ePackage, final MenuManager submenuManager) { List<EObject> objects = new ArrayList<EObject>(); @@ -2185,6 +2193,9 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv } } + /** + * @ADDED + */ private String getLabelText(Object object) { try @@ -2206,6 +2217,9 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv return ""; //$NON-NLS-1$ } + /** + * @ADDED + */ private Object getLabelImage(Object object) { try @@ -2512,6 +2526,7 @@ public class CDOEditor extends MultiPageEditorPart implements IEditingDomainProv { return true; } + return false; } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/filters/CDOStateFilter.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/filters/CDOStateFilter.java index ca8632a74b..8a4b92b10d 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/filters/CDOStateFilter.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/filters/CDOStateFilter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Victor Roldan Betancort - initial API and implementation * Eike Stepper - maintenance @@ -78,6 +78,7 @@ public class CDOStateFilter extends CDOObjectFilter { return ((CDOObject)element).cdoState() == stateFilter; } + return true; } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/preferences/CDOUIPreferencePage.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/preferences/CDOUIPreferencePage.java index 7029962bbc..0bf88929c9 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/preferences/CDOUIPreferencePage.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/preferences/CDOUIPreferencePage.java @@ -61,6 +61,7 @@ public class CDOUIPreferencePage extends OMPreferencePage return UIUtil.createGridData(true, false); } }; + decoration.setLayoutData(UIUtil.createGridData(true, false)); Text text = decoration.getText(); @@ -69,6 +70,7 @@ public class CDOUIPreferencePage extends OMPreferencePage { tags.append(tag + " "); //$NON-NLS-1$ } + text.setToolTipText(Messages.getString("CDOUIPreferencePage.2") + tags.toString()); //$NON-NLS-1$ IControlContentAdapter contentAdapter = new TextContentAdapter(); IContentProposalProvider provider = new SimpleContentProposalProvider(CDOLabelDecorator.DECORATION_PROPOSALS); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java index 9654a754af..1018f82633 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java @@ -97,7 +97,8 @@ import java.util.concurrent.atomic.AtomicLong; */ public class CDOWatchListView extends ViewPart implements ISelectionProvider { - private static final String[] columnNames = { Messages.getString("CDOWatchListView.0"), Messages.getString("CDOWatchListView.1"), Messages.getString("CDOWatchListView.2"), Messages.getString("CDOWatchListView.3") }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + private static final String[] columnNames = { + Messages.getString("CDOWatchListView.0"), Messages.getString("CDOWatchListView.1"), Messages.getString("CDOWatchListView.2"), Messages.getString("CDOWatchListView.3") }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ private static final int[] columnWidths = { 110, 280, 170, 230 }; @@ -748,7 +749,8 @@ public class CDOWatchListView extends ViewPart implements ISelectionProvider { private final Color YELLOW = UIUtil.getDisplay().getSystemColor(SWT.COLOR_YELLOW); - private final String[] eventTypes = { Messages.getString("CDOWatchListView.12"), Messages.getString("CDOWatchListView.25"), Messages.getString("CDOWatchListView.26"), Messages.getString("CDOWatchListView.27"), Messages.getString("CDOWatchListView.28"), Messages.getString("CDOWatchListView.29"), Messages.getString("CDOWatchListView.30"), Messages.getString("CDOWatchListView.31"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ + private final String[] eventTypes = { + Messages.getString("CDOWatchListView.12"), Messages.getString("CDOWatchListView.25"), Messages.getString("CDOWatchListView.26"), Messages.getString("CDOWatchListView.27"), Messages.getString("CDOWatchListView.28"), Messages.getString("CDOWatchListView.29"), Messages.getString("CDOWatchListView.30"), Messages.getString("CDOWatchListView.31"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ Messages.getString("CDOWatchListView.32"), Messages.getString("CDOWatchListView.33") }; //$NON-NLS-1$ //$NON-NLS-2$ private AdapterFactory adapterFactory; @@ -765,6 +767,7 @@ public class CDOWatchListView extends ViewPart implements ISelectionProvider { return null; } + switch (columnIndex) { case 0: diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java index 2dfe1b4829..0e14d950d4 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java @@ -170,6 +170,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource, { return this; } + return super.eDirectResource(); } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSession.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSession.java index 2675b583e5..afd6649c9b 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSession.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSession.java @@ -163,7 +163,6 @@ public interface CDOSession extends CDOCommonSession, IContainer<CDOView>, IOpti */ public interface Options extends CDOCommonSession.Options { - public boolean isGeneratedPackageEmulationEnabled(); public void setGeneratedPackageEmulationEnabled(boolean generatedPackageEmulationEnabled); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java index 9678af3194..48802aff07 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Simon McDuff - maintenance @@ -973,6 +973,7 @@ public class CDOObjectImpl extends EStoreEObjectImpl implements InternalCDOObjec { oldContainerResource.attached(this); } + // If we didn't detach it from an old resource already, detach it from the old container's resource. // else if (oldResource == null) diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectMerger.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectMerger.java index bd8740168e..69c1e3ea10 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectMerger.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectMerger.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -37,6 +37,7 @@ public class CDOObjectMerger extends CDORevisionMerger { revision.setTransactional(); } + object.cdoInternalSetRevision(revision); // NEW object should stay that state. diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java index 1b7272155c..93ba1c212a 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStateMachine.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Simon McDuff - maintenance @@ -368,6 +368,7 @@ public final class CDOStateMachine extends FiniteStateMachine<CDOState, CDOEvent revised.add(revision); } } + ids.put(object.cdoID(), object); } } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java index 91c1d3d3d5..4f25fc4382 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java @@ -368,6 +368,7 @@ public final class CDOStore implements EStore } } } + if (feature instanceof EReference) { // The EReference condition should be in the CDOType.convertToCDO. Since common package do not have access to diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOAnalyzerFeatureInfo.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOAnalyzerFeatureInfo.java index 7ebd1eea34..c4b48405b0 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOAnalyzerFeatureInfo.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/analyzer/CDOAnalyzerFeatureInfo.java @@ -4,12 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance */ - package org.eclipse.emf.internal.cdo.analyzer; import org.eclipse.emf.cdo.common.CDOFetchRule; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/CDONet4jSessionFactory.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/CDONet4jSessionFactory.java index 5a00217d1c..7ad7dfa0ec 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/CDONet4jSessionFactory.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/CDONet4jSessionFactory.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation **************************************************************************/ @@ -25,7 +25,6 @@ import org.eclipse.emf.spi.cdo.InternalCDOSession; */ public class CDONet4jSessionFactory extends CDOSessionFactory { - public static final String TYPE = "cdo"; //$NON-NLS-1$ public CDONet4jSessionFactory() diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/CommitTransactionPhase2Request.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/CommitTransactionPhase2Request.java index 786d389df8..6de65d1696 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/CommitTransactionPhase2Request.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/CommitTransactionPhase2Request.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation **************************************************************************/ @@ -112,6 +112,7 @@ public class CommitTransactionPhase2Request extends CommitTransactionRequest { PROTOCOL.format("ID mapping: {0} --> {1}", tempID.toURIFragment(), newIDExternal.toURIFragment()); //$NON-NLS-1$ } + out.writeCDOID(tempID); out.writeCDOID(newIDExternal); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/LoadChunkRequest.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/LoadChunkRequest.java index 4e293822b9..2fcd505651 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/LoadChunkRequest.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/net4j/protocol/LoadChunkRequest.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation **************************************************************************/ @@ -91,6 +91,7 @@ public class LoadChunkRequest extends CDOClientRequest<Object> { TRACER.format("Writing fromIndex: {0}", fromIndex); //$NON-NLS-1$ } + int diffIndex = accessIndex - fetchIndex; out.writeInt(fromIndex - diffIndex); if (TRACER.isEnabled()) diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/revision/CDOListWithElementProxiesImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/revision/CDOListWithElementProxiesImpl.java index 5456bbf85a..79557ca22a 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/revision/CDOListWithElementProxiesImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/revision/CDOListWithElementProxiesImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -27,7 +27,6 @@ import org.eclipse.emf.spi.cdo.CDOElementProxy; */ public class CDOListWithElementProxiesImpl extends CDOListImpl { - public static final CDOListFactory FACTORY = new CDOListFactory() { public CDOList createList(int initialCapacity, int size, int initialChunk) diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java index 176dacb19c..7fbc8859e2 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java @@ -688,7 +688,6 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter Set<String> neededLibraries = createSet(libraryDescriptor.getLibraryNames()); if (!neededLibraries.isEmpty()) { - IOUtil.mkdirs(cacheFolder); Set<String> existingLibraries = createSet(cacheFolder.list()); Set<String> missingLibraries = new HashSet<String>(neededLibraries); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSavepointImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSavepointImpl.java index c4822d7068..3460edf310 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSavepointImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOSavepointImpl.java @@ -1,14 +1,14 @@ -/** - * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Simon McDuff - initial API and implementation - * Eike Stepper - maintenance - * Simon McDuff - http://bugs.eclipse.org/204890 +/** + * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Simon McDuff - initial API and implementation + * Eike Stepper - maintenance + * Simon McDuff - http://bugs.eclipse.org/204890 */ package org.eclipse.emf.internal.cdo.transaction; @@ -280,7 +280,6 @@ public class CDOSavepointImpl extends AbstractSavepoint } else { - for (CDOFeatureDelta delta : entry.getValue().getFeatureDeltas()) { revisionDelta.addFeatureDelta(((InternalCDOFeatureDelta)delta).copy()); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXATransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXATransactionImpl.java index e27c4189ca..8d4a2cf4af 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXATransactionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOXATransactionImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance @@ -528,6 +528,7 @@ public class CDOXATransactionImpl implements InternalCDOXATransaction CommitTransactionResult result = sessionProtocol.commitTransactionPhase3(xaContext, monitor); check_result(result); } + xaContext.postCommit(xaContext.getResult()); xaContext.setState(null); } @@ -587,6 +588,7 @@ public class CDOXATransactionImpl implements InternalCDOXATransaction { CDOXATransactionImpl.this.add((InternalCDOTransaction)notification.getNewValue()); } + break; case Notification.REMOVE: @@ -594,6 +596,7 @@ public class CDOXATransactionImpl implements InternalCDOXATransaction { CDOXATransactionImpl.this.remove((InternalCDOTransaction)notification.getNewValue()); } + break; } } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java index 07123f48cd..5cd1a14434 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/CompletePackageClosure.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * Simon McDuff - http://bugs.eclipse.org/246442 + * Simon McDuff - http://bugs.eclipse.org/246442 */ package org.eclipse.emf.internal.cdo.util; @@ -54,7 +54,6 @@ public class CompletePackageClosure extends PackageClosure @Override protected void collectContents(EPackage ePackage, Set<EPackage> visited) { - if (ePackage != null && visited.add(ePackage)) { if (excludeEcore && // Optimize EPackage comparison diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java index cea170ccb0..18df3f6163 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/FSMUtil.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Simon McDuff - http://bugs.eclipse.org/246705 @@ -237,6 +237,7 @@ public final class FSMUtil } } } + return false; } diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/PackageClosure.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/PackageClosure.java index a5acf0dbe2..23640469fa 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/PackageClosure.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/PackageClosure.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Simon McDuff - maintenance @@ -61,6 +61,7 @@ public abstract class PackageClosure implements IPackageClosure { TRACER.trace("Package closure for " + ePackage.getNsURI()); //$NON-NLS-1$ } + collectContents(ePackage, visited); for (EPackage subPackage : ePackage.getESubpackages()) { diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/RevisionAdjuster.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/RevisionAdjuster.java index 0b623e3df2..a9d1cd18ef 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/RevisionAdjuster.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/util/RevisionAdjuster.java @@ -4,12 +4,11 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Simon McDuff - initial API and implementation * Eike Stepper - maintenance */ - package org.eclipse.emf.internal.cdo.util; import org.eclipse.emf.cdo.common.id.CDOID; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java index 20a65bfbb7..823de330a9 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java @@ -1110,6 +1110,7 @@ public class CDOViewImpl extends Lifecycle implements InternalCDOView { dirtyObject = objects.get(dirtyOID.getID()); } + if (dirtyObject != null) { CDOStateMachine.INSTANCE.invalidate(dirtyObject, dirtyOID.getVersion()); @@ -1804,7 +1805,6 @@ public class CDOViewImpl extends Lifecycle implements InternalCDOView class SubscribeEntry { - private CDOID id; private int count = 0; diff --git a/plugins/org.eclipse.net4j.buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java b/plugins/org.eclipse.net4j.buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java index 8e518d6cc0..b7affcda30 100644 --- a/plugins/org.eclipse.net4j.buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java +++ b/plugins/org.eclipse.net4j.buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -15,5 +15,4 @@ package org.eclipse.net4j.buddies.chat; */ public interface IChatRoom extends IChat { - } diff --git a/plugins/org.eclipse.net4j.buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java b/plugins/org.eclipse.net4j.buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java index 802b52e4fd..1d2d927503 100644 --- a/plugins/org.eclipse.net4j.buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java +++ b/plugins/org.eclipse.net4j.buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -64,6 +64,7 @@ public final class ProtocolUtil buddies.add(buddy); } } + return buddies; } diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java index 4a2db32ef2..a8c94fd006 100644 --- a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java +++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -142,6 +142,7 @@ public class BuddyAdmin extends CollaborationContainer implements IBuddyAdmin, I { TRACER.trace("Opened session: " + userID); } + sessions.put(userID, session); return session; } diff --git a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java index 33e9270e63..b3924c500b 100644 --- a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java +++ b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/AbstractDBTest.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -88,6 +88,7 @@ public abstract class AbstractDBTest<DATA_SOURCE extends DataSource> extends Abs pk_table.addIndex(IDBIndex.Type.PRIMARY_KEY, pk_field); ++count; } + ++i; } diff --git a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/MysqlTest.java b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/MysqlTest.java index aaec298e11..4bf504c9f5 100644 --- a/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/MysqlTest.java +++ b/plugins/org.eclipse.net4j.db.tests/src/org/eclipse/net4j/db/tests/MysqlTest.java @@ -10,7 +10,6 @@ */ package org.eclipse.net4j.db.tests; - /** * @author Eike Stepper */ diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java index 4a819f1aa8..d82f4a3007 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java @@ -39,6 +39,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + TIME(92) { @Override @@ -47,6 +48,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + TIMESTAMP(93) { @Override @@ -65,6 +67,7 @@ public enum DBType } } }, // + BINARY(-2) { @Override @@ -73,6 +76,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + VARBINARY(-3) { @Override @@ -81,6 +85,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + LONGVARBINARY(-4, "LONG VARBINARY") { @Override @@ -89,6 +94,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + BLOB(2004) { @Override @@ -97,6 +103,7 @@ public enum DBType throw new UnsupportedOperationException(); } }, // + CLOB(2005) { @Override diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java index 4176e759e2..5a46b34f03 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -318,6 +318,7 @@ public abstract class DBAdapter implements IDBAdapter { TRACER.trace(sql); } + statement.execute(sql); } diff --git a/plugins/org.eclipse.net4j.debug/src/org/eclipse/net4j/internal/debug/views/RemoteTraceView.java b/plugins/org.eclipse.net4j.debug/src/org/eclipse/net4j/internal/debug/views/RemoteTraceView.java index 42e8dc613f..3359f86ac6 100644 --- a/plugins/org.eclipse.net4j.debug/src/org/eclipse/net4j/internal/debug/views/RemoteTraceView.java +++ b/plugins/org.eclipse.net4j.debug/src/org/eclipse/net4j/internal/debug/views/RemoteTraceView.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -129,6 +129,7 @@ public class RemoteTraceView extends ViewPart RemoteTraceView.this.fillContextMenu(manager); } }); + Menu menu = menuMgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); getSite().registerContextMenu(menuMgr, viewer); @@ -169,6 +170,7 @@ public class RemoteTraceView extends ViewPart refreshViewer(); } }; + clearAction.setText("Clear"); clearAction.setToolTipText("Clear"); clearAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor( diff --git a/plugins/org.eclipse.net4j.ui.defs/src/org/eclipse/net4j/ui/defs/impl/Net4JUIDefsFactoryImpl.java b/plugins/org.eclipse.net4j.ui.defs/src/org/eclipse/net4j/ui/defs/impl/Net4JUIDefsFactoryImpl.java index 1632a0ae34..e01749da77 100644 --- a/plugins/org.eclipse.net4j.ui.defs/src/org/eclipse/net4j/ui/defs/impl/Net4JUIDefsFactoryImpl.java +++ b/plugins/org.eclipse.net4j.ui.defs/src/org/eclipse/net4j/ui/defs/impl/Net4JUIDefsFactoryImpl.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * André Dietisheim - initial API and implementation * Eike Stepper - maintenance @@ -23,14 +23,14 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin; /** * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc --> - * + * * @generated */ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsFactory { /** * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ public static Net4JUIDefsFactory init() @@ -48,12 +48,13 @@ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsF { EcorePlugin.INSTANCE.log(exception); } + return new Net4JUIDefsFactoryImpl(); } /** * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ public Net4JUIDefsFactoryImpl() @@ -63,7 +64,7 @@ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsF /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ @Override @@ -80,7 +81,7 @@ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsF /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ public InteractiveCredentialsProviderDef createInteractiveCredentialsProviderDef() @@ -91,7 +92,7 @@ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsF /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @generated */ public Net4JUIDefsPackage getNet4JUIDefsPackage() @@ -101,7 +102,7 @@ public class Net4JUIDefsFactoryImpl extends EFactoryImpl implements Net4JUIDefsF /** * <!-- begin-user-doc --> <!-- end-user-doc --> - * + * * @deprecated * @generated */ diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java index b998821a50..cdc723fd3e 100644 --- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/views/Net4jIntrospectorView.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -651,6 +651,7 @@ public class Net4jIntrospectorView extends ViewPart implements ISelectionListene OM.LOG.error(ex); } } + return ""; } } diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.java index 6af927787e..62532c0446 100644 --- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.java +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/HistoryTextDialog.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -131,6 +131,7 @@ public class HistoryTextDialog extends InputDialog { errorMessage = getValidator().isValid(historyText.getText()); } + // Bug 16256: important not to treat "" (blank error) the same as null // (no error) setErrorMessage(errorMessage); diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java index 02d3e328d8..20e2fd3e17 100644 --- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/widgets/SashComposite.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -76,6 +76,7 @@ public abstract class SashComposite extends Composite implements INotifier.Intro return createControl1(parent); } } : createControl1(this); + control1.setLayoutData(control1Data); sashData = new FormData(); @@ -91,6 +92,7 @@ public abstract class SashComposite extends Composite implements INotifier.Intro return createControl2(parent); } } : createControl2(this); + control2.setLayoutData(control2Data); init(); diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteExceptionRequest.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteExceptionRequest.java index b976a39c35..cd84df3c3b 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteExceptionRequest.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/signal/RemoteExceptionRequest.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -67,6 +67,7 @@ class RemoteExceptionRequest extends Request { nl = message.length(); } + if (nl > 100) { nl = 100; diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/ChannelMultiplexer.java b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/ChannelMultiplexer.java index 144b44506a..8879ecde16 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/ChannelMultiplexer.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/ChannelMultiplexer.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -145,7 +145,6 @@ public abstract class ChannelMultiplexer extends Container<IChannel> implements try { - try { long timeout = getOpenChannelTimeout() - System.currentTimeMillis() + start; diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Connector.java b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Connector.java index 02ae26d792..6c623f0efb 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Connector.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/spi/net4j/Connector.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ @@ -131,6 +131,7 @@ public abstract class Connector extends ChannelMultiplexer implements InternalCo finishedNegotiating.countDown(); finishedNegotiating = null; } + break; case CONNECTING: diff --git a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/Activator.java b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/Activator.java index 259faa4350..2c58b70479 100644 --- a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/Activator.java +++ b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/Activator.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * + * * Initial Publication: * Eclipse Magazin - http://www.eclipse-magazin.de */ @@ -25,7 +25,6 @@ import org.osgi.framework.BundleContext; */ public class Activator extends AbstractUIPlugin { - // The plug-in ID public static final String PLUGIN_ID = "org.gastro.rcp.department"; @@ -62,7 +61,7 @@ public class Activator extends AbstractUIPlugin /** * Returns the shared instance - * + * * @return the shared instance */ public static Activator getDefault() @@ -72,7 +71,7 @@ public class Activator extends AbstractUIPlugin /** * Returns an image descriptor for the image file at the given plug-in relative path - * + * * @param path * the path * @return the image descriptor diff --git a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java index 45e3da7066..74e6380cd4 100644 --- a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java +++ b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * + * * Initial Publication: * Eclipse Magazin - http://www.eclipse-magazin.de */ @@ -147,6 +147,7 @@ public class OrdersView extends ViewPart trclmnTitel.setWidth(400); trclmnTitel.setText("Angebot"); } + { TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnQuantity = treeViewerColumn.getColumn(); @@ -155,6 +156,7 @@ public class OrdersView extends ViewPart trclmnQuantity.setWidth(50); trclmnQuantity.setText("Menge"); } + { TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnPreis = treeViewerColumn.getColumn(); @@ -163,6 +165,7 @@ public class OrdersView extends ViewPart trclmnPreis.setWidth(100); trclmnPreis.setText("Preis"); } + { TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); TreeColumn trclmnSumme = treeViewerColumn.getColumn(); diff --git a/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/Activator.java b/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/Activator.java index 0911ac0ed8..64e0ba26fe 100644 --- a/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/Activator.java +++ b/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/Activator.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * + * * Initial Publication: * Eclipse Magazin - http://www.eclipse-magazin.de */ @@ -25,7 +25,6 @@ import org.osgi.framework.BundleContext; */ public class Activator extends AbstractUIPlugin { - // The plug-in ID public static final String PLUGIN_ID = "org.gastro.rcp.table"; @@ -62,7 +61,7 @@ public class Activator extends AbstractUIPlugin /** * Returns the shared instance - * + * * @return the shared instance */ public static Activator getDefault() @@ -72,7 +71,7 @@ public class Activator extends AbstractUIPlugin /** * Returns an image descriptor for the image file at the given plug-in relative path - * + * * @param path * the path * @return the image descriptor diff --git a/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/TableView.java b/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/TableView.java index 0dc021f593..fb3d20a7b5 100644 --- a/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/TableView.java +++ b/plugins/org.gastro.rcp.table/src/org/gastro/rcp/internal/table/TableView.java @@ -4,10 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation - * + * * Initial Publication: * Eclipse Magazin - http://www.eclipse-magazin.de */ @@ -248,6 +248,7 @@ public class TableView extends ViewPart tree.setLayoutData(gridData); } } + { Composite composite = new Composite(shelfItem.getBody(), SWT.NONE); composite.setLayout(new GridLayout(1, false)); @@ -261,6 +262,7 @@ public class TableView extends ViewPart menuTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); menuTitle.setText("Titel"); } + { Label label = new Label(composite, SWT.SEPARATOR); { @@ -269,6 +271,7 @@ public class TableView extends ViewPart label.setLayoutData(gridData); } } + { menuDescription = new Label(composite, SWT.WRAP); menuDescription.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_BLUE)); @@ -277,6 +280,7 @@ public class TableView extends ViewPart menuDescription.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); menuDescription.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); } + { Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false, 1, 1)); @@ -293,6 +297,7 @@ public class TableView extends ViewPart menuImage.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_BLUE)); menuImage.setFont(SWTResourceManager.getFont("Comic Sans MS", 16, SWT.BOLD)); } + { menuPrice = new Label(composite_1, SWT.NONE); menuPrice.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, true, false, 1, 1)); @@ -304,6 +309,7 @@ public class TableView extends ViewPart } } } + { Composite composite = new Composite(shelfItem.getBody(), SWT.NONE); composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); @@ -322,12 +328,15 @@ public class TableView extends ViewPart prevMenu(); } }); + buttonPrev.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/up.png")); } + { Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 1)); } + { quantity = new Label(composite, SWT.NONE); quantity.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_BLUE)); @@ -337,6 +346,7 @@ public class TableView extends ViewPart quantity.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false, 1, 1)); quantity.setText("0"); } + { Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); @@ -354,8 +364,10 @@ public class TableView extends ViewPart deleteOrder(); } }); + buttonDelete.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/delete.gif")); } + { buttonAdd = new Button(composite_1, SWT.NONE); buttonAdd.setToolTipText("Mehr bestellen"); @@ -369,10 +381,12 @@ public class TableView extends ViewPart }); } } + { Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 1)); } + { Button buttonNext = new Button(composite, SWT.NONE); buttonNext.setToolTipText("N\u00E4chster Eintrag"); @@ -383,12 +397,15 @@ public class TableView extends ViewPart nextMenu(); } }); + buttonNext.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/down.png")); } } + shelfItem.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/menucard.png")); shelfItem.setText(" Speisen und Getr\u00E4nke"); } + { PShelfItem shelfItem = new PShelfItem(shelf, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); @@ -409,6 +426,7 @@ public class TableView extends ViewPart gridData.widthHint = 300; table.setLayoutData(gridData); } + { TableViewerColumn tableViewerColumn = new TableViewerColumn(orderViewer, SWT.NONE); TableColumn tblclmnQuantity = tableViewerColumn.getColumn(); @@ -417,12 +435,14 @@ public class TableView extends ViewPart tblclmnQuantity.setWidth(70); tblclmnQuantity.setText("Quantity"); } + { TableViewerColumn tableViewerColumn = new TableViewerColumn(orderViewer, SWT.NONE); TableColumn tblclmnOffering = tableViewerColumn.getColumn(); tblclmnOffering.setWidth(410); tblclmnOffering.setText("Offering"); } + { TableViewerColumn tableViewerColumn = new TableViewerColumn(orderViewer, SWT.NONE); TableColumn tblclmnPrice = tableViewerColumn.getColumn(); @@ -431,6 +451,7 @@ public class TableView extends ViewPart tblclmnPrice.setWidth(100); tblclmnPrice.setText("Price"); } + { TableViewerColumn tableViewerColumn = new TableViewerColumn(orderViewer, SWT.NONE); TableColumn tblclmnSum = tableViewerColumn.getColumn(); @@ -469,6 +490,7 @@ public class TableView extends ViewPart } }); } + { Composite composite = new Composite(shelfItem.getBody(), SWT.NONE); composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); @@ -487,15 +509,18 @@ public class TableView extends ViewPart cancelOrder(); } }); + buttonCancel.setToolTipText("Bestellung abbrechen"); buttonCancel.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/cancel.png")); } + { Label labelTotalPrice = new Label(composite, SWT.NONE); labelTotalPrice.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND)); labelTotalPrice.setAlignment(SWT.CENTER); labelTotalPrice.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, true, 1, 1)); } + { Button buttonSend = new Button(composite, SWT.NONE); buttonSend.addSelectionListener(new SelectionAdapter() @@ -505,18 +530,22 @@ public class TableView extends ViewPart sendOrder(); } }); + buttonSend.setToolTipText("Bestellung absenden"); buttonSend.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/send.png")); } } + shelfItem.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/order.png")); shelfItem.setText(" Bestellung"); } + { PShelfItem shelfItem = new PShelfItem(shelf, SWT.NONE); shelfItem.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/payment.png")); shelfItem.setText(" Bezahlung"); } + { PShelfItem shelfItem = new PShelfItem(shelf, SWT.NONE); shelfItem.setImage(ResourceManager.getPluginImage("org.gastro.rcp.table", "icons/service.png")); diff --git a/releng/org.eclipse.emf.cdo.formatchecker/.classpath b/releng/org.eclipse.emf.cdo.formatchecker/.classpath new file mode 100644 index 0000000000..8727917339 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/releng/org.eclipse.emf.cdo.formatchecker/.cvsignore b/releng/org.eclipse.emf.cdo.formatchecker/.cvsignore new file mode 100644 index 0000000000..693869726d --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/.cvsignore @@ -0,0 +1,2 @@ +bin +doc diff --git a/releng/org.eclipse.emf.cdo.formatchecker/.project b/releng/org.eclipse.emf.cdo.formatchecker/.project new file mode 100644 index 0000000000..748f8b7aad --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.emf.cdo.formatchecker</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/releng/org.eclipse.emf.cdo.formatchecker/.settings/org.eclipse.jdt.core.prefs b/releng/org.eclipse.emf.cdo.formatchecker/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..9596daa307 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Tue May 05 10:07:46 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/releng/org.eclipse.emf.cdo.formatchecker/FormatChecker.launch b/releng/org.eclipse.emf.cdo.formatchecker/FormatChecker.launch new file mode 100644 index 0000000000..2601858406 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/FormatChecker.launch @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/org.eclipse.emf.cdo.formatchecker/src/org/eclipse/emf/cdo/formatchecker/FormatChecker.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.formatchecker.FormatChecker"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.formatchecker"/> +</launchConfiguration> diff --git a/releng/org.eclipse.emf.cdo.formatchecker/about.html b/releng/org.eclipse.emf.cdo.formatchecker/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/releng/org.eclipse.emf.cdo.formatchecker/copyright.txt b/releng/org.eclipse.emf.cdo.formatchecker/copyright.txt new file mode 100644 index 0000000000..043f4a4f88 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/releng/org.eclipse.emf.cdo.formatchecker/epl-v10.html b/releng/org.eclipse.emf.cdo.formatchecker/epl-v10.html new file mode 100644 index 0000000000..d7b88e9416 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/epl-v10.html @@ -0,0 +1,319 @@ +<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<meta name="ProgId" content="Word.Document"> +<meta name="Generator" content="Microsoft Word 9"> +<meta name="Originator" content="Microsoft Word 9"> +<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Revision>2</o:Revision> + <o:TotalTime>3</o:TotalTime> + <o:Created>2004-03-05T23:03:00Z</o:Created> + <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved> + <o:Pages>4</o:Pages> + <o:Words>1626</o:Words> + <o:Characters>9270</o:Characters> + <o:Lines>77</o:Lines> + <o:Paragraphs>18</o:Paragraphs> + <o:CharactersWithSpaces>11384</o:CharactersWithSpaces> + <o:Version>9.4402</o:Version> + </o:DocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:TrackRevisions/> + </w:WordDocument> +</xml><![endif]--> + + +<style> +<!-- + /* Font Definitions */ +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:553679495 -2147483648 8 0 66047 0;} + /* Style Definitions */ +p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p + {margin-right:0in; + mso-margin-top-alt:auto; + mso-margin-bottom-alt:auto; + margin-left:0in; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.BalloonText, li.BalloonText, div.BalloonText + {mso-style-name:"Balloon Text"; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:8.0pt; + font-family:Tahoma; + mso-fareast-font-family:"Times New Roman";} +@page Section1 + {size:8.5in 11.0in; + margin:1.0in 1.25in 1.0in 1.25in; + mso-header-margin:.5in; + mso-footer-margin:.5in; + mso-paper-source:0;} +div.Section1 + {page:Section1;} +--> +</style></head> + +<body style="" lang="EN-US"> + +<div class="Section1"> + +<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b> +</p> + +<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.</span> </p> + +<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p> + +<p><span style="font-size: 10pt;">"Contribution" means:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and<br clear="left"> +b) in the case of each subsequent Contributor:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +changes to the Program, and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +additions to the Program;</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program. </span></p> + +<p><span style="font-size: 10pt;">"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style="font-size: 10pt;">"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program. </span></p> + +<p><span style="font-size: 10pt;">"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style="font-size: 10pt;">"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.</span> </p> + +<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder. </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. </span></p> + +<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p> + +<p><span style="font-size: 10pt;">A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that:</span> +</p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it complies with the terms and conditions of this Agreement; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +its license agreement:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.<span style="color: blue;"> </span></span></p> + +<p><span style="font-size: 10pt;">When the Program is made available in source +code form:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it must be made available under this Agreement; and </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a +copy of this Agreement must be included with each copy of the Program. </span></p> + +<p><span style="font-size: 10pt;">Contributors may not remove or alter any +copyright notices contained within the Program. </span></p> + +<p><span style="font-size: 10pt;">Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution. </span></p> + +<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p> + +<p><span style="font-size: 10pt;">Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.</span> </p> + +<p><span style="font-size: 10pt;">For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.</span> </p> + +<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. </span></p> + +<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.</span> </p> + +<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p> + +<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.</span> </p> + +<p><span style="font-size: 10pt;">If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed. </span></p> + +<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive. </span></p> + +<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.</span> </p> + +<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.</span> </p> + +<p class="MsoNormal"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/releng/org.eclipse.emf.cdo.formatchecker/license.html b/releng/org.eclipse.emf.cdo.formatchecker/license.html new file mode 100644 index 0000000000..d7b88e9416 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/license.html @@ -0,0 +1,319 @@ +<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<meta name="ProgId" content="Word.Document"> +<meta name="Generator" content="Microsoft Word 9"> +<meta name="Originator" content="Microsoft Word 9"> +<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Revision>2</o:Revision> + <o:TotalTime>3</o:TotalTime> + <o:Created>2004-03-05T23:03:00Z</o:Created> + <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved> + <o:Pages>4</o:Pages> + <o:Words>1626</o:Words> + <o:Characters>9270</o:Characters> + <o:Lines>77</o:Lines> + <o:Paragraphs>18</o:Paragraphs> + <o:CharactersWithSpaces>11384</o:CharactersWithSpaces> + <o:Version>9.4402</o:Version> + </o:DocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:TrackRevisions/> + </w:WordDocument> +</xml><![endif]--> + + +<style> +<!-- + /* Font Definitions */ +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:553679495 -2147483648 8 0 66047 0;} + /* Style Definitions */ +p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p + {margin-right:0in; + mso-margin-top-alt:auto; + mso-margin-bottom-alt:auto; + margin-left:0in; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Times New Roman"; + mso-fareast-font-family:"Times New Roman";} +p.BalloonText, li.BalloonText, div.BalloonText + {mso-style-name:"Balloon Text"; + margin:0in; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:8.0pt; + font-family:Tahoma; + mso-fareast-font-family:"Times New Roman";} +@page Section1 + {size:8.5in 11.0in; + margin:1.0in 1.25in 1.0in 1.25in; + mso-header-margin:.5in; + mso-footer-margin:.5in; + mso-paper-source:0;} +div.Section1 + {page:Section1;} +--> +</style></head> + +<body style="" lang="EN-US"> + +<div class="Section1"> + +<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b> +</p> + +<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.</span> </p> + +<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p> + +<p><span style="font-size: 10pt;">"Contribution" means:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and<br clear="left"> +b) in the case of each subsequent Contributor:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +changes to the Program, and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +additions to the Program;</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program. </span></p> + +<p><span style="font-size: 10pt;">"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style="font-size: 10pt;">"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program. </span></p> + +<p><span style="font-size: 10pt;">"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style="font-size: 10pt;">"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.</span> </p> + +<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder. </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. </span></p> + +<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p> + +<p><span style="font-size: 10pt;">A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that:</span> +</p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it complies with the terms and conditions of this Agreement; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) +its license agreement:</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits; </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and</span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.<span style="color: blue;"> </span></span></p> + +<p><span style="font-size: 10pt;">When the Program is made available in source +code form:</span> </p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a) +it must be made available under this Agreement; and </span></p> + +<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a +copy of this Agreement must be included with each copy of the Program. </span></p> + +<p><span style="font-size: 10pt;">Contributors may not remove or alter any +copyright notices contained within the Program. </span></p> + +<p><span style="font-size: 10pt;">Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution. </span></p> + +<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p> + +<p><span style="font-size: 10pt;">Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.</span> </p> + +<p><span style="font-size: 10pt;">For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.</span> </p> + +<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. </span></p> + +<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p> + +<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.</span> </p> + +<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p> + +<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.</span> </p> + +<p><span style="font-size: 10pt;">If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed. </span></p> + +<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive. </span></p> + +<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.</span> </p> + +<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.</span> </p> + +<p class="MsoNormal"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/releng/org.eclipse.emf.cdo.formatchecker/src/org/eclipse/emf/cdo/formatchecker/FormatChecker.java b/releng/org.eclipse.emf.cdo.formatchecker/src/org/eclipse/emf/cdo/formatchecker/FormatChecker.java new file mode 100644 index 0000000000..293fb32da0 --- /dev/null +++ b/releng/org.eclipse.emf.cdo.formatchecker/src/org/eclipse/emf/cdo/formatchecker/FormatChecker.java @@ -0,0 +1,552 @@ +/** + * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.formatchecker; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +/** + * @author Eike Stepper + */ +public class FormatChecker +{ + private static Map<String, List<Integer>> complaints = new HashMap<String, List<Integer>>(); + + public static void main(String[] args) throws IOException + { + File folder = new File(args.length == 0 ? "/develop/ws/cdo" : args[0]); + recurse(folder); + + ignore("base.impl.BaseFactoryImpl", 1); + ignore("base.impl.BasePackageImpl", 2); + ignore("base.util.BaseAdapterFactory", 2); + ignore("base.util.BaseSwitch", 2); + ignore("com.swtdesigner.ResourceManager", 48); + ignore("com.swtdesigner.SWTResourceManager", 40); + ignore("derived.impl.DerivedFactoryImpl", 1); + ignore("derived.impl.DerivedPackageImpl", 2); + ignore("derived.util.DerivedAdapterFactory", 2); + ignore("derived.util.DerivedSwitch", 3); + ignore("interface_.impl.InterfaceFactoryImpl", 1); + ignore("interface_.impl.InterfacePackageImpl", 2); + ignore("interface_.util.InterfaceAdapterFactory", 2); + ignore("interface_.util.InterfaceSwitch", 2); + ignore("org.eclipse.emf.cdo.defs.CDOTransactionDef", 1); + ignore("org.eclipse.emf.cdo.defs.ResourceMode", 3); + ignore("org.eclipse.emf.cdo.defs.impl.CDOAuditDefImpl", 4); + ignore("org.eclipse.emf.cdo.defs.impl.CDODefsFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.defs.impl.CDOPackageRegistryDefImpl", 8); + ignore("org.eclipse.emf.cdo.defs.impl.CDOResourceDefImpl", 6); + ignore("org.eclipse.emf.cdo.defs.impl.CDOSessionDefImpl", 9); + ignore("org.eclipse.emf.cdo.defs.impl.CDOTransactionDefImpl", 1); + ignore("org.eclipse.emf.cdo.defs.impl.CDOViewDefImpl", 6); + ignore("org.eclipse.emf.cdo.defs.impl.EDynamicPackageDefImpl", 4); + ignore("org.eclipse.emf.cdo.defs.impl.EPackageDefImpl", 4); + ignore("org.eclipse.emf.cdo.defs.impl.FailOverStrategyDefImpl", 5); + ignore("org.eclipse.emf.cdo.defs.impl.RetryFailOverStrategyDefImpl", 5); + ignore("org.eclipse.emf.cdo.defs.util.CDODefsAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.defs.util.CDODefsSwitch", 1); + ignore("org.eclipse.emf.cdo.defs.util.CDODefsUtil", 2); + ignore("org.eclipse.emf.cdo.emodel.impl.EmodelFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.emodel.impl.EmodelPackageImpl", 1); + ignore("org.eclipse.emf.cdo.emodel.provider.CDOAnnotationItemProvider", 3); + ignore("org.eclipse.emf.cdo.emodel.provider.CDOModelElementItemProvider", 3); + ignore("org.eclipse.emf.cdo.emodel.provider.CDONamedElementItemProvider", 2); + ignore("org.eclipse.emf.cdo.emodel.util.EmodelAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.emodel.util.EmodelSwitch", 1); + ignore("org.eclipse.emf.cdo.emodel.util.EmodelValidator", 2); + ignore("org.eclipse.emf.cdo.tests.legacy.model4interfaces.impl.model4interfacesFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.legacy.model4interfaces.impl.model4interfacesPackageImpl", 2); + ignore("org.eclipse.emf.cdo.tests.legacy.model4interfaces.util.model4interfacesAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.legacy.model4interfaces.util.model4interfacesSwitch", 15); + ignore("org.eclipse.emf.cdo.tests.mango.ParameterPassing", 3); + ignore("org.eclipse.emf.cdo.tests.mango.impl.MangoFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.mango.provider.ParameterItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.mango.provider.ValueItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.mango.provider.ValueListItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.mango.util.MangoAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.mango.util.MangoSwitch", 1); + ignore("org.eclipse.emf.cdo.tests.model1.VAT", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CategoryCreateCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CategoryProducts2CreateCommand", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CategoryProducts2ReorientCommand", 9); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CategoryProductsCreateCommand", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CategoryProductsReorientCommand", 9); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.CustomerCreateCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.Model1ReorientConnectionViewCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderAddressCreateCommand", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderDetailCreateCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderOrderDetails2CreateCommand", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderOrderDetails2ReorientCommand", 9); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderOrderDetailsCreateCommand", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.OrderOrderDetailsReorientCommand", 9); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.Product1CreateCommand", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.PurchaseOrderCreateCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.SalesOrderCreateCommand", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.SalesOrderCustomerCreateCommand", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.SalesOrderCustomerReorientCommand", 9); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.commands.SupplierCreateCommand", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.helpers.Model1BaseEditHelper", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CategoryEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CategoryNameEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CategoryProducts2EditPart", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CategoryProductsEditPart", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CompanyEditPart", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CustomerEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.CustomerNameEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.Model1EditPartFactory", 6); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderAddressEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderAddressNameEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderDetailEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderDetailPriceEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderOrderDetails2EditPart", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.OrderOrderDetailsEditPart", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.Product1EditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.Product1NameEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.PurchaseOrderDateEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.PurchaseOrderEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.SalesOrderCustomerEditPart", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.SalesOrderEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.SalesOrderIdEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.SupplierEditPart", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.parts.SupplierNameEditPart", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CategoryCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CategoryItemSemanticEditPolicy", 5); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CategoryProducts2ItemSemanticEditPolicy", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CategoryProductsItemSemanticEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CompanyCanonicalEditPolicy", 32); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CompanyItemSemanticEditPolicy", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CustomerCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.CustomerItemSemanticEditPolicy", 5); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.Model1BaseItemSemanticEditPolicy", 29); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.Model1TextNonResizableEditPolicy", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.Model1TextSelectionEditPolicy", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderAddressCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderAddressItemSemanticEditPolicy", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderDetailCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderDetailItemSemanticEditPolicy", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderOrderDetails2ItemSemanticEditPolicy", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.OrderOrderDetailsItemSemanticEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.Product1CanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.Product1ItemSemanticEditPolicy", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.PurchaseOrderCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.PurchaseOrderItemSemanticEditPolicy", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.SalesOrderCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.SalesOrderCustomerItemSemanticEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.SalesOrderItemSemanticEditPolicy", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.SupplierCanonicalEditPolicy", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.edit.policies.SupplierItemSemanticEditPolicy", 5); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1AbstractNavigatorItem", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1DomainNavigatorContentProvider", 14); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1DomainNavigatorItem", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1DomainNavigatorLabelProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorActionProvider", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorContentProvider", 44); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorGroup", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorItem", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorLabelProvider", 8); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorLinkHelper", 10); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.navigator.Model1NavigatorSorter", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.parsers.AbstractParser", 14); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.parsers.CompositeParser", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.parsers.MessageFormatParser", 8); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.DeleteElementAction", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.DiagramEditorContextMenuProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Messages", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1CreationWizard", 7); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1CreationWizardPage", 5); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramActionBarContributor", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramEditor", 15); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramEditorPlugin", 8); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramEditorUtil", 18); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramUpdateCommand", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DiagramUpdater", 25); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DocumentProvider", 56); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1DomainModelElementTester", 13); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1InitDiagramFileAction", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1LinkDescriptor", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1LoadResourceAction", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1MatchingStrategy", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1NewDiagramFileWizard", 8); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1NodeDescriptor", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1PaletteFactory", 3); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1UriEditorInputTester", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.Model1VisualIDRegistry", 39); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.part.ModelElementSelectionPage", 5); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramAppearancePreferencePage", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramConnectionsPreferencePage", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramGeneralPreferencePage", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramPreferenceInitializer", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramPrintingPreferencePage", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.preferences.DiagramRulersAndGridPreferencePage", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.ElementInitializers", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1EditPartProvider", 8); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1ElementTypes", 12); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1IconProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1ModelingAssistantProvider", 39); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1ParserProvider", 16); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.providers.Model1ViewProvider", 25); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.sheet.Model1PropertySection", 12); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.sheet.Model1SheetLabelProvider", 6); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CategoryNameViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CategoryProducts2ViewFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CategoryProductsViewFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CategoryViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CompanyViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CustomerNameViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.CustomerViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderAddressNameViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderAddressViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderDetailPriceViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderDetailViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderOrderDetails2ViewFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.OrderOrderDetailsViewFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.Product1NameViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.Product1ViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.PurchaseOrderDateViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.PurchaseOrderViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.SalesOrderCustomerViewFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.SalesOrderIdViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.SalesOrderViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.SupplierNameViewFactory", 1); + ignore("org.eclipse.emf.cdo.tests.model1.diagram.view.factories.SupplierViewFactory", 4); + ignore("org.eclipse.emf.cdo.tests.model1.impl.Model1FactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model1.impl.OrderAddressImpl", 4); + ignore("org.eclipse.emf.cdo.tests.model1.provider.AddressItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.provider.CategoryItemProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.provider.CompanyItemProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.provider.CustomerItemProvider", 1); + ignore("org.eclipse.emf.cdo.tests.model1.provider.OrderAddressItemProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.provider.OrderDetailItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.provider.OrderItemProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model1.provider.Product1ItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.provider.PurchaseOrderItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.provider.SalesOrderItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.provider.SupplierItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model1.util.Model1AdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model1.util.Model1Switch", 1); + ignore("org.eclipse.emf.cdo.tests.model2.impl.Model2FactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model2.provider.SpecialPurchaseOrderItemProvider", 4); + ignore("org.eclipse.emf.cdo.tests.model2.provider.TaskContainerItemProvider", 3); + ignore("org.eclipse.emf.cdo.tests.model2.provider.TaskItemProvider", 2); + ignore("org.eclipse.emf.cdo.tests.model2.util.Model2AdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model2.util.Model2Switch", 1); + ignore("org.eclipse.emf.cdo.tests.model3.impl.Model3FactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model3.subpackage.impl.SubpackageFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model3.subpackage.util.SubpackageAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model3.subpackage.util.SubpackageSwitch", 1); + ignore("org.eclipse.emf.cdo.tests.model3.util.Model3AdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model3.util.Model3Switch", 1); + ignore("org.eclipse.emf.cdo.tests.model4.impl.ImplContainedElementNPLImpl", 2); + ignore("org.eclipse.emf.cdo.tests.model4.impl.StringToEObjectImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model4.impl.model4FactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model4.util.model4AdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model4.util.model4Switch", 1); + ignore("org.eclipse.emf.cdo.tests.model4interfaces.impl.model4interfacesFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model4interfaces.util.model4interfacesAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model4interfaces.util.model4interfacesSwitch", 1); + ignore("org.eclipse.emf.cdo.tests.model5.Doctor", 1); + ignore("org.eclipse.emf.cdo.tests.model5.Manager", 1); + ignore("org.eclipse.emf.cdo.tests.model5.impl.Model5FactoryImpl", 1); + ignore("org.eclipse.emf.cdo.tests.model5.util.Model5AdapterFactory", 2); + ignore("org.eclipse.emf.cdo.tests.model5.util.Model5Switch", 1); + ignore("org.eclipse.emf.cdo.eresource.impl.EresourceFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.eresource.impl.EresourcePackageImpl", 2); + ignore("org.eclipse.emf.cdo.eresource.impl.EresourceFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.eresource.impl.EresourcePackageImpl", 2); + ignore("org.eclipse.emf.cdo.eresource.provider.CDOResourceFolderItemProvider", 3); + ignore("org.eclipse.emf.cdo.eresource.provider.CDOResourceItemProvider", 3); + ignore("org.eclipse.emf.cdo.eresource.provider.CDOResourceNodeItemProvider", 2); + ignore("org.eclipse.emf.cdo.eresource.provider.EresourceItemProviderAdapterFactory", 1); + ignore("org.eclipse.emf.cdo.eresource.util.EresourceAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.eresource.util.EresourceSwitch", 6); + ignore("org.eclipse.emf.cdo.internal.ui.editor.CDOActionBarContributor", 5); + ignore("org.eclipse.emf.cdo.internal.ui.editor.CDOEditor", 11); + ignore("org.eclipse.emf.cdo.ui.defs.impl.CDOEditorDefImpl", 8); + ignore("org.eclipse.emf.cdo.ui.defs.impl.CDOUIDefsFactoryImpl", 1); + ignore("org.eclipse.emf.cdo.ui.defs.impl.EditorDefImpl", 4); + ignore("org.eclipse.emf.cdo.ui.defs.util.CDOUIDefsAdapterFactory", 2); + ignore("org.eclipse.emf.cdo.ui.defs.util.CDOUIDefsSwitch", 1); + ignore("org.eclipse.net4j.defs.BufferPoolDef", 1); + ignore("org.eclipse.net4j.defs.BufferProviderDef", 1); + ignore("org.eclipse.net4j.defs.ClientProtocolFactoryDef", 1); + ignore("org.eclipse.net4j.defs.ProtocolProviderDef", 1); + ignore("org.eclipse.net4j.defs.ServerProtocolFactoryDef", 1); + ignore("org.eclipse.net4j.defs.TCPSelectorDef", 1); + ignore("org.eclipse.net4j.defs.impl.AcceptorDefImpl", 10); + ignore("org.eclipse.net4j.defs.impl.ConnectorDefImpl", 10); + ignore("org.eclipse.net4j.defs.impl.HTTPConnectorDefImpl", 4); + ignore("org.eclipse.net4j.defs.impl.JVMAcceptorDefImpl", 4); + ignore("org.eclipse.net4j.defs.impl.JVMConnectorDefImpl", 4); + ignore("org.eclipse.net4j.defs.impl.Net4jDefsFactoryImpl", 1); + ignore("org.eclipse.net4j.defs.impl.TCPAcceptorDefImpl", 5); + ignore("org.eclipse.net4j.defs.impl.TCPConnectorDefImpl", 5); + ignore("org.eclipse.net4j.defs.util.Net4jDefsAdapterFactory", 2); + ignore("org.eclipse.net4j.defs.util.Net4jDefsSwitch", 1); + ignore("org.eclipse.net4j.defs.util.Net4jDefsUtil", 1); + ignore("org.eclipse.net4j.spi.db.DBSchema", 1); + ignore("org.eclipse.net4j.ui.defs.impl.Net4JUIDefsFactoryImpl", 1); + ignore("org.eclipse.net4j.ui.defs.util.Net4JUIDefsAdapterFactory", 2); + ignore("org.eclipse.net4j.ui.defs.util.Net4JUIDefsSwitch", 1); + ignore("org.eclipse.net4j.util.defs.DefException", 1); + ignore("org.eclipse.net4j.util.defs.NegotiatorDef", 1); + ignore("org.eclipse.net4j.util.defs.impl.ChallengeNegotiatorDefImpl", 7); + ignore("org.eclipse.net4j.util.defs.impl.CredentialsProviderDefImpl", 4); + ignore("org.eclipse.net4j.util.defs.impl.DefContainerImpl", 7); + ignore("org.eclipse.net4j.util.defs.impl.DefImpl", 5); + ignore("org.eclipse.net4j.util.defs.impl.Net4jUtilDefsFactoryImpl", 1); + ignore("org.eclipse.net4j.util.defs.impl.PasswordCredentialsProviderDefImpl", 5); + ignore("org.eclipse.net4j.util.defs.impl.RandomizerDefImpl", 7); + ignore("org.eclipse.net4j.util.defs.impl.ResponseNegotiatorDefImpl", 5); + ignore("org.eclipse.net4j.util.defs.impl.ThreadPoolDefImpl", 1); + ignore("org.eclipse.net4j.util.defs.impl.UserImpl", 4); + ignore("org.eclipse.net4j.util.defs.impl.UserManagerDefImpl", 5); + ignore("org.eclipse.net4j.util.defs.util.Net4jUtilDefsAdapterFactory", 2); + ignore("org.eclipse.net4j.util.defs.util.Net4jUtilDefsSwitch", 1); + ignore("org.eclipse.net4j.util.io.ExtendedIOUtil", 1); + ignore("org.eclipse.net4j.util.tests.defs.impl.DefsFactoryImpl", 1); + ignore("org.eclipse.net4j.util.tests.defs.impl.DefsPackageImpl", 2); + ignore("org.eclipse.net4j.util.tests.defs.impl.TestDefImpl", 5); + ignore("org.eclipse.net4j.util.tests.defs.impl.TestDefsFactoryImpl", 1); + ignore("org.eclipse.net4j.util.tests.defs.impl.TestDefsPackageImpl", 2); + ignore("org.eclipse.net4j.util.tests.defs.util.DefsAdapterFactory", 2); + ignore("org.eclipse.net4j.util.tests.defs.util.DefsSwitch", 3); + ignore("org.eclipse.net4j.util.tests.defs.util.TestDefsAdapterFactory", 2); + ignore("org.eclipse.net4j.util.tests.defs.util.TestDefsSwitch", 3); + ignore("org.eclipse.net4j.util.ui.proposals.RegExContentProposalProvider", 10); + ignore("org.eclipse.net4j.util.ui.proposals.RegExMessages", 2); + ignore("org.gastro.business.OrderState", 3); + ignore("org.gastro.business.impl.BusinessFactoryImpl", 1); + ignore("org.gastro.business.provider.BusinessDayItemProvider", 3); + ignore("org.gastro.business.provider.OrderDetailItemProvider", 2); + ignore("org.gastro.business.provider.OrderItemProvider", 3); + ignore("org.gastro.business.provider.WaiterItemProvider", 2); + ignore("org.gastro.business.util.BusinessAdapterFactory", 2); + ignore("org.gastro.business.util.BusinessSwitch", 1); + ignore("org.gastro.inventory.impl.InventoryFactoryImpl", 1); + ignore("org.gastro.inventory.provider.DepartmentItemProvider", 3); + ignore("org.gastro.inventory.provider.EmployeeItemProvider", 2); + ignore("org.gastro.inventory.provider.IngredientItemProvider", 2); + ignore("org.gastro.inventory.provider.MenuCardItemProvider", 3); + ignore("org.gastro.inventory.provider.OfferingItemProvider", 2); + ignore("org.gastro.inventory.provider.ProductItemProvider", 2); + ignore("org.gastro.inventory.provider.RecipeItemProvider", 3); + ignore("org.gastro.inventory.provider.RestaurantItemProvider", 3); + ignore("org.gastro.inventory.provider.SectionItemProvider", 3); + ignore("org.gastro.inventory.provider.StationItemProvider", 2); + ignore("org.gastro.inventory.provider.StockItemProvider", 3); + ignore("org.gastro.inventory.provider.StockProductItemProvider", 2); + ignore("org.gastro.inventory.provider.TableItemProvider", 2); + ignore("org.gastro.inventory.util.InventoryAdapterFactory", 2); + ignore("org.gastro.inventory.util.InventorySwitch", 1); + ignore("reference.impl.ReferenceFactoryImpl", 1); + ignore("reference.impl.ReferencePackageImpl", 2); + ignore("reference.util.ReferenceAdapterFactory", 2); + ignore("reference.util.ReferenceSwitch", 2); + ignore("templates.MenuCardTemplate", 1); + + report(); + } + + private static void recurse(File folder) throws IOException + { + for (File file : folder.listFiles()) + { + String name = file.getName(); + if (file.isDirectory()) + { + if (!name.startsWith(".")) + { + if (new File(file, ".project").exists() && !new File(file, "copyright.txt").exists()) + { + continue; + } + + recurse(file); + } + } + else + { + if (name.endsWith(".java")) + { + processJava(file); + } + } + } + } + + private static void processJava(File file) throws IOException + { + // System.out.println(file.getAbsolutePath()); + String name = file.getName(); + name = name.substring(0, name.length() - ".java".length()); + + InputStream stream = new FileInputStream(file); + BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); + + try + { + String packageName = null; + String last = ""; + String line; + int i = 0; + while ((line = reader.readLine()) != null) + { + ++i; + if (packageName == null) + { + if (line.startsWith("package ")) + { + packageName = line.substring("package ".length()); // Remove prefix "package " + packageName = packageName.substring(0, packageName.length() - 1); // Remove suffix ";" + packageName = packageName.trim(); + name = packageName + "." + name; + continue; + } + } + + String type = type(line); + if (last.equals("{")) + { + if (type.equals("empty")) + { + complain(name, i); + } + } + else if (last.equals("}")) + { + if (!(type.equals("empty") || type.equals("}") || type.equals("stmt"))) + { + complain(name, i); + } + } + // else if (last.equals("stmt")) + // { + // if (!type.equals("{")) + // { + // complain(name, i); + // } + // } + else if (last.equals("empty")) + { + if (type.equals("empty")) + { + complain(name, i); + } + } + + last = type; + } + } + finally + { + stream.close(); + } + } + + private static String type(String line) + { + line = line.trim(); + int i = line.indexOf("//"); + if (i != -1) + { + line = line.substring(0, i).trim(); + if (line.equals("")) + { + return ""; + } + } + + if (line.equals("")) + { + return "empty"; + } + + if (line.equals("{")) + { + return "{"; + } + + if (line.startsWith("}")) + { + return "}"; + } + + if (line.equals("else") || line.equals("default") || line.startsWith("case ") || line.startsWith("else if (") + || line.startsWith("catch (") || line.equals("finally")) + { + return "stmt"; + } + + return ""; + } + + private static void complain(String name, int i) + { + List<Integer> list = complaints.get(name); + if (list == null) + { + list = new ArrayList<Integer>(); + complaints.put(name, list); + } + + list.add(i); + } + + private static void ignore(String name, int count) + { + List<Integer> list = complaints.get(name); + int found = list == null ? 0 : list.size(); + if (found == count) + { + complaints.remove(name); + } + } + + private static void report() + { + List<Entry<String, List<Integer>>> list = new ArrayList<Entry<String, List<Integer>>>(complaints.entrySet()); + Collections.sort(list, new Comparator<Entry<String, List<Integer>>>() + { + public int compare(Entry<String, List<Integer>> o1, Entry<String, List<Integer>> o2) + { + return o1.getKey().compareTo(o2.getKey()); + } + }); + + for (Entry<String, List<Integer>> entry : list) + { + String name = entry.getKey(); + for (int i : entry.getValue()) + { + int dot = name.lastIndexOf('.'); + String file = dot == -1 ? name : name.substring(dot + 1); + System.err.println(name + ".$(" + file + ".java:" + i + ")"); + } + } + + for (Entry<String, List<Integer>> entry : list) + { + System.out.println("ignore(\"" + entry.getKey() + "\", " + entry.getValue().size() + ");"); + } + } +} |