cancel
Showing results for 
Search instead for 
Did you mean: 

Update property metadata

Former Member
0 Kudos

Hi,

I transfered a KM folder from one portal to another.

How can I set propety metadata from one namespace to another by code?

For example I have a metadata called "Name" under namespace "http://mydomain1".

The documents I transfered have metadata called "Name" under namespace "http://mydomain2".

How can I copy the metadata from the first namespace to the second by code?

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member388485
Contributor
0 Kudos

Hi,

I guess getPN is from a newer version.

Use the deprecated constructor then:

IPropertyName PropNameOld =  new PropertyName("http://mydomain1", "Name");
IPropertyName PropNameNew = new PropertyName("http://mydomain2", "Name");

Best Regards,

Avishai Zamir

Former Member
0 Kudos

Thanks for your answer, but there is no method "getPN" in "PropertyName".

I have only "create... " methods.

former_member388485
Contributor
0 Kudos

Hi,

Try something like this:


IPropertyName PropNameOld = PropertyName.getPN("http://mydomain1", "Name");
IPropertyName PropNameNew = PropertyName.getPN("http://mydomain2", "Name");
IProperty PropOld = resource.getProperty(PropNameOld);
IProperty PropNew = new Property(PropNameNew, PropOld.getStringValue());
if (resource.isVersioned()) {
	IMutablePropertyMap mutPropMap =
	resource.getProperties().getMutable();
	mutPropMap.put(PropNew);
	IContent res_content = resource.getContent();
	if (!resource.isCheckedOut()) {
		resource.checkOut();
	}
	resource.checkIn(res_content, mutPropMap, true);
} else {
	resource.setProperty(PropNew);				
}

Best Regards,

Avishai Zamir