You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2006/10/09 19:25:53 UTC

svn commit: r454433 [2/2] - in /jackrabbit/trunk/contrib/sanitycheck: ./ src/ src/java/ src/java/org/ src/java/org/apache/ src/java/org/apache/jackrabbit/ src/java/org/apache/jackrabbit/sanitycheck/ src/java/org/apache/jackrabbit/sanitycheck/check/ src...

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyEntryInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyEntryInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyEntryInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyEntryInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency;
+
+import org.apache.jackrabbit.core.QName;
+
+/**
+ * Inconsistency in a property entry  
+ */
+public interface PropertyEntryInconsistency extends NodeInconsistency
+{
+    QName getPropertyEntry() ;
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyEntryInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency;
+
+import org.apache.jackrabbit.core.state.PropertyState;
+
+
+/**
+ * Inconsistency in a Property
+ */
+public interface PropertyInconsistency extends NodeInconsistency
+{
+    public PropertyState getProperty() ;
+
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/PropertyInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/ValueInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/ValueInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/ValueInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/ValueInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency;
+
+/**
+ * Inconsistency in a Value
+ */
+public interface ValueInconsistency extends PropertyInconsistency
+{
+    public int getIndex() ;
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/ValueInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildNodeInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildNodeInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildNodeInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildNodeInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.sanitycheck.inconsistency.ChildNodeEntryInconsistency;
+
+/**
+ * Inconsistency in the child node
+ */
+public abstract class AbstractChildNodeInconsistency extends AbstractNodeInconsistency
+        implements ChildNodeEntryInconsistency
+{
+    /** Unexistent child */
+    private String child;
+
+    public String getChild()
+    {
+        return child;
+    }
+    public void setChild(String child)
+    {
+        this.child = child;
+    }
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildNodeInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildPropertyInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildPropertyInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildPropertyInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildPropertyInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.QName;
+import org.apache.jackrabbit.sanitycheck.inconsistency.PropertyEntryInconsistency;
+
+/**
+ * Property entry pointing to a non existent property
+ */
+public abstract class AbstractChildPropertyInconsistency extends AbstractNodeInconsistency
+        implements PropertyEntryInconsistency
+{
+
+    /** Property name */
+    private QName propertyEntry;
+
+    public QName getPropertyEntry()
+    {
+        return propertyEntry;
+    }
+
+    public void setPropertyEntry(QName propertyEntry)
+    {
+        this.propertyEntry = propertyEntry;
+    }
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractChildPropertyInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractNodeInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractNodeInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractNodeInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractNodeInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.state.NodeState;
+import org.apache.jackrabbit.core.state.PersistenceManager;
+import org.apache.jackrabbit.sanitycheck.inconsistency.NodeInconsistency;
+
+/**
+ * Superclass for all Inconsistency implementors.
+ */
+public abstract class AbstractNodeInconsistency implements NodeInconsistency
+{
+    /** Node */
+    protected NodeState node;
+
+    /** Persistence Manager */
+    protected PersistenceManager persistenceManager;
+
+    /** Persistence Manager name */
+    protected String persistenceManagerName;
+
+    public PersistenceManager getPersistenceManager()
+    {
+        return persistenceManager;
+    }
+
+    public void setPersistenceManager(PersistenceManager persistenceManager)
+    {
+        this.persistenceManager = persistenceManager;
+    }
+
+    public NodeState getNode()
+    {
+        return node;
+    }
+
+    public void setNode(NodeState target)
+    {
+        this.node = target;
+    }
+
+    public String getPersistenceManagerName()
+    {
+        return persistenceManagerName;
+    }
+
+    public void setPersistenceManagerName(String persistenceManagerName)
+    {
+        this.persistenceManagerName = persistenceManagerName;
+    }
+    
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractNodeInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractPropertyInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractPropertyInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractPropertyInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractPropertyInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.QName;
+import org.apache.jackrabbit.core.state.PropertyState;
+import org.apache.jackrabbit.sanitycheck.inconsistency.PropertyEntryInconsistency;
+import org.apache.jackrabbit.sanitycheck.inconsistency.PropertyInconsistency;
+
+/**
+ * Inconsistency in a PropertyState
+ */
+public abstract class AbstractPropertyInconsistency extends
+        AbstractNodeInconsistency implements PropertyInconsistency , PropertyEntryInconsistency
+{
+
+    /**
+     * property
+     */
+    private PropertyState property;
+
+    public PropertyState getProperty()
+    {
+        return property;
+    }
+
+    public void setProperty(PropertyState property)
+    {
+        this.property = property;
+    }
+
+    public QName getPropertyEntry()
+    {
+        return getProperty().getName() ;
+    }
+    
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractPropertyInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractValueInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractValueInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractValueInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractValueInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.sanitycheck.inconsistency.ValueInconsistency;
+
+
+/**
+ * Inconsistency in a Property value. 
+ */
+public abstract class AbstractValueInconsistency extends
+        AbstractPropertyInconsistency implements ValueInconsistency
+{
+
+    private int index = 0;
+
+    public int getIndex()
+    {
+        return index;
+    }
+
+    public void setIndex(int index)
+    {
+        this.index = index;
+    }
+ 
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/AbstractValueInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchChildInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchChildInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchChildInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchChildInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.state.NodeState;
+
+/**
+ * <p>
+ * No such child inconsistency.
+ * </p>
+ */
+public class NoSuchChildInconsistency extends AbstractChildNodeInconsistency
+{
+    /**
+     * @inheritDoc
+     */
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(((NodeState) node).getUUID());
+        sb.append(" contains a non-existent child (");
+        sb.append(this.getChild());
+        sb.append(").");
+        return sb.toString();
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchChildInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchParentInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchParentInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchParentInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchParentInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.jackrabbit.core.state.NodeState;
+import org.apache.jackrabbit.sanitycheck.inconsistency.ParentEntryInconsistency;
+
+/**
+ * <p>
+ * No such parent inconsistency.
+ * </p>
+ */
+public class NoSuchParentInconsistency extends AbstractNodeInconsistency
+        implements ParentEntryInconsistency
+{
+    private Log log = LogFactory.getLog(NoSuchParentInconsistency.class);
+
+    private String parentUUID;
+
+    /**
+     * @inheritDoc
+     */
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(((NodeState) node).getUUID());
+        sb.append(" contains a non-existent parent (");
+        sb.append(this.parentUUID);
+        sb.append(").");
+        return sb.toString();
+    }
+
+    public String getParentUUID()
+    {
+        return parentUUID;
+    }
+
+    public void setParentUUID(String parentUUID)
+    {
+        this.parentUUID = parentUUID;
+    }
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchParentInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchPropertyInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchPropertyInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchPropertyInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchPropertyInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.state.NodeState;
+
+/**
+ * Property entry pointing to a non existent property
+ */
+public class NoSuchPropertyInconsistency extends AbstractChildPropertyInconsistency
+{
+
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(((NodeState) node).getUUID());
+        sb.append(" contains an non existent property: ");
+        sb.append(this.getPropertyEntry().toString());
+        sb.append(".");
+        return sb.toString();
+    }
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchPropertyInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchReferencedNodeInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchReferencedNodeInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchReferencedNodeInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchReferencedNodeInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.util.uuid.UUID;
+
+/**
+ * Reference property pointing to a node 
+ * which doesn't exist in the workspace
+ */
+public class NoSuchReferencedNodeInconsistency extends
+        AbstractValueInconsistency 
+{
+
+    /**
+     * @inheritDoc
+     */
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(getProperty().getParentUUID());
+        sb.append(" contains a property of type REFERENCE that points to a non existent node (");
+        UUID uuid = (UUID) getProperty().getValues()[getIndex()].internalValue();
+        sb.append(uuid.toString());
+        sb.append("): ");
+        sb.append(getProperty().getName().toString());
+        sb.append("[");
+        sb.append(getIndex());
+        sb.append("].");
+        return sb.toString();
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NoSuchReferencedNodeInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NotReferenceableInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NotReferenceableInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NotReferenceableInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NotReferenceableInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.state.NodeState;
+import org.apache.jackrabbit.core.util.uuid.UUID;
+
+/**
+ * Reference to a node which is not referenceable
+ */
+public class NotReferenceableInconsistency extends
+        AbstractValueInconsistency 
+{
+    private NodeState referencedNode;
+
+    /**
+     * @inheritDoc
+     */
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(getProperty().getParentUUID());
+        sb.append(" contains a property of type REFERENCE that points to non referenceable node (");
+        UUID uuid = (UUID) getProperty().getValues()[getIndex()].internalValue();
+        sb.append(uuid.toString());
+        sb.append("): ");
+        sb.append(getProperty().getName().toString());
+        sb.append("[");
+        sb.append(getIndex());
+        sb.append("].");
+        return sb.toString();
+    }
+
+    public NodeState getReferencedNode()
+    {
+        return referencedNode;
+    }
+
+    public void setReferencedNode(NodeState referencedNode)
+    {
+        this.referencedNode = referencedNode;
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/NotReferenceableInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadNodeInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadNodeInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadNodeInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadNodeInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+
+/**
+ * Unable to read a node.
+ */
+public class UnableToReadNodeInconsistency extends AbstractChildNodeInconsistency
+{
+
+    /**
+     * @inheritDoc
+     */
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer() ;
+        sb.append("Unable to read node ");
+        sb.append(this.getChild());
+        sb.append(", child of ") ;
+        sb.append(this.node.getUUID()) ;
+        return sb.toString();
+    }
+
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadNodeInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadPropertyInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadPropertyInconsistency.java?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadPropertyInconsistency.java (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadPropertyInconsistency.java Mon Oct  9 10:25:51 2006
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.sanitycheck.inconsistency.impl;
+
+import org.apache.jackrabbit.core.state.NodeState;
+
+/**
+ * Unable to read a child property
+ */
+public class UnableToReadPropertyInconsistency extends AbstractChildPropertyInconsistency
+{
+
+    public String getDescription()
+    {
+        StringBuffer sb = new StringBuffer();
+        sb.append("The node ");
+        sb.append(((NodeState) node).getUUID());
+        sb.append(" contains a property (");
+        sb.append(this.getPropertyEntry().toString());
+        sb.append(") which can not be read .");
+        return sb.toString();
+    }
+}

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/UnableToReadPropertyInconsistency.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/package.html
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/package.html?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/package.html (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/package.html Mon Oct  9 10:25:51 2006
@@ -0,0 +1,3 @@
+<body>
+	This package contains Inconsistency implementors.
+</body>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/impl/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/package.html
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/package.html?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/package.html (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/package.html Mon Oct  9 10:25:51 2006
@@ -0,0 +1,3 @@
+<body>
+	This package contains Inconsistency interfaces.
+</body>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/inconsistency/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/package.html
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/package.html?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/package.html (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/package.html Mon Oct  9 10:25:51 2006
@@ -0,0 +1,36 @@
+<!--
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */	
+-->
+<body>
+	<p>
+	This package provides:
+	<ul>
+		<li>Consistency checks</li>
+		<li>Inconsistency repair</li>
+	</ul>
+	Custom checks and fixes can be added trough 
+	a simple commons-chain configuration file
+	(see sanity-check-chain.xml).
+	</p>
+	<p> 
+		In order to be sure that all the check were performed against every 
+		node in the repository keep running the tool until no inconsistency is 
+		found. Some inconsistencies prevent the tool of checking the entire 
+		repository. 
+	</p>
+</body>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/org/apache/jackrabbit/sanitycheck/package.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/sanitycheck/src/java/sanity-check-chain.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/sanitycheck/src/java/sanity-check-chain.xml?view=auto&rev=454433
==============================================================================
--- jackrabbit/trunk/contrib/sanitycheck/src/java/sanity-check-chain.xml (added)
+++ jackrabbit/trunk/contrib/sanitycheck/src/java/sanity-check-chain.xml Mon Oct  9 10:25:51 2006
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chains>
+  <!-- Checks -->
+  <catalog name="sanitycheck">
+	  <!-- Chain of checks to run against the versioning PM -->
+	  <chain name="versioning">
+		  <command 
+			name="CheckTree"
+			className="org.apache.jackrabbit.sanitycheck.check.CheckTree"/>
+		  <command 
+			name="CheckParentsExist"
+			className="org.apache.jackrabbit.sanitycheck.check.CheckParentsExist"/>
+	  </chain>
+	  
+	  <!-- Chain of checks to run against every workspace PM -->
+	  <chain name="workspace">
+		  <command 
+			name="CheckTree"
+			className="org.apache.jackrabbit.sanitycheck.check.CheckTree"/>
+		  <command 
+			name="CheckReferenceProperty"
+			className="org.apache.jackrabbit.sanitycheck.check.CheckReferenceProperty"/>
+		  <command 
+			name="CheckParentsExist"
+			className="org.apache.jackrabbit.sanitycheck.check.CheckParentsExist"/>
+	  </chain>
+	  
+  </catalog>  
+  
+  <!-- 
+	/ Fixes
+	/ name=Class name of the Inconsistency
+	/ className= Fix implementor
+	-->  
+  <catalog name="fixes">
+	
+	  <command 
+		name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.NoSuchChildInconsistency"
+		className="org.apache.jackrabbit.sanitycheck.fix.RemoveChildNodeEntry"/>
+
+	  <command 
+		name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.UnableToReadNodeInconsistency"
+		className="org.apache.jackrabbit.sanitycheck.fix.RemoveChildNodeEntry"/>
+
+	  <command 
+		name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.NoSuchPropertyInconsistency"
+		className="org.apache.jackrabbit.sanitycheck.fix.RemovePropertyEntry"/>
+
+	  <command 
+		name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.UnableToReadPropertyInconsistency"
+		className="org.apache.jackrabbit.sanitycheck.fix.RemovePropertyEntry"/>
+
+	  <chain name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.NoSuchReferencedNodeInconsistency">
+		<!-- Remove the value (only single value property) -->
+		  <command 
+			name="removeValueIfSingleProperty"
+			className="org.apache.jackrabbit.sanitycheck.fix.RemoveValue"/>
+		<!-- Remove the property (multivalued property) -->
+		  <chain name="removePropertyEntryAndProperty">
+			  <!-- 
+				the completed attribute tells the Fix 
+				that it must delegate the process to 
+				the next command in the chain
+				-->
+			  <command 
+				name="removePropertyEntry"
+				className="org.apache.jackrabbit.sanitycheck.fix.RemovePropertyEntry"
+				completed="false" />
+			  <command 
+				name="removeProperty"
+				className="org.apache.jackrabbit.sanitycheck.fix.RemoveProperty"/>
+		  </chain>
+	  </chain>	
+
+	  <chain name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.NotReferenceableInconsistency">
+		<!-- Remove the value (only single value property) -->
+		  <command 
+			name="removeValueIfSingleProperty"
+			className="org.apache.jackrabbit.sanitycheck.fix.RemoveValue"/>
+		<!-- Remove the property (multivalued property) -->
+		  <chain name="removePropertyEntryAndProperty">
+			  <command 
+				name="removePropertyEntry"
+				className="org.apache.jackrabbit.sanitycheck.fix.RemovePropertyEntry"
+				completed="false" />
+			  <command 
+				name="removeProperty"
+				className="org.apache.jackrabbit.sanitycheck.fix.RemoveProperty"/>
+		  </chain>
+	  </chain>	
+
+	  <command 
+		name="org.apache.jackrabbit.sanitycheck.inconsistency.impl.NoSuchParentInconsistency"
+		className="org.apache.jackrabbit.sanitycheck.fix.RemoveParentEntry"/>
+
+  </catalog>    
+  
+</chains>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/sanitycheck/src/java/sanity-check-chain.xml
------------------------------------------------------------------------------
    svn:eol-style = native