Bug 506527 

This is just to maintain compatibility with RMC.  No effect on EPF
behavior.

Change-Id: I3a6bcb4119f310b5e1dd37da9f0cb7d96d631f4f
diff --git a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/IMetaDef.java b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/IMetaDef.java
index d5cfeaf..596681a 100644
--- a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/IMetaDef.java
+++ b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/IMetaDef.java
@@ -62,8 +62,11 @@
 	
 	public static final String attachment = "attachment"; 						//$NON-NLS-1$
 	
+	//Feature 48405 : Improvements to standards mapping
 	public static final String treeBrowser = "treeBrowser"; 						//$NON-NLS-1$
 	
+	public static final String generateTreebrowserFolder = "generateTreebrowserFolder"; 						//$NON-NLS-1$
+	
 	//APIs
 	public String getName();
 	
diff --git a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/internal/ExtendedReferenceImpl.java b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/internal/ExtendedReferenceImpl.java
index 1bba756..8973f4a 100644
--- a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/internal/ExtendedReferenceImpl.java
+++ b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/meta/internal/ExtendedReferenceImpl.java
@@ -28,6 +28,8 @@
 	
 	private boolean createUDTChild;
 	
+	private boolean generateTreebrowserFolder;
+	
 	private ExtendedOppositeImpl opposite;
 
 	public ExtendedReferenceImpl(MetaElement parent) {
@@ -76,6 +78,8 @@
 
 		createUDTChild = new Boolean(element.getAttribute(IMetaDef.treeBrowser));
 		
+		generateTreebrowserFolder = new Boolean(element.getAttribute(IMetaDef.generateTreebrowserFolder));
+		
 		qualifiedReferences = new ArrayList<QualifiedReference>();
 		List<Element> rqElements = XMLUtil.getChildElementsByTagName(element, IMetaDef.REFERENCE_QUALIFIERS);
 		if (rqElements == null || rqElements.isEmpty()) {
@@ -94,6 +98,10 @@
 	public boolean isCreateUDTChild() {
 		return createUDTChild;
 	}
+	
+	public boolean isGenerateTreebrowserFolder() {
+		return generateTreebrowserFolder;
+	}
 
 	public List<String> getValueTypes() {		
 		return valueTypes;
diff --git a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
index fe38cf6..5275106 100644
--- a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
+++ b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
@@ -258,7 +258,7 @@
 fulfilledSlotsText=Fulfilled Slots
 fulfillingWorkProductsText=Fulfilling Work Products
 deliverableParentsText=Parent Deliverables
-practicesText=Parent Practices
+practicesText=Parent
 
 
 modelInfo_mandatoryInputText=Mandatory Input
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
index 8070a61..6014d75 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
@@ -264,9 +264,9 @@
 		if (profiling) {
 			startTime = System.currentTimeMillis();
 		}
-		if (! ConfigurationHelper.serverMode) {
+//		if (! ConfigurationHelper.serverMode) {
 			publishReferenceElements();
-		}		
+//		}		
 		if (profiling) {
 			DebugTrace.print(this, "publishReferenceElements", //$NON-NLS-1$
 					(System.currentTimeMillis() - startTime) + " ms"); //$NON-NLS-1$
@@ -655,20 +655,28 @@
 	 * @return
 	 */
 	private Collection<?> getUDTReference(Object obj) {
-		Collection<?> result = null;
+		Collection<?> references = null;
 		if(obj instanceof Practice && PracticePropUtil.getPracticePropUtil().isUdtType((Practice)obj)){
-			Practice practice = (Practice)obj;
-			UserDefinedTypeMeta udtMeta = PracticePropUtil.getPracticePropUtil().getUdtMeta(practice);
-			ModifiedTypeMeta modifiedTypeMeta = LibraryEditUtil.getInstance().getModifiedType(udtMeta.getId());
-			if(modifiedTypeMeta != null){
+			//Practice practice = (Practice)obj;
+			//UserDefinedTypeMeta udtMeta = PracticePropUtil.getPracticePropUtil().getUdtMeta(practice);
+			//ModifiedTypeMeta modifiedTypeMeta = LibraryEditUtil.getInstance().getModifiedType(udtMeta.getId());
+			
+			MethodElement element = (MethodElement) LibraryUtil.unwrap(obj);
+			ModifiedTypeMeta meta = TypeDefUtil.getMdtMeta(element);
+			references = meta.getReferences();
+			
+			return references;
+			
+			
+			/*if(modifiedTypeMeta != null){
 				List<ExtendedAttribute> attributes = modifiedTypeMeta.getAttributes();
 				String flag = null;
 				if(flag != null && !new Boolean(flag)){
 					result = practice.getContentReferences();
 				}
-			}
+			}*/
 		}
-		return result;
+		return references;
 	}
 
 	/**
@@ -773,10 +781,13 @@
 		for(ExtendedReference reference:references){
 			ExtendedReferenceImpl referenceimpl = (ExtendedReferenceImpl)reference;
 			boolean createUDTChild = referenceimpl.isCreateUDTChild();
+			boolean generateTreebrowserFolder = referenceimpl.isGenerateTreebrowserFolder();
 			List<MethodElement> items = PropUtil.getPropUtil().getExtendedReferenceList(
 					element, referenceimpl, false);
-			if(createUDTChild){
+			if(createUDTChild && generateTreebrowserFolder){
 				createFolderBookmark(element, bm, referenceimpl.getName(), referenceimpl.getName(), items, true);
+			}else if (createUDTChild && !generateTreebrowserFolder) {
+				buildItems(items, bm);
 			}
 		}
 	}