- gpt fields?
- tags?
*/
TaskContext context = getContext();
DocBuilder builder = new DocBuilder();
DocInfo info = new DocInfo();
SolrInputDocument doc = new SolrInputDocument();
String s;
if (id == null) id = UuidUtil.normalizeGptUuid(resource.docuuid);
info.Id = id;
info.Id_Table = FieldConstants.Val_Id_Table_DocIndex;
//info.Owner_Dn = user.dn;
info.Owner_Username = user.username;
String sItemUrl = null;
s = resource.sourceuri;
if ((s != null) && (s.startsWith("http:") || s.startsWith("https:") ||
s.startsWith("ftp:") || s.startsWith("ftps:"))) {
sItemUrl = resource.sourceuri;
}
info.Src_Item_Http_ContentType = null;
info.Src_Item_Http_ForeignStamp = null;
info.Src_Item_Http_LastModified = null;
info.Src_Item_LastModified = resource.updatedate;
info.Src_Item_Uri = resource.sourceuri;
info.Src_Item_Url = sItemUrl;
if (parentSite != null) {
info.Src_Site_Id = resource.siteuuid;
//info.Src_Site_Name = parentSite.title;
info.Src_Site_Protocol = parentSite.protocol_type;
info.Src_Site_Url = parentSite.host_url;
}
String fs = makeForeignStamp(resource);
info.Sync_Foreign_Id = resource.docuuid;
info.Sync_Foreign_InstanceId = this.foreignInstanceId;
info.Sync_Foreign_InstanceUrl = this.foreignInstanceUrl;
info.Sync_Foreign_Stamp = fs;
info.Sync_Type = this.syncType;
if (!resource.isHarvestingSite) {
String sMetadataUrl = null;
s = this.foreignInstanceUrl;
if ((s != null) && (s.length() > 0) && (!s.contains("?"))) {
if (!s.endsWith("/")) s += "/";
sMetadataUrl = s+"rest/document?id="+URLEncoder.encode(resource.docuuid,"UTF-8");
}
info.Url_Metadata = sMetadataUrl;
}
info.Xml_Metadata = resourceXml.xml;
builder.prepare(context, xmlTypes, doc, info);
if (!this.approvedOnly) {
builder.setField(doc,"gpt.doc.approvalstatus_s",resource.approvalstatus);
}
if (collections!=null) {
for (String shortName: collections.getShortNames()) {
builder.addField(doc,FieldConstants.Sys_Src_Collections,shortName);
builder.addField(doc,FieldConstants.Sys_Src_Collections_ss,shortName);
}
}
//System.err.println(doc);
if ((okIds != null) && (okIds.size() <= this.maxIdsInMap)) {