com.esri.arcgis.geodatabasedistributed
Interface ICheckIn2

All Superinterfaces:
ICheckIn, Serializable
All Known Implementing Classes:
CheckIn

public interface ICheckIn2
extends ICheckIn, Serializable

Provides access to members that perform a check in.

Remarks

The ICheckIn2 interface allows you to check changes into the parent replica (previously referred to as a checking in changes to the master geodatabase ) from either the check-out replica or a delta file. It has additional functionality to the ICheckin interface in that it allows for determining how editing conflicts are detected and applied at check in.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 boolean checkInFromDeltaFile2(IWorkspaceName parentDB, String checkoutName, String fileName, int dcOption, boolean reconcileCheckout, int childReconcilePolicy, boolean columnLevel, boolean createOIDMappingTable)
          Checks in changes from a delta database.
 boolean checkInFromGDB2(IWorkspaceName parentDB, String checkoutName, IWorkspaceName checkOutDB, boolean reconcileCheckout, int childReconcilePolicy, boolean columnLevel, boolean createOIDMappingTable)
          Checks in changes from a check-out database.
 
Methods inherited from interface com.esri.arcgis.geodatabasedistributed.ICheckIn
checkInFromDeltaFile, checkInFromGDB
 

Method Detail

checkInFromGDB2

boolean checkInFromGDB2(IWorkspaceName parentDB,
                        String checkoutName,
                        IWorkspaceName checkOutDB,
                        boolean reconcileCheckout,
                        int childReconcilePolicy,
                        boolean columnLevel,
                        boolean createOIDMappingTable)
                        throws IOException,
                               AutomationException
Checks in changes from a check-out database.

Remarks

The CheckinfromGDB2 method applies the changes made in the checkOutDB (check-out geodatabase) to the parentDB (master geodatabase or parent replica) workspace. Unlike the CheckinfromGDB method available off the ICheckin interface, CheckinfromGDB2 enables you to specify how conflicts are defined, detected and applied during check in.

The checkoutName is needed to identify the check-out that is being checked in.

If createOIDMappingTable is True, tables are created in the parent replica geodatabase that describe the changes that are checked in. These tables are named <check-out name>_OM and <check-out name>_RC. If tables with these names already exist, they are deleted and replaced with a new pair of tables for the check in. If the check in process fails, these tables are not recovered.

The <check-out name>_OM table records the pre- and post- check-in ObjectID values for new features/rows that have been added. The <check-out name>_RC table records all the changes made to the checked out data which include inserts (0), updates (1) and deletes (2).

Conflicts

If reconcileCheckout is TRUE, the changes are applied to the check-out version and this version is reconciled with its parent version. If reconcileCheckout is FALSE, the changes are applied to the check-out version, but no reconcile is performed.
If reconcileCheckout is TRUE and there are no conflicts during reconcile, a FALSE is returned, otherwise TRUE is returned. Conflicts can occur if a feature is edited in the check-out database and in the parent version of the parent database.

You should never edit the check-out version prior to check in. During check in, any coincidental changes are over-written with changes from the check-out database without notification of a conflict.

If you set reconcileCheckout to TRUE and there are conflicts or if reconcileCheckout is set to FALSE, the check-out version is updated and remains on the parent database. This allows you to manually reconcile at a later time. If you set reconcileCheckout to TRUE and there are no conflicts, the check-out version is removed.

The childReconcilePolicy parameter takes an esriReplicaReconilePolicyType enumeration to determine how conflicts will be handled during reconcile. The following describes the meaning of each enumeration:


esriReplicaDetectConflicts -If conflicts occur, the reconcile process is aborted and you must reconcile and post manually after sycnhronization is completed.

esriReplicaResolveConflictsInFavorOfImportedChanges - The representation in the check-out geodatabase is automatically applied if conflicts arrise.

esriReplicaResolveConflictsInFavorOfDatabaseChanges - The representation from the parent replica importing is automatically applied if conflicts arrise.

esriReplicaResolveConflictsNone - This enumeration has meaning for check-out replicas only. It indicates that a reconcile and post should not be applied during synchronization.

If columnLevel is TRUE, conflicts are detected only when the same attribute is updated in both the check-out and the parent replica. For example, if the check-out has modified the parcel's owner attribute and the parent replica has modified the parcel's street address attribute the feature will not be in conflict. It is only when each version modifies the same attribute that the object will be in conflict.

