/// <summary> /// Constructor. /// </summary> /// <param name="nameSpace">namespace for the new object</param> /// <param name="label">label for the new object</param> /// <param name="ingestOwner">name of the object owner</param> /// <param name="reservedPID">(optional) if the first generated PID ends with this string forces a second attempt to create a PID for the new object</param> public HydraServiceFedoraExt(string nameSpace, string label, string ingestOwner, string reservedPID) : base() { //Default Language Code - Suresh Thampi _languageCode = "en"; _source = "unknown"; _subject = "unknown"; _fedoraManagement = new FedoraManagementSOAPImpl(_fedoraServer); _label = label; //--------------------------------------------------// // Modified By Suresh Thampi on 04/01/2011 //--------------------------------------------------// if (base.ObjectPID != string.Empty) { _objectPID = base.ObjectPID; } else { //Get the next available PID from fedora. _objectPID = GetNextPID(nameSpace); //--------------------------------------------------// if (!String.IsNullOrEmpty(reservedPID)) { if (_objectPID.EndsWith(reservedPID)) // this PID is reserved so lets start with the next _objectPID = GetNextPID(nameSpace); } } //New instance of contentFactory with objectPID, label etc... _contentFactory = new ContentFactory(_objectPID, _label, "A", ingestOwner); }
//------------------------------------------------------------ public Datastream GetData(string PID) { FedoraManagementSOAPImpl ObjFedora = new FedoraManagementSOAPImpl(new FedoraServer()); Datastream ds = ObjFedora.getDatastream(PID, "DC", null, null); return ds; }