Ältere Plattform

Benutzerdefinierte Mashup-Zusammenführung verwenden

Sie können eine benutzerdefinierte Mashup-Zusammenführung definieren und registrieren, indem Sie die in diesem Artikel beschriebene Prozedur ausführen.

Vorgehensweise

  1. Erstellen Sie eine benutzerdefinierte Mashup-Zusammenführungsklasse, um eine Zuordnung von sich wiederholenden Elementnamen und eindeutigen Kennungen zu erstellen. Sehen Sie sich den folgenden Beispielcode an:
    
    SCUIXAPICustomMashupMerger.java
    ------------------------------
    package com.ibm.custom.extensions.mashup;
    
    import org.w3c.dom.Element;
    
    import com.sterlingcommerce.framework.utils.SCXmlUtils;
    import com.sterlingcommerce.ui.web.framework.extensions.ISCUIMashupMerger;
    
    public class SCUIXAPICustomMashupMerger implements ISCUIMashupMerger {
    
    	public void mergeMashupElement(Element parentMashupElement, Element extnMashupElement) {
    		// dbMap Contains, Key is the repeating element node name and Value is the unique key attribute name of that node name under to/target Element.
    		HashMap<String, String> dbMap = new HashMap<String, String>();
    		dbMap.put("Exp", "Name");
    		dbMap.put("Modification", "ModificationType");
    		SCXmlUtils.mergeElement(extnMashupElement, parentMashupElement, false, dbMap);
    	}
    }
  2. Erstellen Sie ein Servlet, um es als Standard-Mashup-Zusammenführungsklasse für XAPI zu laden und zu registrieren. Sehen Sie sich den folgenden Beispielcode an:
    
    MashupMergerInitServlet.java
    -----------------------------
    package com.ibm.custom.extensions;
    
    import com.sterlingcommerce.ui.web.framework.helpers.SCUIMashupHelper;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    
    public class MashupMergerInitServlet extends HttpServlet {
    	private static final long serialVersionUID = 2693427927837832487L;
    	
    	public synchronized void init(ServletConfig config) throws ServletException {
    		SCUIMashupHelper.addMashupMerger("XAPI", "com.ibm.custom.extensions.mashup.SCUIXAPICustomMashupMerger",  config.getServletContext());
    	}
    }
  3. Kompilieren Sie die Klassen und packen Sie sie in eine JAR-Datei. Speichern Sie die JAR-Datei im Ordner <INSTALL_DIR>/repository/eardata/<package-name>/extn/WEB-INF/lib . Möglicherweise müssen Sie die Ordner WEB-INF/lib erstellen.
  4. Navigieren Sie zum Ordner <INSTALL_DIR>/repository/eardata/<package-name>/extn .
  5. Benennen Sie die Datei web.xml.sample in web.xml um und fügen Sie nur den folgenden Eintrag hinzu:
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	<servlet>
    		<description>MashupMergerInitServlet</description>
    		<display-name>MashupMergerInitServlet</display-name>
    		<servlet-name>MashupMergerInitServlet</servlet-name>
    		<servlet-class>com.ibm.custom.extensions.MashupMergerInitServlet</servlet-class>
    		<load-on-startup>400</load-on-startup>
    	</servlet>
    </web-app>
  6. Erstellen Sie die EAR-Datei oder die WAR-Datei der Anwendung erneut.