The CheckInFromGDB2 method returns TRUE if conflicts were detected. It returns FALSE if no conflicts were detected.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
parentDB - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
checkoutName - The checkoutName (in)
checkOutDB - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
reconcileCheckout - The reconcileCheckout (in)
childReconcilePolicy - A com.esri.arcgis.geodatabase.esriReplicaReconcilePolicyType constant (in)
columnLevel - The columnLevel (in)
createOIDMappingTable - The createOIDMappingTable (in)
Returns:
The conflicts_detected
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkInFromDeltaFile2

boolean checkInFromDeltaFile2(IWorkspaceName parentDB,
                              String checkoutName,
                              String fileName,
                              int dcOption,
                              boolean reconcileCheckout,
                              int childReconcilePolicy,
                              boolean columnLevel,
                              boolean createOIDMappingTable)
                              throws IOException,
                                     AutomationException
Checks in changes from a delta database.

Remarks

The CheckinfromDeltaFile2 method applies the changes from a delta database (dcOption = esriExporttoAccess) or a delta XML file (dcOption = esriExporttoXML). See the DataChangesExporter for more information on delta files. Unlike the ICheckin::CheckinfromDeltaFile method , ICheckin2::CheckinfromDeltaFile2 enables you to specify how conflicts are defined, detected and applied during check in.

The checkoutName is needed to identify the check-out that is being checked in.

If createOIDMappingTable is True, tables are created in the parent replica geodatabase that describe the changes that are checked in. These tables are named <check-out name>_OM and <check-out name>_RC. If tables with these names already exist, they are over-written.

The <check-out name>_OM table records the pre- and post- check-in ObjectID values for new features/rows that have been added. The <check-out name>_RC table records all the changes made to the checked out data which include inserts (0), updates (1) and deletes (2).

Conflicts

If reconcileCheckout is TRUE, the changes are applied to the check-out version and this version is reconciled with its parent version. If reconcileCheckout is FALSE, the changes are applied to the check-out version, but no reconcile is performed.

If reconcileCheckout is TRUE and there are no conflicts during reconcile, a FALSE is returned, otherwise TRUE is returned. Conflicts can occur if a feature is edited in the check-out database and in the parent version of the parent database.

You should never edit the check-out version prior to check in. During check in, any coincidental changes are over-written with changes from the check-out database without notification of a conflict.

If you set reconcileCheckout to TRUE and there are conflicts or if reconcileCheckout is set to FALSE, the check-out version is updated and remains on the parent geodatabase. This allows you to manually reconcile at a later time. If you set reconcileCheckout to TRUE and there are no conflicts, the check-out version is removed.

The childReconcilePolicy parameter takes an esriReplicaReconilePolicyType enumeration to determine how conflicts will be handled during reconcile. The following describes the meaning of each enumeration:

esriReplicaDetectConflicts -If conflicts occur, the reconcile process is aborted and you must reconcile and post manually after sycnhronization is completed.

esriReplicaResolveConflictsInFavorOfImportedChanges - The representation in the check-out geodatabase is automatically applied if conflicts arrise.

esriReplicaResolveConflictsInFavorOfDatabaseChanges - The representation from the parent replica importing is automatically applied if conflicts arrise.

esriReplicaResolveConflictsNone - It indicates that a reconcile and post should not be applied during synchronization.

If columnLevel is TRUE, conflicts are detected only when the same attribute is updated in both the check-out and the parent replica. For example, if the check-out has modified the parcel's owner attribute and the parent replica has modified the parcel's street address attribute the feature will not be in conflict. It is only when each version modifies the same attribute that the object will be in conflict.

The CheckinfromDeltaFile2 method returns TRUE if conflicts were detected. It returns FALSE if no conflicts were detected.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
parentDB - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
checkoutName - The checkoutName (in)
fileName - The fileName (in)
dcOption - A com.esri.arcgis.geodatabasedistributed.esriExportDataChangesOption constant (in)
reconcileCheckout - The reconcileCheckout (in)
childReconcilePolicy - A com.esri.arcgis.geodatabase.esriReplicaReconcilePolicyType constant (in)
columnLevel - The columnLevel (in)
createOIDMappingTable - The createOIDMappingTable (in)
Returns:
The conflicts_detected
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.