Program: 20080
Project: 20080
Buggy source:
/** 
 * This test's goal is only to help understand nuxeo versioning.
 * @throws Exception
 */
public void testCheckin() throws Exception {
  DocumentModel testFile=documentManager.createDocumentModel("String_Node_Str");
  testFile.setPathInfo("String_Node_Str","String_Node_Str");
  documentManager.createDocument(testFile);
  documentManager.save();
  System.err.println("String_Node_Str" + testFile.getVersionLabel());
  DocumentModel projectModel=SubprojectServiceImpl.createProject(documentManager,"String_Node_Str");
  DocumentModel otherProjectModel=SubprojectServiceImpl.createProject(documentManager,"String_Node_Str");
  documentManager.save();
  DocumentModel specificationsSubprojectModel=SubprojectServiceImpl.getSubprojectByName(documentManager,projectModel,"String_Node_Str");
  String specificationsSubprojectId=SubprojectServiceImpl.buildSubprojectId(specificationsSubprojectModel);
  DocumentModel realisationSubprojectModel=SubprojectServiceImpl.createSubproject(documentManager,"String_Node_Str",projectModel,list(specificationsSubprojectModel));
  String realisationSubprojectId=SubprojectServiceImpl.buildSubprojectId(realisationSubprojectModel);
  DocumentModel anotherRealisationSubprojectModel=SubprojectServiceImpl.createSubproject(documentManager,"String_Node_Str",projectModel,null);
  documentManager.save();
  String anotherRealisationSubprojectId=anotherRealisationSubprojectModel.getId();
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId());
  DocumentRef anotherRealisationSubprojectv01Ref=anotherRealisationSubprojectModel.checkIn(VersioningOption.MINOR,"String_Node_Str");
  DocumentModel anotherRealisationSubprojectv01Model=documentManager.getDocument(anotherRealisationSubprojectv01Ref);
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv01Ref + "String_Node_Str"+ anotherRealisationSubprojectv01Model+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionSeriesId());
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId());
  anotherRealisationSubprojectModel.checkOut();
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId());
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv01Ref + "String_Node_Str"+ anotherRealisationSubprojectv01Model+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionSeriesId());
  anotherRealisationSubprojectModel=documentManager.getDocument(new IdRef(anotherRealisationSubprojectId));
  DocumentRef anotherRealisationSubprojectv10Ref=anotherRealisationSubprojectModel.checkIn(VersioningOption.MAJOR,"String_Node_Str");
  DocumentModel anotherRealisationSubprojectv10Model=documentManager.getDocument(anotherRealisationSubprojectv10Ref);
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv10Ref + "String_Node_Str"+ anotherRealisationSubprojectv10Model+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getVersionSeriesId());
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId());
}

Fixed version (ground truth):
/** 
 * This test's goal is only to help understand nuxeo versioning.
 * @throws Exception
 */
public void testCheckin() throws Exception {
  DocumentModel testFile=documentManager.createDocumentModel("String_Node_Str");
  testFile.setPathInfo("String_Node_Str","String_Node_Str");
  documentManager.createDocument(testFile);
  documentManager.save();
  System.err.println("String_Node_Str" + testFile.getVersionLabel());
  DocumentModel projectModel=SubprojectServiceImpl.createProject(documentManager,"String_Node_Str");
  DocumentModel otherProjectModel=SubprojectServiceImpl.createProject(documentManager,"String_Node_Str");
  documentManager.save();
  DocumentModel specificationsSubprojectModel=SubprojectServiceImpl.getSubprojectByName(documentManager,projectModel,"String_Node_Str");
  String specificationsSubprojectId=SubprojectServiceImpl.buildSubprojectId(specificationsSubprojectModel);
  DocumentModel realisationSubprojectModel=SubprojectServiceImpl.createSubproject(documentManager,"String_Node_Str",projectModel,list(specificationsSubprojectModel));
  String realisationSubprojectId=SubprojectServiceImpl.buildSubprojectId(realisationSubprojectModel);
  DocumentModel anotherRealisationSubprojectModel=SubprojectServiceImpl.createSubproject(documentManager,"String_Node_Str",projectModel,null);
  documentManager.save();
  String anotherRealisationSubprojectId=anotherRealisationSubprojectModel.getId();
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class));
  DocumentRef anotherRealisationSubprojectv01Ref=anotherRealisationSubprojectModel.checkIn(VersioningOption.MINOR,"String_Node_Str");
  DocumentModel anotherRealisationSubprojectv01Model=documentManager.getDocument(anotherRealisationSubprojectv01Ref);
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv01Ref + "String_Node_Str"+ anotherRealisationSubprojectv01Model+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getProperty("String_Node_Str").getValue(String.class));
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class));
  anotherRealisationSubprojectModel.checkOut();
  DocumentRef anotherRealisationSubprojectv02Ref=anotherRealisationSubprojectModel.checkIn(VersioningOption.MINOR,"String_Node_Str");
  DocumentModel anotherRealisationSubprojectv02Model=documentManager.getDocument(anotherRealisationSubprojectv02Ref);
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv02Ref + "String_Node_Str"+ anotherRealisationSubprojectv02Model+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectv02Model.getProperty("String_Node_Str").getValue(String.class));
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class));
  anotherRealisationSubprojectModel.checkOut();
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class));
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv01Ref + "String_Node_Str"+ anotherRealisationSubprojectv01Model+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectv01Model.getProperty("String_Node_Str").getValue(String.class));
  anotherRealisationSubprojectModel=documentManager.getDocument(new IdRef(anotherRealisationSubprojectId));
  DocumentRef anotherRealisationSubprojectv10Ref=anotherRealisationSubprojectModel.checkIn(VersioningOption.MAJOR,"String_Node_Str");
  DocumentModel anotherRealisationSubprojectv10Model=documentManager.getDocument(anotherRealisationSubprojectv10Ref);
  System.err.println("String_Node_Str" + anotherRealisationSubprojectv10Ref + "String_Node_Str"+ anotherRealisationSubprojectv10Model+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getId()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectv10Model.getProperty("String_Node_Str").getValue(String.class));
  System.err.println("String_Node_Str" + anotherRealisationSubprojectModel + "String_Node_Str"+ anotherRealisationSubprojectModel.getId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isLatestVersion()+ "String_Node_Str"+ anotherRealisationSubprojectModel.isVersionSeriesCheckedOut()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionLabel()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getVersionSeriesId()+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class)+ "String_Node_Str"+ anotherRealisationSubprojectModel.getProperty("String_Node_Str").getValue(String.class));
}