public class org.apache.jackrabbit.jcr2spi.operation.Move extends org.apache.jackrabbit.jcr2spi.operation.TransientOperation
{
private static org.slf4j.Logger log;
private static final int MOVE_OPTIONS;
private final org.apache.jackrabbit.spi.NodeId srcId;
private final org.apache.jackrabbit.spi.NodeId destParentId;
private final org.apache.jackrabbit.spi.Name destName;
private final org.apache.jackrabbit.jcr2spi.state.NodeState srcState;
private final org.apache.jackrabbit.jcr2spi.state.NodeState srcParentState;
private final org.apache.jackrabbit.jcr2spi.state.NodeState destParentState;
private final boolean sessionMove;
static final boolean $assertionsDisabled;
private void <init>(org.apache.jackrabbit.jcr2spi.state.NodeState, org.apache.jackrabbit.jcr2spi.state.NodeState, org.apache.jackrabbit.jcr2spi.state.NodeState, org.apache.jackrabbit.spi.Name, boolean) throws javax.jcr.RepositoryException
{
org.apache.jackrabbit.spi.ItemId v;
org.apache.jackrabbit.spi.Name v;
org.apache.jackrabbit.spi.NodeId v;
byte v;
org.apache.jackrabbit.jcr2spi.state.NodeState v, v, v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
boolean v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v := @parameter: org.apache.jackrabbit.jcr2spi.state.NodeState;
v := @parameter: org.apache.jackrabbit.jcr2spi.state.NodeState;
v := @parameter: org.apache.jackrabbit.jcr2spi.state.NodeState;
v := @parameter: org.apache.jackrabbit.spi.Name;
v := @parameter: boolean;
if v == 0 goto label;
v = 15;
goto label;
label:
v = 0;
label:
specialinvoke v.<org.apache.jackrabbit.jcr2spi.operation.TransientOperation: void <init>(int)>(v);
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.spi.ItemId getId()>();
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.NodeId srcId> = v;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.spi.NodeId getNodeId()>();
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.NodeId destParentId> = v;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.Name destName> = v;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState> = v;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcParentState> = v;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState destParentState> = v;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: boolean sessionMove> = v;
virtualinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Move: void addAffectedItemState(org.apache.jackrabbit.jcr2spi.state.ItemState)>(v);
virtualinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Move: void addAffectedItemState(org.apache.jackrabbit.jcr2spi.state.ItemState)>(v);
virtualinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Move: void addAffectedItemState(org.apache.jackrabbit.jcr2spi.state.ItemState)>(v);
return;
}
public void accept(org.apache.jackrabbit.jcr2spi.operation.OperationVisitor) throws javax.jcr.lock.LockException, javax.jcr.nodetype.ConstraintViolationException, javax.jcr.AccessDeniedException, javax.jcr.ItemExistsException, javax.jcr.UnsupportedRepositoryOperationException, javax.jcr.version.VersionException, javax.jcr.RepositoryException
{
org.apache.jackrabbit.jcr2spi.operation.OperationVisitor v;
int v;
java.lang.AssertionError v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
boolean v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v := @parameter: org.apache.jackrabbit.jcr2spi.operation.OperationVisitor;
v = <org.apache.jackrabbit.jcr2spi.operation.Move: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: int status>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.operation.OperationVisitor: void visit(org.apache.jackrabbit.jcr2spi.operation.Move)>(v);
return;
}
public void persisted() throws javax.jcr.RepositoryException
{
java.lang.Throwable v;
java.lang.AssertionError v;
org.apache.jackrabbit.jcr2spi.state.NodeState v, v, v, v, v, v;
int v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
boolean v, v;
org.slf4j.Logger v;
org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry v, v, v;
org.apache.jackrabbit.spi.Name v;
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry v, v, v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = <org.apache.jackrabbit.jcr2spi.operation.Move: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: int status>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v.<org.apache.jackrabbit.jcr2spi.operation.Move: int status> = 1;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: boolean sessionMove>;
if v == 0 goto label;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry getNodeEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry: void complete(org.apache.jackrabbit.jcr2spi.operation.Operation)>(v);
goto label;
label:
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry getNodeEntry()>();
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.Name destName>;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState destParentState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry getNodeEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry: org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry move(org.apache.jackrabbit.spi.Name,org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry,boolean)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.jackrabbit.jcr2spi.operation.Move: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Internal error", v);
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcParentState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState destParentState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void invalidate(boolean)>(0);
label:
return;
catch javax.jcr.RepositoryException from label to label with label;
}
public void undo() throws javax.jcr.RepositoryException
{
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry v;
org.apache.jackrabbit.jcr2spi.state.NodeState v;
int v;
java.lang.AssertionError v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
boolean v, v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = <org.apache.jackrabbit.jcr2spi.operation.Move: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: int status>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: boolean sessionMove>;
if v == 0 goto label;
v.<org.apache.jackrabbit.jcr2spi.operation.Move: int status> = 2;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState>;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry: void complete(org.apache.jackrabbit.jcr2spi.operation.Operation)>(v);
goto label;
label:
specialinvoke v.<org.apache.jackrabbit.jcr2spi.operation.TransientOperation: void undo()>();
label:
return;
}
public org.apache.jackrabbit.spi.NodeId getSourceId()
{
org.apache.jackrabbit.spi.NodeId v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.NodeId srcId>;
return v;
}
public org.apache.jackrabbit.spi.NodeId getDestinationParentId()
{
org.apache.jackrabbit.spi.NodeId v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.NodeId destParentId>;
return v;
}
public org.apache.jackrabbit.jcr2spi.state.NodeState getSourceState()
{
org.apache.jackrabbit.jcr2spi.operation.Move v;
org.apache.jackrabbit.jcr2spi.state.NodeState v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcState>;
return v;
}
public org.apache.jackrabbit.jcr2spi.state.NodeState getSourceParentState()
{
org.apache.jackrabbit.jcr2spi.operation.Move v;
org.apache.jackrabbit.jcr2spi.state.NodeState v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState srcParentState>;
return v;
}
public org.apache.jackrabbit.jcr2spi.state.NodeState getDestinationParentState()
{
org.apache.jackrabbit.jcr2spi.operation.Move v;
org.apache.jackrabbit.jcr2spi.state.NodeState v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState destParentState>;
return v;
}
public org.apache.jackrabbit.spi.Name getDestinationName()
{
org.apache.jackrabbit.spi.Name v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
v := @this: org.apache.jackrabbit.jcr2spi.operation.Move;
v = v.<org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.spi.Name destName>;
return v;
}
public static org.apache.jackrabbit.jcr2spi.operation.Operation create(org.apache.jackrabbit.spi.Path, org.apache.jackrabbit.spi.Path, org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager, org.apache.jackrabbit.spi.commons.conversion.PathResolver, boolean) throws javax.jcr.ItemExistsException, javax.jcr.nodetype.NoSuchNodeTypeException, javax.jcr.RepositoryException
{
javax.jcr.ItemExistsException v;
org.apache.jackrabbit.spi.commons.conversion.PathResolver v;
org.apache.jackrabbit.jcr2spi.state.NodeState v, v, v, v;
org.apache.jackrabbit.spi.Path v, v, v, v;
boolean v, v, v, v, v, v;
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry v;
java.lang.Throwable v;
javax.jcr.RepositoryException v, v, v;
int v;
java.lang.String v, v, v, v, v;
org.apache.jackrabbit.jcr2spi.operation.Move v;
org.apache.jackrabbit.spi.QNodeDefinition v;
org.slf4j.Logger v, v, v;
org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry v;
org.apache.jackrabbit.spi.Name v;
org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager v;
v := @parameter: org.apache.jackrabbit.spi.Path;
v := @parameter: org.apache.jackrabbit.spi.Path;
v := @parameter: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager;
v := @parameter: org.apache.jackrabbit.spi.commons.conversion.PathResolver;
v := @parameter: boolean;
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: boolean isAncestorOf(org.apache.jackrabbit.spi.Path)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.jackrabbit.jcr2spi.util.LogUtil: java.lang.String safeGetJCRPath(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.spi.commons.conversion.PathResolver)>(v, v);
v = staticinvoke <org.apache.jackrabbit.jcr2spi.util.LogUtil: java.lang.String safeGetJCRPath(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.spi.commons.conversion.PathResolver)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid destination path: cannot be descendant of source path (\u,\u)");
v = <org.apache.jackrabbit.jcr2spi.operation.Move: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = new javax.jcr.RepositoryException;
specialinvoke v.<javax.jcr.RepositoryException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: int getIndex()>();
if v == 0 goto label;
v = staticinvoke <org.apache.jackrabbit.jcr2spi.util.LogUtil: java.lang.String safeGetJCRPath(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.spi.commons.conversion.PathResolver)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid destination path: subscript in name element is not allowed (\u)");
v = <org.apache.jackrabbit.jcr2spi.operation.Move: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
v = new javax.jcr.RepositoryException;
specialinvoke v.<javax.jcr.RepositoryException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: boolean denotesRoot()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: boolean denotesRoot()>();
if v == 0 goto label;
label:
v = <org.apache.jackrabbit.jcr2spi.operation.Move: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Cannot move the root node.");
v = new javax.jcr.RepositoryException;
specialinvoke v.<javax.jcr.RepositoryException: void <init>(java.lang.String)>("Cannot move the root node.");
throw v;
label:
v = staticinvoke <org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager)>(v, v);
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: org.apache.jackrabbit.spi.Path getAncestor(int)>(1);
v = staticinvoke <org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager)>(v, v);
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: org.apache.jackrabbit.spi.Path getAncestor(int)>(1);
v = staticinvoke <org.apache.jackrabbit.jcr2spi.operation.Move: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState(org.apache.jackrabbit.spi.Path,org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManager)>(v, v);
v = interfaceinvoke v.<org.apache.jackrabbit.spi.Path: org.apache.jackrabbit.spi.Name getName()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry getHierarchyEntry()>();
staticinvoke <org.apache.jackrabbit.jcr2spi.operation.Move: void assertChildNodeEntries(org.apache.jackrabbit.jcr2spi.state.NodeState)>(v);
staticinvoke <org.apache.jackrabbit.jcr2spi.operation.Move: void assertChildNodeEntries(org.apache.jackrabbit.jcr2spi.state.NodeState)>(v);
v = interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry: boolean hasNodeEntry(org.apache.jackrabbit.spi.Name)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry: org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry getNodeEntry(org.apache.jackrabbit.spi.Name,int)>(v, 1);
if v == null goto label;
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry: org.apache.jackrabbit.jcr2spi.state.NodeState getNodeState()>();
v = virtualinvoke v.<org.apache.jackrabbit.jcr2spi.state.NodeState: org.apache.jackrabbit.spi.QNodeDefinition getDefinition()>();
v = interfaceinvoke v.<org.apache.jackrabbit.spi.QNodeDefinition: boolean allowsSameNameSiblings()>();
if v != 0 goto label;
v = new javax.jcr.ItemExistsException;
specialinvoke v.<javax.jcr.ItemExistsException: void <init>(java.lang.String)>("Node existing at move destination does not allow same name siblings.");
throw v;
label:
v := @caughtexception;
label:
v = new org.apache.jackrabbit.jcr2spi.operation.Move;
specialinvoke v.<org.apache.jackrabbit.jcr2spi.operation.Move: void <init>(org.apache.jackrabbit.jcr2spi.state.NodeState,org.apache.jackrabbit.jcr2spi.state.NodeState,org.apache.jackrabbit.jcr2spi.state.NodeState,org.apache.jackrabbit.spi.Name,boolean)>(v, v, v, v, v);
return v;
catch javax.jcr.ItemNotFoundException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.lang.Class v;
boolean v, v;
v = class "Lorg/apache/jackrabbit/jcr2spi/operation/Move;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.jackrabbit.jcr2spi.operation.Move: boolean $assertionsDisabled> = v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/jackrabbit/jcr2spi/operation/Move;");
<org.apache.jackrabbit.jcr2spi.operation.Move: org.slf4j.Logger log> = v;
return;
}
}