Projects >> uPortal >>daf76da33200b80fb21413b2c156813761f165e9

Chunk
Conflicting content
import org.jasig.portal.utils.SAX2BufferImpl;
import org.jasig.portal.utils.SetCheckInSemaphore;
import org.jasig.portal.utils.web.PortalWebUtils;
<<<<<<< HEAD
import org.springframework.context.ApplicationContext;
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.jndi.JndiTemplate;
import org.springframework.web.context.request.RequestAttributes;
Solution content
import org.jasig.portal.utils.SAX2BufferImpl;
import org.jasig.portal.utils.SetCheckInSemaphore;
import org.jasig.portal.utils.web.PortalWebUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.jndi.JndiTemplate;
import org.springframework.web.context.request.RequestAttributes;
File
ChannelManager.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import org.jasig.portal.channels.support.IDynamicChannelTitleRenderer;
import org.jasig.portal.portlet.url.RequestType;
import org.jasig.portal.properties.PropertiesManager;
<<<<<<< HEAD
import org.jasig.portal.spring.PortalApplicationContextLocator;
=======
import org.jasig.portal.spring.locator.JpaInterceptorLocator;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.jasig.portal.utils.SAX2BufferImpl;
import org.jasig.portal.utils.SetCheckInSemaphore;
import org.jasig.portal.utils.threading.BaseTask;
Solution content
import org.jasig.portal.channels.support.IDynamicChannelTitleRenderer;
import org.jasig.portal.portlet.url.RequestType;
import org.jasig.portal.properties.PropertiesManager;
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.SAX2BufferImpl;
import org.jasig.portal.utils.SetCheckInSemaphore;
import org.jasig.portal.utils.threading.BaseTask;
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import org.jasig.portal.utils.threading.Task;
import org.jasig.portal.utils.threading.TrackingThreadLocal;
import org.springframework.aop.framework.ProxyFactoryBean;
<<<<<<< HEAD
import org.springframework.context.ApplicationContext;
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.orm.jpa.JpaInterceptor;
import org.springframework.web.context.request.RequestAttributes;
Solution content
import org.jasig.portal.utils.threading.Task;
import org.jasig.portal.utils.threading.TrackingThreadLocal;
import org.springframework.aop.framework.ProxyFactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.orm.jpa.JpaInterceptor;
import org.springframework.web.context.request.RequestAttributes;
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
    final IWorker targetWorker = new Worker(this.channel, this.rd);
    
    // Obtain JcrInterceptor bean
<<<<<<< HEAD
    final ApplicationContext ac = PortalApplicationContextLocator.getApplicationContext();
    final JpaInterceptor jpaInterceptor = (JpaInterceptor)ac.getBean("jpaInterceptor", JpaInterceptor.class);
=======
    final JpaInterceptor jpaInterceptor = JpaInterceptorLocator.getJpaInterceptor();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

    // Proxy worker so that Jpa EntityManager will be properly handled
    final ProxyFactoryBean pfb = new ProxyFactoryBean();
Solution content
    final IWorker targetWorker = new Worker(this.channel, this.rd);
    
    // Obtain JcrInterceptor bean
    final ApplicationContext ac = PortalApplicationContextLocator.getApplicationContext();
    final JpaInterceptor jpaInterceptor = (JpaInterceptor)ac.getBean("jpaInterceptor", JpaInterceptor.class);

    // Proxy worker so that Jpa EntityManager will be properly handled
    final ProxyFactoryBean pfb = new ProxyFactoryBean();
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Method invocation
Variable
Chunk
Conflicting content
                                                log.debug("ChannelRenderer.Worker::run() : retrieved system-wide cached content based on a key \""+key.getKey()+"\"");
                                            }
                                        }
<<<<<<< HEAD

                                        this.channelTitle = entry.title;
=======
                                        this.channelTitle = entry.title;
                                        
                                        this.renderedFromCache = true;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                                    } else {
                                        // remove it
                                        systemCache.remove(key.getKey());
Solution content
                                                log.debug("ChannelRenderer.Worker::run() : retrieved system-wide cached content based on a key \""+key.getKey()+"\"");
                                            }
                                        }

                                        this.channelTitle = entry.title;
                                    } else {
                                        // remove it
                                        systemCache.remove(key.getKey());
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Attribute
Variable
Chunk
Conflicting content
                                                log.debug("ChannelRenderer.Worker::run() : retrieved instance-cached content based on a key \""+key.getKey()+"\"");
                                            }
                                        }
<<<<<<< HEAD

                                        this.channelTitle = entry.title;
=======
                                        this.channelTitle = entry.title;
                                        
                                        this.renderedFromCache = true;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                                    } else {
                                        // remove it
                                        getChannelCache().remove(key.getKey());
Solution content
                                                log.debug("ChannelRenderer.Worker::run() : retrieved instance-cached content based on a key \""+key.getKey()+"\"");
                                            }
                                        }

                                        this.channelTitle = entry.title;
                                    } else {
                                        // remove it
                                        getChannelCache().remove(key.getKey());
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Attribute
Variable
Chunk
Conflicting content
                TrackingThreadLocal.clearCurrentData(this.currentData.keySet());
                RequestContextHolder.resetRequestAttributes();
                LocaleContextHolder.resetLocaleContext();
<<<<<<< HEAD
=======
                
                this.renderTime = System.currentTimeMillis() - startTime;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
            }

            done = true;
Solution content
                TrackingThreadLocal.clearCurrentData(this.currentData.keySet());
                RequestContextHolder.resetRequestAttributes();
                LocaleContextHolder.resetLocaleContext();
            }

            done = true;
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Attribute
Method invocation
Chunk
Conflicting content
            } else {
                return null;
            }
<<<<<<< HEAD
=======
        }

        /**
         * @return the renderTime
         */
        public long getRenderTime() {
            return renderTime;
        }

        /**
         * @return the renderedFromCache
         */
        public boolean isRenderedFromCache() {
            return renderedFromCache;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        }
    }
    
Solution content
            } else {
                return null;
            }
        }
    }
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Attribute
Comment
Method declaration
Method signature
Return statement
Chunk
Conflicting content
        public SAX2BufferImpl getBuffer();

<<<<<<< HEAD
    
    protected interface IWorker extends Task {

        public boolean isSetRuntimeDataComplete();

        //TODO review this for clarity
        public void execute() throws Exception;

        public boolean successful();

        public SAX2BufferImpl getBuffer();

=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        /**
         * Returns a character output of a channel rendering.
         */
Solution content

    
    protected interface IWorker extends Task {

        public boolean isSetRuntimeDataComplete();

        //TODO review this for clarity
        public void execute() throws Exception;

        public boolean successful();

        public SAX2BufferImpl getBuffer();

        /**
         * Returns a character output of a channel rendering.
         */
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Comment
Interface signature
Method interface
Chunk
Conflicting content
        public boolean done();

        /**
<<<<<<< HEAD
=======
         * @return the renderTime
         */
        public long getRenderTime();

        /**
         * @return the renderedFromCache
         */
        public boolean isRenderedFromCache();

        /**
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
         * Get a Sring representing the dynamic channel title reported by the
         * IChannel this ChannelRenderer rendered.  Returns null if the channel
         * reported no such title or the channel isn't done rendering.
Solution content
        public boolean done();

        /**
         * Get a Sring representing the dynamic channel title reported by the
         * IChannel this ChannelRenderer rendered.  Returns null if the channel
         * reported no such title or the channel isn't done rendering.
File
ChannelRenderer.java
Developer's decision
Version 1
Kind of conflict
Comment
Method interface
Chunk
Conflicting content
    final IPersonManager personManager = PersonManagerFactory.getPersonManagerInstance();
    
    // Clear out the existing session for the user if they have one
<<<<<<< HEAD
    if (request.isRequestedSessionIdValid()) {
    	try {
            HttpSession s = request.getSession(false);
=======
    String targetUid = null;
    String originalUid = null;
    boolean swap = false;
    if (request.isRequestedSessionIdValid()) {
    	try {
            HttpSession s = request.getSession(false);
    	    //Check if this is a swapped user hitting the Login servlet
    	    originalUid = (String)s.getAttribute(SWAP_ORIGINAL_UID);

    	    //No original person in session so check for swap request
    	    if (originalUid == null) {
        	    targetUid = (String)s.getAttribute(SWAP_TARGET_UID);
        	    if (targetUid != null) {
        	        final IPerson person = personManager.getPerson(request);
        	        originalUid = person.getName();
        	        swap = true;
        	    }
    	    }
    	    else {
    	        final IPerson person = personManager.getPerson(request);
    	        targetUid = person.getName();
    	    }

>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
            s.invalidate();
    	} catch (IllegalStateException ise) {
    		// ISE indicates session was already invalidated.
Solution content
    // Clear out the existing session for the user if they have one
    if (request.isRequestedSessionIdValid()) {
    	try {
            HttpSession s = request.getSession(false);
            s.invalidate();
    	} catch (IllegalStateException ise) {
    		// ISE indicates session was already invalidated.
File
LoginServlet.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Comment
If statement
Method invocation
Try statement
Variable
Chunk
Conflicting content
  	//  Create the user's session
    HttpSession s = request.getSession(true);
<<<<<<< HEAD
=======
    
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
  	IPerson person = null;
    try {
        final HashMap principals;
Solution content
  	//  Create the user's session
    HttpSession s = request.getSession(true);
  	IPerson person = null;
    try {
File
LoginServlet.java
Developer's decision
Version 1
Kind of conflict
Blank
Chunk
Conflicting content
         */
      person = null;
    }
    
<<<<<<< HEAD
    // create the redirect URL, adding fname and args parameters if necessary
    String redirectTarget = null;
	if (targetFname == null){
		redirectTarget = request.getContextPath() + "/" + redirectString;
	} else {
		StringBuilder sb = new StringBuilder();
		sb.append(request.getContextPath());
		sb.append("/tag.idempotent.");
		sb.append(redirectString);
		sb.append("?uP_fname=");
		sb.append(URLEncoder.encode(targetFname, "UTF-8"));
		Enumeration e = request.getParameterNames();
		while(e.hasMoreElements()){
			String paramName = e.nextElement();
			if(!paramName.equals("uP_fname")){
				sb.append('&');
				sb.append(paramName);
				sb.append('=');
				sb.append(URLEncoder.encode(request.getParameter(paramName),"UTF-8"));
			}
		}		
		redirectTarget = sb.toString();
	}
=======
    
    
    // create the redirect URL, adding fname and args parameters if necessary
    String redirectTarget = null;

    final String refUrl = request.getParameter("refUrl");
    if (refUrl != null) {
        if (refUrl.startsWith("/")) {
            redirectTarget = refUrl;
        }
        else {
            log.warn("Refernce URL passed in does not start with a / and will be ignored: " + refUrl);
        }
    }
    
    if (redirectTarget == null) {
        /* Grab the target functional name, if any, off the login request.
         * Also any arguments for the target
         * We will pass them  along after authentication.
        String targetFname = request.getParameter("uP_fname");
        
    	if (targetFname == null){
    		redirectTarget = request.getContextPath() + "/" + redirectString;
    	} else {
    		StringBuilder sb = new StringBuilder();
    		sb.append(request.getContextPath());
    		sb.append("/tag.idempotent.");
    		sb.append(redirectString);
    		sb.append("?uP_fname=");
    		sb.append(URLEncoder.encode(targetFname, "UTF-8"));
    		Enumeration e = request.getParameterNames();
    		while(e.hasMoreElements()){
    			String paramName = e.nextElement();
    			if(!paramName.equals("uP_fname")){
    				sb.append('&');
    				sb.append(paramName);
    				sb.append('=');
    				sb.append(URLEncoder.encode(request.getParameter(paramName),"UTF-8"));
    			}
    		}		
    		redirectTarget = sb.toString();
    	}
    }
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

	if (person == null || !person.getSecurityContext().isAuthenticated()) {
     if ( request.getMethod().equals("POST") )
Solution content
      person = null;
    }
    
    // create the redirect URL, adding fname and args parameters if necessary
    String redirectTarget = null;
	if (targetFname == null){
		redirectTarget = request.getContextPath() + "/" + redirectString;
	} else {
		StringBuilder sb = new StringBuilder();
		sb.append(request.getContextPath());
		sb.append("/tag.idempotent.");
		sb.append(redirectString);
		sb.append("?uP_fname=");
		sb.append(URLEncoder.encode(targetFname, "UTF-8"));
		Enumeration e = request.getParameterNames();
		while(e.hasMoreElements()){
			String paramName = e.nextElement();
			if(!paramName.equals("uP_fname")){
				sb.append('&');
				sb.append(paramName);
				sb.append('=');
				sb.append(URLEncoder.encode(request.getParameter(paramName),"UTF-8"));
			}
		}		
		redirectTarget = sb.toString();
	}

	if (person == null || !person.getSecurityContext().isAuthenticated()) {
     if ( request.getMethod().equals("POST") )
File
LoginServlet.java
Developer's decision
Version 1
Kind of conflict
Comment
If statement
Method invocation
Variable
Chunk
Conflicting content
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse res) {
<<<<<<< HEAD
        final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
        final IUserInstanceManager userInstanceManager = (IUserInstanceManager) applicationContext.getBean("userInstanceManager", IUserInstanceManager.class);
=======
        final IUserInstanceManager userInstanceManager = UserInstanceManagerLocator.getUserInstanceManager();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        
        final IWritableHttpServletRequest writableRequest = new PortalHttpServletRequest(request, userInstanceManager);
        this.doGetInternal(writableRequest, res);
Solution content
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse res) {
        final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
        final IUserInstanceManager userInstanceManager = (IUserInstanceManager) applicationContext.getBean("userInstanceManager", IUserInstanceManager.class);
        
        final IWritableHttpServletRequest writableRequest = new PortalHttpServletRequest(request, userInstanceManager);
        this.doGetInternal(writableRequest, res);
File
PortalSessionManager.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Method invocation
Variable
Chunk
Conflicting content
        if (session == null) {
            try {
                //Session is null, redirect to Login servlet
<<<<<<< HEAD
                final String encodedRedirectURL = res.encodeRedirectURL(writableRequest.getContextPath() + "/Login");
=======
                final StringBuilder loginRedirect = new StringBuilder();
                
                loginRedirect.append(writableRequest.getContextPath());
                loginRedirect.append("/Login?refUrl=");
                
                final String requestEncoding = writableRequest.getCharacterEncoding();
                loginRedirect.append(URLEncoder.encode(writableRequest.getRequestURI(), requestEncoding));
                
                final String queryString = writableRequest.getQueryString();
                if (queryString != null) {
                    loginRedirect.append(URLEncoder.encode("?", requestEncoding));
                    loginRedirect.append(URLEncoder.encode(queryString, requestEncoding));
                }
                
                final String encodedRedirectURL = res.encodeRedirectURL(loginRedirect.toString());
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                res.sendRedirect(encodedRedirectURL);
            }
            catch (Exception e) {
Solution content
        if (session == null) {
            try {
                //Session is null, redirect to Login servlet
                final String encodedRedirectURL = res.encodeRedirectURL(writableRequest.getContextPath() + "/Login");
                res.sendRedirect(encodedRedirectURL);
            }
            catch (Exception e) {
File
PortalSessionManager.java
Developer's decision
Version 1
Kind of conflict
If statement
Method invocation
Variable
Chunk
Conflicting content
import org.apache.commons.logging.LogFactory;
import org.jasig.portal.PortalException;
import org.jasig.portal.properties.PropertiesManager;
<<<<<<< HEAD
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.SAX2BufferImpl;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
=======
import org.jasig.portal.spring.locator.CarResourcesLocator;
import org.jasig.portal.utils.SAX2BufferImpl;
import org.springframework.beans.factory.InitializingBean;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.springframework.web.context.ServletContextAware;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
Solution content
import org.apache.commons.logging.LogFactory;
import org.jasig.portal.PortalException;
import org.jasig.portal.properties.PropertiesManager;
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.SAX2BufferImpl;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.ServletContextAware;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
        
        try {
            this.loadCars();
<<<<<<< HEAD
=======
        }
        catch (final Exception e) {
            log.error("An Exception occurred while loading channel archives. Any channels "
                    + "deployed via CARs will not be available.", e);
        }
        
        synchronized (CarResources.class) {
            CarResources.class.notifyAll();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        }
        catch (final Exception e) {
            log.error("An Exception occurred while loading channel archives. Any channels "
Solution content
        
        try {
            this.loadCars();
        }
        catch (final Exception e) {
            log.error("An Exception occurred while loading channel archives. Any channels "
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Catch clause
Synchronized statement
Chunk
Conflicting content
                    handler.getServices(this.services);
                }
                catch (final Exception e) {
<<<<<<< HEAD
                    log.error("An Exception occurred while processing deployment " + "descriptor "
=======
                    log.error("An Exception occurred while processing deployment descriptor "
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                            + DEPLOYMENT_DESCRIPTOR + " in " + jarFile.getName() + ". ", e);
                }
            }
Solution content
                    handler.getServices(this.services);
                }
                catch (final Exception e) {
                    log.error("An Exception occurred while processing deployment " + "descriptor "
                            + DEPLOYMENT_DESCRIPTOR + " in " + jarFile.getName() + ". ", e);
                }
            }
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
     */
    @Deprecated
    public static CarResources getInstance() {
<<<<<<< HEAD
        if (instance == null) {
            final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
            instance = (CarResources)applicationContext.getBean("carResources", CarResources.class);
        }
        
        return instance;
=======
        return CarResourcesLocator.getCarResources();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    }

    /**
Solution content
     */
    @Deprecated
    public static CarResources getInstance() {
        if (instance == null) {
            final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
            instance = (CarResources)applicationContext.getBean("carResources", CarResources.class);
        }
        
        return instance;
    }

    /**
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Attribute
If statement
Method invocation
Return statement
Chunk
Conflicting content
        if (!carDir.exists()) {
            log.error("CAR directory '" + carDirPath + "' specified by property '" + CAR_DIR_PROP_NAME
<<<<<<< HEAD
                    + "' does not exist. " + "Channel Archives can not be " + "loaded from this directory.");
=======
                    + "' does not exist. Channel Archives can not be loaded from this directory.");
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
            return null;
        }
        this.carDirPath = carDirPath;
Solution content
        if (!carDir.exists()) {
            log.error("CAR directory '" + carDirPath + "' specified by property '" + CAR_DIR_PROP_NAME
                    + "' does not exist. " + "Channel Archives can not be " + "loaded from this directory.");
            return null;
        }
        this.carDirPath = carDirPath;
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Other
Chunk
Conflicting content
            final StringBuffer sb = new StringBuffer();

            if (log.isDebugEnabled()) {
<<<<<<< HEAD
                log.debug("CarResources resolveRegExpr() - " + " Parsing resource name: " + entry);
=======
                log.debug("CarResources resolveRegExpr() -  Parsing resource name: " + entry);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
            }

            final StringTokenizer st = new StringTokenizer(entry, replacement);
Solution content
            final StringBuffer sb = new StringBuffer();

            if (log.isDebugEnabled()) {
                log.debug("CarResources resolveRegExpr() - " + " Parsing resource name: " + entry);
            }

            final StringTokenizer st = new StringTokenizer(entry, replacement);
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
                final String token = st.nextToken();

                if (log.isDebugEnabled()) {
<<<<<<< HEAD
                    log.debug("CarResources resolveRegExpr() - " + "Token is now: " + token);
=======
                    log.debug("CarResources resolveRegExpr() - Token is now: " + token);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                }

                final StringTokenizer st1 = new StringTokenizer(token, delim);
Solution content
                final String token = st.nextToken();

                if (log.isDebugEnabled()) {
                    log.debug("CarResources resolveRegExpr() - " + "Token is now: " + token);
                }

                final StringTokenizer st1 = new StringTokenizer(token, delim);
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
                    final String childToken = st1.nextToken();

                    if (log.isDebugEnabled()) {
<<<<<<< HEAD
                        log.debug("CarResources resolveRegExpr() - " + "Child token is: " + childToken);
=======
                        log.debug("CarResources resolveRegExpr() - Child token is: " + childToken);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                    }

                    // if there are more child tokens, then add the most
Solution content
                    final String childToken = st1.nextToken();

                    if (log.isDebugEnabled()) {
                        log.debug("CarResources resolveRegExpr() - " + "Child token is: " + childToken);
                    }

                    // if there are more child tokens, then add the most
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
        }

        if (log.isDebugEnabled()) {
<<<<<<< HEAD
            log.debug("CarResources resolveRegExpr() - " + "resolved entry is: " + entry);
=======
            log.debug("CarResources resolveRegExpr() - resolved entry is: " + entry);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        }
        return entry;
    }
Solution content
        }

        if (log.isDebugEnabled()) {
            log.debug("CarResources resolveRegExpr() - " + "resolved entry is: " + entry);
        }
        return entry;
    }
File
CarResources.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
    else
        possibleAttrs = new HashSet();
        
<<<<<<< HEAD
    final String userName = person.getAttribute(IPerson.USERNAME).toString();
    for (Map.Entry> y : pa.getMultivaluedUserAttributes(userName).entrySet()) {
=======
    for (Map.Entry> y : pa.getPerson(person.getUserName()).getAttributes().entrySet()) {
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        
      // Remove this attr from the list of possible attrs
      possibleAttrs.remove(y.getKey());
Solution content
    else
        possibleAttrs = new HashSet();
        
    final String userName = person.getAttribute(IPerson.USERNAME).toString();
    for (Map.Entry> y : pa.getMultivaluedUserAttributes(userName).entrySet()) {
        
      // Remove this attr from the list of possible attrs
      possibleAttrs.remove(y.getKey());
File
CPersonAttributes.java
Developer's decision
Version 1
Kind of conflict
For statement
Method invocation
Variable
Chunk
Conflicting content
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
<<<<<<< HEAD
import org.jasig.portal.ChannelDefinition;
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.jasig.portal.ChannelManager;
import org.jasig.portal.ChannelRegistryManager;
import org.jasig.portal.ChannelRegistryStoreFactory;
Solution content
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jasig.portal.ChannelDefinition;
import org.jasig.portal.ChannelManager;
import org.jasig.portal.ChannelParameter;
import org.jasig.portal.ChannelRegistryManager;
import org.jasig.portal.ChannelRegistryStoreFactory;
File
TabColumnPrefsState.java
Developer's decision
Manual
Kind of conflict
Import
Chunk
Conflicting content
import org.jasig.portal.ThemeStylesheetUserPreferences;
import org.jasig.portal.UserPreferences;
import org.jasig.portal.UserProfile;
<<<<<<< HEAD
=======
import org.jasig.portal.channel.IChannelDefinition;
import org.jasig.portal.channel.IChannelParameter;
import org.jasig.portal.channel.dao.jpa.ChannelParameterImpl;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.jasig.portal.layout.IUserLayoutManager;
import org.jasig.portal.layout.IUserLayoutStore;
import org.jasig.portal.layout.UserLayoutManagerFactory;
Solution content
import org.jasig.portal.ThemeStylesheetUserPreferences;
import org.jasig.portal.UserPreferences;
import org.jasig.portal.UserProfile;
import org.jasig.portal.layout.IUserLayoutManager;
import org.jasig.portal.layout.IUserLayoutStore;
import org.jasig.portal.layout.UserLayoutManagerFactory;
File
TabColumnPrefsState.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
                // that the user isn't authorized to render from folders of type 
                // 'header' and 'footer'.
                IAuthorizationService authServ = AuthorizationImpl.singleton();
<<<<<<< HEAD
                IAuthorizationPrincipal principal = authServ.newPrincipal((String) owner.getAttribute(IPerson.USERNAME), IPerson.class);
=======
                IAuthorizationPrincipal principal = authServ.newPrincipal(owner.getUserName(), IPerson.class);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                NodeList nodes = userLayoutDocument.getElementsByTagName("folder");
                for (int i=0; i < nodes.getLength(); i++) {
              	  Element fd = (Element) nodes.item(i);
Solution content
                // that the user isn't authorized to render from folders of type 
                // 'header' and 'footer'.
                IAuthorizationService authServ = AuthorizationImpl.singleton();
                IAuthorizationPrincipal principal = authServ.newPrincipal((String) owner.getAttribute(IPerson.USERNAME), IPerson.class);
                NodeList nodes = userLayoutDocument.getElementsByTagName("folder");
                for (int i=0; i < nodes.getLength(); i++) {
              	  Element fd = (Element) nodes.item(i);
File
DistributedLayoutManager.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
              			  LOG.debug("RDBMUserLayoutStore examining the '" 
      							  	+ type 
      							  	+ "' folder of user '" 
<<<<<<< HEAD
      							  	+ owner.getAttribute(IPerson.USERNAME) 
=======
      							  	+ owner.getUserName() 
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
      							  	+ "' for non-authorized channels.");
              		  }
              		  NodeList channels = fd.getElementsByTagName("channel");
Solution content
              			  LOG.debug("RDBMUserLayoutStore examining the '" 
      							  	+ type 
      							  	+ "' folder of user '" 
      							  	+ owner.getAttribute(IPerson.USERNAME) 
      							  	+ "' for non-authorized channels.");
              		  }
              		  NodeList channels = fd.getElementsByTagName("channel");
File
DistributedLayoutManager.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
              						  LOG.debug("RDBMUserLayoutStore removing channel '" 
                							  	+ ch.getAttribute("fname") 
                							  	+ "' from the header or footer of user '" 
<<<<<<< HEAD
                							  	+ owner.getAttribute(IPerson.USERNAME) 
=======
                							  	+ owner.getUserName() 
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                							  	+ "' because he/she isn't authorized to render it.");
              					  }
              				  }
Solution content
              						  LOG.debug("RDBMUserLayoutStore removing channel '" 
                							  	+ ch.getAttribute("fname") 
                							  	+ "' from the header or footer of user '" 
                							  	+ owner.getAttribute(IPerson.USERNAME) 
                							  	+ "' because he/she isn't authorized to render it.");
              					  }
              				  }
File
DistributedLayoutManager.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
import java.util.Map;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;
<<<<<<< HEAD
=======
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Solution content
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Properties;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
File
RDBMDistributedLayoutStore.java
Developer's decision
Manual
Kind of conflict
Import
Chunk
Conflicting content
        this.lookupNoderefTask = k;
    }

<<<<<<< HEAD
=======
    public void setLookupPathrefTask(Task k) {
        this.lookupPathrefTask = k;
    }

>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    /**
     * Method for acquiring copies of fragment layouts to assist in debugging.
     * No infrastructure code calls this but channels designed to expose the
Solution content
    /**
     * Method for acquiring copies of fragment layouts to assist in debugging.
     * No infrastructure code calls this but channels designed to expose the
File
RDBMDistributedLayoutStore.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
            type = Constants.NS + type.substring(Constants.LEGACY_NS.length());

  if (ls.isChannel()) {
<<<<<<< HEAD
    ChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(ls.getChanId());
=======
    IChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(ls.getChanId());
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    if (channelDef != null && channelApproved(channelDef.getApprovalDate())) {
        if (localeAware) {
            channelDef.setLocale(ls.getLocale()); // for i18n by Shoji
Solution content
            type = Constants.NS + type.substring(Constants.LEGACY_NS.length());

  if (ls.isChannel()) {
    ChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(ls.getChanId());
    if (channelDef != null && channelApproved(channelDef.getApprovalDate())) {
        if (localeAware) {
            channelDef.setLocale(ls.getLocale()); // for i18n by Shoji
File
RDBMDistributedLayoutStore.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
            NodeList parameters = node.getChildNodes();
            if (parameters != null && isChannel)
            {
<<<<<<< HEAD
                ChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(chanId);
=======
                IChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(chanId);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
                for (int i = 0; i < parameters.getLength(); i++)
                {
                    if (parameters.item(i).getNodeName().equals("parameter"))
Solution content
            NodeList parameters = node.getChildNodes();
            if (parameters != null && isChannel)
            {
                ChannelDefinition channelDef = channelRegistryStore.getChannelDefinition(chanId);
                for (int i = 0; i < parameters.getLength(); i++)
                {
                    if (parameters.item(i).getNodeName().equals("parameter"))
File
RDBMDistributedLayoutStore.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
  protected static int DEBUG = 0;
  protected static final String channelPrefix = "n";
  protected static final String folderPrefix = "s";
<<<<<<< HEAD
  
  private final IPerson systemUser;
  
=======
    
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
  private final DataSource dataSource;
  private final IDatabaseMetadata databaseMetadata;
  protected final IChannelRegistryStore channelRegistryStore;
Solution content
  protected static int DEBUG = 0;
  protected static final String channelPrefix = "n";
  protected static final String folderPrefix = "s";
  
  private final IPerson systemUser;
  
  private final DataSource dataSource;
  private final IDatabaseMetadata databaseMetadata;
  protected final IChannelRegistryStore channelRegistryStore;
File
RDBMUserLayoutStore.java
Developer's decision
Version 1
Kind of conflict
Attribute
Chunk
Conflicting content
            }
        }

<<<<<<< HEAD
        // Load the "system" user id from the database
        final SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(this.dataSource);
        final int systemUserId = jdbcTemplate.queryForInt("SELECT USER_ID FROM UP_USER WHERE USER_NAME = 'system'");
        log.info("Found user id " + systemUserId + " for the 'system' user.");
        this.systemUser = new SystemUser(systemUserId);
    }
  

=======
    }
  
    private final SingletonDoubleCheckedCreator systemPersonCreator = new SingletonDoubleCheckedCreator() {
        protected IPerson createSingleton(Object... args) {
            // be sure we only do this once...
            // Load the "system" user id from the database
            final SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(RDBMUserLayoutStore.this.dataSource);
            final int systemUserId = jdbcTemplate.queryForInt("SELECT USER_ID FROM UP_USER WHERE USER_NAME = 'system'");
            log.info("Found user id " + systemUserId + " for the 'system' user.");
            return new SystemUser(systemUserId);
        }
    };

    private final IPerson getSystemUser() {
        return this.systemPersonCreator.get();
    }
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

  /**
   * Registers a NEW structure stylesheet with the database.
Solution content
            }
        }

        // Load the "system" user id from the database
        final SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(this.dataSource);
        final int systemUserId = jdbcTemplate.queryForInt("SELECT USER_ID FROM UP_USER WHERE USER_NAME = 'system'");
        log.info("Found user id " + systemUserId + " for the 'system' user.");
        this.systemUser = new SystemUser(systemUserId);
    }
  


  /**
   * Registers a NEW structure stylesheet with the database.
File
RDBMUserLayoutStore.java
Developer's decision
Version 1
Kind of conflict
Attribute
Comment
Method declaration
Method invocation
Variable
Chunk
Conflicting content
import org.apache.pluto.PortletContainerException;
import org.apache.pluto.descriptors.portlet.PortletAppDD;
import org.apache.pluto.descriptors.portlet.PortletDD;
<<<<<<< HEAD
import org.jasig.portal.ChannelDefinition;
=======
import org.jasig.portal.channel.IChannelDefinition;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.jasig.portal.portlet.om.IPortletDefinition;
import org.jasig.portal.portlet.om.IPortletDefinitionId;
import org.jasig.portal.utils.Tuple;
Solution content
import org.apache.pluto.PortletContainerException;
import org.apache.pluto.descriptors.portlet.PortletAppDD;
import org.apache.pluto.descriptors.portlet.PortletDD;
import org.jasig.portal.ChannelDefinition;
import org.jasig.portal.portlet.om.IPortletDefinition;
import org.jasig.portal.portlet.om.IPortletDefinitionId;
import org.jasig.portal.utils.Tuple;
File
IPortletDefinitionRegistry.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
     * @return The channel definition the specified portlet represents
     * @throws IllegalArgumentException if portletDefinitionId is null
     */
<<<<<<< HEAD
    public ChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId);
=======
    public IChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
}
Solution content
     * @return The channel definition the specified portlet represents
     * @throws IllegalArgumentException if portletDefinitionId is null
     */
    public ChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId);
}
File
IPortletDefinitionRegistry.java
Developer's decision
Version 1
Kind of conflict
Method interface
Chunk
Conflicting content
    /* (non-Javadoc)
     * @see org.jasig.portal.portlet.registry.IPortletDefinitionRegistry#getChannelDefinition(org.jasig.portal.portlet.om.IPortletDefinitionId)
     */
<<<<<<< HEAD
    public ChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId) {
=======
    public IChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId) {
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        final IPortletDefinition portletDefinition = this.getPortletDefinition(portletDefinitionId);
        final int channelDefinitionId = portletDefinition.getChannelDefinitionId();
        return this.getChannelDefinition(channelDefinitionId);
Solution content
    /* (non-Javadoc)
     * @see org.jasig.portal.portlet.registry.IPortletDefinitionRegistry#getChannelDefinition(org.jasig.portal.portlet.om.IPortletDefinitionId)
     */
    public ChannelDefinition getChannelDefinition(IPortletDefinitionId portletDefinitionId) {
        final IPortletDefinition portletDefinition = this.getPortletDefinition(portletDefinitionId);
        final int channelDefinitionId = portletDefinition.getChannelDefinitionId();
        return this.getChannelDefinition(channelDefinitionId);
File
PortletDefinitionRegistryImpl.java
Developer's decision
Version 1
Kind of conflict
Method signature
Chunk
Conflicting content
    private int bufferLength = 512;
    private ITransientPortletWindowRegistry portletWindowRegistry;
    private IPortalRequestUtils portalRequestUtils;
<<<<<<< HEAD
    private boolean useAnchors = true;
    private Set transientWindowStates = new HashSet(Arrays.asList(IPortletAdaptor.EXCLUSIVE));
=======
    private IPortletDefinitionRegistry portletDefinitionRegistry;
    private IPortletEntityRegistry portletEntityRegistry;
    private IUserInstanceManager userInstanceManager;
    private boolean useAnchors = true;
    private Set transientWindowStates = new HashSet(Arrays.asList(IPortletAdaptor.EXCLUSIVE, IPortletAdaptor.DETACHED));
    private Set anchoringWindowStates = new HashSet(Arrays.asList(WindowState.MINIMIZED, WindowState.NORMAL));
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    
    
    /**
Solution content
    private int bufferLength = 512;
    private ITransientPortletWindowRegistry portletWindowRegistry;
    private IPortalRequestUtils portalRequestUtils;
    private boolean useAnchors = true;
    private Set transientWindowStates = new HashSet(Arrays.asList(IPortletAdaptor.EXCLUSIVE));
    
    
    /**
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Version 1
Kind of conflict
Attribute
Method invocation
Chunk
Conflicting content
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Arrays;
<<<<<<< HEAD
=======
import java.util.Collections;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
Solution content
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import org.jasig.portal.portlet.om.IPortletEntityId;
import org.jasig.portal.portlet.om.IPortletWindow;
import org.jasig.portal.portlet.om.IPortletWindowId;
<<<<<<< HEAD
import org.jasig.portal.portlet.registry.ITransientPortletWindowRegistry;
=======
import org.jasig.portal.portlet.registry.IPortletDefinitionRegistry;
import org.jasig.portal.portlet.registry.IPortletEntityRegistry;
import org.jasig.portal.portlet.registry.ITransientPortletWindowRegistry;
import org.jasig.portal.security.IPerson;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.jasig.portal.url.IPortalRequestUtils;
import org.jasig.portal.user.IUserInstance;
import org.jasig.portal.user.IUserInstanceManager;
Solution content
import org.jasig.portal.portlet.om.IPortletEntityId;
import org.jasig.portal.portlet.om.IPortletWindow;
import org.jasig.portal.portlet.om.IPortletWindowId;
import org.jasig.portal.portlet.registry.ITransientPortletWindowRegistry;
import org.jasig.portal.url.IPortalRequestUtils;
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
        if (IPortletAdaptor.EXCLUSIVE.equals(windowState) || (windowState == null && IPortletAdaptor.EXCLUSIVE.equals(previousWindowState))) {
            final String urlBase = channelRuntimeData.getBaseWorkerURL(UPFileSpec.FILE_DOWNLOAD_WORKER);
            url.append(urlBase);
<<<<<<< HEAD

            if (this.logger.isTraceEnabled()) {
                this.logger.trace("Using worker url base '" + urlBase + "'");
            }
=======
        }
        //In detached, need to make sure the URL is right
        else if (IPortletAdaptor.DETACHED.equals(windowState) || (windowState == null && IPortletAdaptor.DETACHED.equals(previousWindowState))) {
            final UPFileSpec upFileSpec = new UPFileSpec(channelRuntimeData.getUPFile());
            upFileSpec.setMethodNodeId(channelSubscribeId);
            final String urlBase = upFileSpec.getUPFile();
            url.append(urlBase);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        }
        //Switching back from detached to a normal state
        else if (IPortletAdaptor.DETACHED.equals(previousWindowState) && windowState != null && !previousWindowState.equals(windowState)) {
Solution content
        if (IPortletAdaptor.EXCLUSIVE.equals(windowState) || (windowState == null && IPortletAdaptor.EXCLUSIVE.equals(previousWindowState))) {
            final String urlBase = channelRuntimeData.getBaseWorkerURL(UPFileSpec.FILE_DOWNLOAD_WORKER);
            url.append(urlBase);

            if (this.logger.isTraceEnabled()) {
                this.logger.trace("Using worker url base '" + urlBase + "'");
            }
        }
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Combination
Kind of conflict
Comment
If statement
Method invocation
Variable
Chunk
Conflicting content
        else {
            final String urlBase = channelRuntimeData.getBaseActionURL();
            url.append(urlBase);
<<<<<<< HEAD
            
            if (this.logger.isTraceEnabled()) {
                this.logger.trace("Using default url base '" + urlBase + "'");
            }
        }
=======
        }
        
        if (this.logger.isTraceEnabled()) {
            this.logger.trace("Using root url base '" + url + "'");
        }
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

        //Set the request target, creating a transient window ID if needed
        final String portletWindowIdString;
Solution content
        else {
            final String urlBase = channelRuntimeData.getBaseActionURL();
            url.append(urlBase);
            
            if (this.logger.isTraceEnabled()) {
                this.logger.trace("Using default url base '" + urlBase + "'");
            }
        }

        //Set the request target, creating a transient window ID if needed
        final String portletWindowIdString;
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Version 1
Kind of conflict
If statement
Chunk
Conflicting content
        }
       
        //Add the anchor if anchoring is enabled
<<<<<<< HEAD
        //TODO disable for detached window states (maximized too?)
        if (this.useAnchors && !RequestType.ACTION.equals(requestType)) {
        	url.append("#").append(channelSubscribeId);
=======
        if (this.useAnchors && !RequestType.ACTION.equals(requestType) && ((windowState != null && this.anchoringWindowStates.contains(windowState)) || (windowState == null && this.anchoringWindowStates.contains(previousWindowState)))) {
            url.append("#").append(channelSubscribeId);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        }
 
        if (this.logger.isDebugEnabled()) {
Solution content
        }
       
        //Add the anchor if anchoring is enabled
        //TODO disable for detached window states (maximized too?)
        if (this.useAnchors && !RequestType.ACTION.equals(requestType)) {
        	url.append("#").append(channelSubscribeId);
        }
 
        if (this.logger.isDebugEnabled()) {
File
PortletUrlSyntaxProviderImpl.java
Developer's decision
Version 1
Kind of conflict
Comment
If statement
Method invocation
Chunk
Conflicting content
                try {
                	transactionTemplate
							.execute(new TransactionCallbackWithoutResult() {
<<<<<<< HEAD
								public void doInTransactionWithoutResult(
=======
								@Override
                                public void doInTransactionWithoutResult(
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
										TransactionStatus status) {
									jdbcTemplate.getJdbcOperations().execute(
											joinTestQuery);
Solution content
                try {
                	transactionTemplate
							.execute(new TransactionCallbackWithoutResult() {
								public void doInTransactionWithoutResult(
										TransactionStatus status) {
									jdbcTemplate.getJdbcOperations().execute(
											joinTestQuery);
File
DatabaseMetaDataImpl.java
Developer's decision
Version 1
Kind of conflict
Annotation
Method signature
Chunk
Conflicting content
 * @author Eric Dalquist
 * @version $Revision$
 */
<<<<<<< HEAD
public class StaticRenderingPipeline implements IPortalRenderingPipeline, InitializingBean {
=======
public class StaticRenderingPipeline implements IPortalRenderingPipeline, ApplicationEventPublisherAware, InitializingBean {
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    // Metric counters
    private static final MovingAverage renderTimes = new MovingAverage();
    private static volatile MovingAverageSample lastRender = new MovingAverageSample();
Solution content
 * @author Eric Dalquist
 * @version $Revision$
 */
public class StaticRenderingPipeline implements IPortalRenderingPipeline, InitializingBean {
    // Metric counters
    private static final MovingAverage renderTimes = new MovingAverage();
    private static volatile MovingAverageSample lastRender = new MovingAverageSample();
File
StaticRenderingPipeline.java
Developer's decision
Version 1
Kind of conflict
Class signature
Chunk
Conflicting content
    
    private IPortletRequestParameterManager portletRequestParameterManager;
    private IPortletWindowRegistry portletWindowRegistry;
<<<<<<< HEAD
=======
    private ApplicationEventPublisher applicationEventPublisher;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    private CarResources carResources;
    
    /**
Solution content
    
    private IPortletRequestParameterManager portletRequestParameterManager;
    private IPortletWindowRegistry portletWindowRegistry;
    private CarResources carResources;
    
    /**
File
StaticRenderingPipeline.java
Developer's decision
Version 1
Kind of conflict
Attribute
Chunk
Conflicting content
        this.carResources.getWorkers(workerProperties);        
    }
    
<<<<<<< HEAD
=======
    /* (non-Javadoc)
     * @see org.springframework.context.ApplicationEventPublisherAware#setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
     */
    public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
        this.applicationEventPublisher = applicationEventPublisher;
    }
    
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    /* (non-Javadoc)
     * @see org.jasig.portal.rendering.IPortalRenderingPipeline#renderState(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.jasig.portal.IUserInstance)
     */
Solution content
        this.carResources.getWorkers(workerProperties);        
    }
    
    /* (non-Javadoc)
     * @see org.jasig.portal.rendering.IPortalRenderingPipeline#renderState(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.jasig.portal.IUserInstance)
     */
File
StaticRenderingPipeline.java
Developer's decision
Version 1
Kind of conflict
Comment
Method declaration
Chunk
Conflicting content
<<<<<<< HEAD
/* Copyright 2001 The JA-SIG Collaborative.  All rights reserved.
*  See license distributed with this file and
*  available online at http://www.uportal.org/license.html
*/

=======
/**
 * Copyright (c) 2000-2009, Jasig, Inc.
 * See license distributed with this file and available online at
 * https://www.ja-sig.org/svn/jasig-parent/tags/rel-10/license-header.txt
 */
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
package org.jasig.portal.services;

import java.lang.reflect.Array;
Solution content
/* Copyright 2001 The JA-SIG Collaborative.  All rights reserved.
*  See license distributed with this file and
*  available online at http://www.uportal.org/license.html
*/

package org.jasig.portal.services;

import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Array;
File
ExternalServices.java
Developer's decision
Manual
Kind of conflict
Comment
Chunk
Conflicting content
import org.jasig.portal.PortalException;
import org.jasig.portal.car.CarResources;
import org.jasig.portal.jndi.IJndiManager;
<<<<<<< HEAD
import org.jasig.portal.utils.DTDResolver;
import org.jasig.portal.utils.ResourceLoader;
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.jndi.JndiTemplate;
Solution content
import org.jasig.portal.PortalException;
import org.jasig.portal.car.CarResources;
import org.jasig.portal.jndi.IJndiManager;
import org.jasig.portal.utils.DTDResolver;
import org.jasig.portal.utils.ResourceLoader;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.jndi.JndiTemplate;
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import org.springframework.beans.factory.annotation.Required;
import org.springframework.jndi.JndiTemplate;
import org.xml.sax.Attributes;
<<<<<<< HEAD
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

/**
 * ExternalServices starts up all the runtime services for the uPortal.
Solution content
import org.springframework.beans.factory.annotation.Required;
import org.springframework.jndi.JndiTemplate;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

/**
 * ExternalServices starts up all the runtime services for the uPortal.
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
 *
 * @author Sridhar Venkatesh 
 * @version $Revision$
<<<<<<< HEAD
 * @deprecated Configure services in the Spring application context.
=======
 * @deprecated Configure services as Spring beans, this class only remains to support CARs 
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
 */
@Deprecated
public class ExternalServices implements InitializingBean {
Solution content
 *
 * @author Sridhar Venkatesh 
 * @version $Revision$
 * @deprecated Configure services in the Spring application context.
 */
@Deprecated
public class ExternalServices implements InitializingBean {
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
Comment
Chunk
Conflicting content
                throw new PortalException("Failed to start external portal " + "services in CAR descriptors.", ex);
            }
        }
<<<<<<< HEAD
        
        
        InputStream svcDescriptor = null;
        try {
            svcDescriptor = ResourceLoader.getResourceAsStream(ExternalServices.class, "/properties/services.xml");
        }
        catch (Exception ex) {
            log.error("Failed to load services.xml. External portal services will not be started", ex);
        }
        if (svcDescriptor != null) {
            try {
                XMLReader parser = XMLReaderFactory.createXMLReader();
                parser.setEntityResolver(new DTDResolver());
                parser.setContentHandler(this.svcHandler);
                parser.parse(new InputSource(svcDescriptor));
            }
            catch (Exception ex) {
                throw new PortalException("Failed to start external portal " + "services defined in services.xml.", ex);
            }
            finally {
                try {
                    svcDescriptor.close(); //do not need to check for null.
                }
                catch (IOException exception) {
                    log.error("ExternalServices:startServices()::could not close InputStream " + exception);
                }
            }
        }
=======
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    }

    protected SAXParser createParser() throws Exception {
Solution content
                throw new PortalException("Failed to start external portal " + "services in CAR descriptors.", ex);
            }
        }
        
        
        InputStream svcDescriptor = null;
        try {
            svcDescriptor = ResourceLoader.getResourceAsStream(ExternalServices.class, "/properties/services.xml");
        }
        catch (Exception ex) {
            log.error("Failed to load services.xml. External portal services will not be started", ex);
        }
        if (svcDescriptor != null) {
            try {
                XMLReader parser = XMLReaderFactory.createXMLReader();
                parser.setEntityResolver(new DTDResolver());
                parser.setContentHandler(this.svcHandler);
                parser.parse(new InputSource(svcDescriptor));
            }
            catch (Exception ex) {
                throw new PortalException("Failed to start external portal " + "services defined in services.xml.", ex);
            }
            finally {
                try {
                    svcDescriptor.close(); //do not need to check for null.
                }
                catch (IOException exception) {
                    log.error("ExternalServices:startServices()::could not close InputStream " + exception);
                }
            }
        }
    }

    protected SAXParser createParser() throws Exception {
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
If statement
Try statement
Variable
Chunk
Conflicting content
        }

=======
        }


        public void addValue(String argValue) {
            this.values.add(argValue);
<<<<<<< HEAD
        }

        public String getDataType() {
            return this.datatype;
        }

        public void setDataType(String argDataType) {
            this.datatype = argDataType;
        }

        public boolean getArray() {
            return this.array;
        }

        public void setArray(boolean b) {
            this.array = b;
        }

        public Object getValue() throws Exception {
            Object value = null;
            if (this.array) {
                value = Array.newInstance(getClassObject(this.datatype), this.values.size());
                for (int i = 0; i < this.values.size(); i++) {
                    Array.set(value, i, this.values.get(i));
                }
            }
            else {
                value = this.getValue(this.datatype, this.values.get(0));
            }
            return value;
        public String getDataType() {
            return this.datatype;
        }

        public void setDataType(String argDataType) {
            this.datatype = argDataType;
        }

        public boolean getArray() {
            return this.array;
        }

        public void setArray(boolean b) {
            this.array = b;
        }

        public Object getValue() throws Exception {
            Object value = null;
            if (this.array) {
                value = Array.newInstance(getClassObject(this.datatype), this.values.size());
                for (int i = 0; i < this.values.size(); i++) {
                    Array.set(value, i, this.values.get(i));
                }
            }
            else {
                value = this.getValue(this.datatype, this.values.get(0));
            }
            return value;
        }

>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        private Object getValue(String className, String value) throws Exception {
            if (className.indexOf("TYPE") != -1 || className.indexOf("class") != -1) {
                try {
Solution content
        public void addValue(String argValue) {
            this.values.add(argValue);
        }

        public String getDataType() {
            return this.datatype;
        }

        public void setDataType(String argDataType) {
            this.datatype = argDataType;
        }

                try {
        public boolean getArray() {
            return this.array;
        }

        public void setArray(boolean b) {
            this.array = b;
        }

        public Object getValue() throws Exception {
            Object value = null;
            if (this.array) {
                value = Array.newInstance(getClassObject(this.datatype), this.values.size());
                for (int i = 0; i < this.values.size(); i++) {
                    Array.set(value, i, this.values.get(i));
                }
            }
            else {
                value = this.getValue(this.datatype, this.values.get(0));
            }
            return value;
        }

        private Object getValue(String className, String value) throws Exception {
            if (className.indexOf("TYPE") != -1 || className.indexOf("class") != -1) {
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
                    ex.printStackTrace();
                }
                ExternalServices.this.outputMessage("The service \"" + this.svcItem.getName() + "\" FAILED TO START.");
<<<<<<< HEAD

            }
            else if (qName.equals("arguments")) {
                this.argProcessing = false;
            }
            else if (qName.equals("argitem")) {
                this.svcItem.addArgument(this.argItem);
                this.argItem = null;
            }
        }

        @Override
        public void characters(char ch[], int start, int length) {
            if (this.elementName == null) {
                return;
            }

            final String chValue = new String(ch, start, length);

=======

            }
            else if (qName.equals("arguments")) {
                this.argProcessing = false;
            }
            else if (qName.equals("argitem")) {
                this.svcItem.addArgument(this.argItem);
                this.argItem = null;
            }
        }

        @Override
        public void characters(char ch[], int start, int length) {
            if (this.elementName == null) {
                return;
            }

            final String chValue = new String(ch, start, length);

>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
            if (this.elementName.equals("name")) {
                this.svcItem.setName(chValue);
            }
Solution content
                    ex.printStackTrace();
                }
                ExternalServices.this.outputMessage("The service \"" + this.svcItem.getName() + "\" FAILED TO START.");

            }
            else if (qName.equals("arguments")) {
                this.argProcessing = false;
            }
            else if (qName.equals("argitem")) {
                this.svcItem.addArgument(this.argItem);
                this.argItem = null;
            }
        }

        @Override
        public void characters(char ch[], int start, int length) {
            if (this.elementName == null) {
                return;
            }

            final String chValue = new String(ch, start, length);

            if (this.elementName.equals("name")) {
                this.svcItem.setName(chValue);
            }
File
ExternalServices.java
Developer's decision
Version 1
Kind of conflict
Annotation
If statement
Method invocation
Method signature
Variable
Chunk
Conflicting content
 */
package org.jasig.portal.services;

<<<<<<< HEAD
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.ICounterStore;
import org.jasig.portal.utils.threading.SingletonDoubleCheckedCreator;
import org.springframework.context.ApplicationContext;
=======
import org.jasig.portal.spring.locator.CounterStoreLocator;
import org.jasig.portal.utils.ICounterStore;
import org.jasig.portal.utils.threading.SingletonDoubleCheckedCreator;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

/**
 * @author Dan Ellentuck 
Solution content
package org.jasig.portal.services;

import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.ICounterStore;
import org.jasig.portal.utils.threading.SingletonDoubleCheckedCreator;
import org.springframework.context.ApplicationContext;

/**
 * @author Dan Ellentuck 
File
SequenceGenerator.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
    }
    
    private ICounterStore getCounterStore() {
<<<<<<< HEAD
        final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
        final ICounterStore counterStore = (ICounterStore)applicationContext.getBean("counterStore", ICounterStore.class);
        return counterStore;
=======
        return CounterStoreLocator.getCounterStore();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    }

    /**
Solution content
    }
    
    private ICounterStore getCounterStore() {
        final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
        final ICounterStore counterStore = (ICounterStore)applicationContext.getBean("counterStore", ICounterStore.class);
        return counterStore;
    }

    /**
File
SequenceGenerator.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Method invocation
Return statement
Variable
Chunk
Conflicting content
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
<<<<<<< HEAD
=======
import java.util.HashSet;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
Solution content
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
File
ChannelPublisher.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
import org.jasig.portal.utils.XML;
import org.jasig.portal.security.IPerson;
import org.jasig.portal.security.PersonFactory;
import org.jasig.portal.services.GroupService;
<<<<<<< HEAD
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.XML;
import org.springframework.aop.framework.ProxyFactoryBean;
import org.springframework.context.ApplicationContext;
=======
import org.jasig.portal.spring.locator.ChannelPublishingServiceLocator;
import org.jasig.portal.spring.locator.JpaInterceptorLocator;
import org.springframework.aop.framework.ProxyFactoryBean;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
import org.springframework.orm.jpa.JpaInterceptor;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
Solution content
import org.jasig.portal.security.IPerson;
import org.jasig.portal.security.IUpdatingPermissionManager;
import org.jasig.portal.security.PersonFactory;
import org.jasig.portal.services.AuthorizationService;
import org.jasig.portal.services.GroupService;
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.jasig.portal.utils.XML;
import org.springframework.aop.framework.ProxyFactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.jpa.JpaInterceptor;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
File
ChannelPublisher.java
Developer's decision
Manual
Kind of conflict
Import
Chunk
Conflicting content
        mOverrideExisting = b;
    }

<<<<<<< HEAD
=======


>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    public static IChannelPublisher getCommandLineInstance() throws Exception
    {
        final ChannelPublisher publisher = new ChannelPublisher(true);
Solution content
        mOverrideExisting = b;
    }

    public static IChannelPublisher getCommandLineInstance() throws Exception
    {
        final ChannelPublisher publisher = new ChannelPublisher(true);
File
ChannelPublisher.java
Developer's decision
Version 1
Kind of conflict
Blank
Chunk
Conflicting content
    }
    
    private static IChannelPublisher wrapChannelPublisher(IChannelPublisher channelPublisher) {
<<<<<<< HEAD
        final ApplicationContext ac = PortalApplicationContextLocator.getApplicationContext();
        final JpaInterceptor jpaInterceptor = (JpaInterceptor)ac.getBean("jpaInterceptor", JpaInterceptor.class);

        // Proxy worker so that Jpa EntityManager will be properly handled
=======
        final JpaInterceptor jpaInterceptor = JpaInterceptorLocator.getJpaInterceptor();

        // Proxy IChannelPublisher so that Jpa EntityManager will be properly handled
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        final ProxyFactoryBean pfb = new ProxyFactoryBean();
        pfb.setTarget(channelPublisher);
        pfb.setInterfaces(channelPublisher.getClass().getInterfaces());
Solution content
    }
    
    private static IChannelPublisher wrapChannelPublisher(IChannelPublisher channelPublisher) {
        final ApplicationContext ac = PortalApplicationContextLocator.getApplicationContext();
        final JpaInterceptor jpaInterceptor = (JpaInterceptor)ac.getBean("jpaInterceptor", JpaInterceptor.class);

        // Proxy worker so that Jpa EntityManager will be properly handled
        final ProxyFactoryBean pfb = new ProxyFactoryBean();
        pfb.setTarget(channelPublisher);
        pfb.setInterfaces(channelPublisher.getClass().getInterfaces());
File
ChannelPublisher.java
Developer's decision
Version 1
Kind of conflict
Cast expression
Comment
Method invocation
Variable
Chunk
Conflicting content
        }

    }

<<<<<<< HEAD
/* Copyright 2007 The JA-SIG Collaborative.  All rights reserved.
*  See license distributed with this file and
*  available online at http://www.uportal.org/license.html
*/

package org.jasig.portal.tools.chanpub;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.dom4j.Document;
import org.dom4j.Element;

/**
 * Used by the import-channel Cernunnos script
 */
public final class UrlChannelPublisher {

    public static void publishChannel(Element m) {

        try {

            m.remove(m.attribute("script"));
            Document d = m.getDocument();
            d.addDocType("channel-definition", null, "channelDefinition.dtd");

            String xml = d.asXML();
            InputStream inpt = new ByteArrayInputStream(xml.getBytes());
            IChannelPublisher pub = ChannelPublisher.getCommandLineInstance();
            pub.publishChannel(inpt);

        } catch (Throwable t) {
            String msg = "Error publishing the channel definition.";
            throw new RuntimeException(msg, t);
=======
/**
 * Copyright (c) 2000-2009, Jasig, Inc.
 * See license distributed with this file and available online at
 * https://www.ja-sig.org/svn/jasig-parent/tags/rel-10/license-header.txt
 */
package org.jasig.portal.tools.chanpub;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.dom4j.Document;
import org.dom4j.Element;

/**
 * Used by the import-channel Cernunnos script
 */
public final class UrlChannelPublisher {

    public static void publishChannel(Element m) {

        try {

            m.remove(m.attribute("script"));
            Document d = m.getDocument();
            d.addDocType("channel-definition", null, "channelDefinition.dtd");

            String xml = d.asXML();
            InputStream inpt = new ByteArrayInputStream(xml.getBytes());
            IChannelPublisher pub = ChannelPublisher.getCommandLineInstance();
            pub.publishChannel(inpt);

        } catch (Throwable t) {
            String msg = "Error publishing the channel definition.";
            throw new RuntimeException(msg, t);
        }

    }

>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
}
Solution content
/* Copyright 2007 The JA-SIG Collaborative.  All rights reserved.
*  See license distributed with this file and
*  available online at http://www.uportal.org/license.html
*/

package org.jasig.portal.tools.chanpub;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.dom4j.Document;
import org.dom4j.Element;

/**
 * Used by the import-channel Cernunnos script
 */
public final class UrlChannelPublisher {

    public static void publishChannel(Element m) {

        try {

            m.remove(m.attribute("script"));
            Document d = m.getDocument();
            d.addDocType("channel-definition", null, "channelDefinition.dtd");

            String xml = d.asXML();
            InputStream inpt = new ByteArrayInputStream(xml.getBytes());
            IChannelPublisher pub = ChannelPublisher.getCommandLineInstance();
            pub.publishChannel(inpt);

        } catch (Throwable t) {
            String msg = "Error publishing the channel definition.";
            throw new RuntimeException(msg, t);
        }

    }

}
File
UrlChannelPublisher.java
Developer's decision
Version 1
Kind of conflict
Comment
Import
Method declaration
Package declaration
Chunk
Conflicting content
package org.jasig.portal.utils;

import org.jasig.portal.PortalException;
<<<<<<< HEAD
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.ApplicationContext;
=======
import org.jasig.portal.spring.locator.CounterStoreLocator;
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d

/**
 * Produces an implementation of ICounterStore
Solution content
package org.jasig.portal.utils;

import org.jasig.portal.PortalException;
import org.jasig.portal.spring.PortalApplicationContextLocator;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.ApplicationContext;

/**
 * Produces an implementation of ICounterStore
File
CounterStoreFactory.java
Developer's decision
Version 1
Kind of conflict
Import
Chunk
Conflicting content
 * @deprecated Use the Spring managed 'counterStore' bean via injection instead
 */
@Deprecated
<<<<<<< HEAD
public class CounterStoreFactory implements DisposableBean {
    private static ICounterStore counterStore;
    
    public static ICounterStore getCounterStoreImpl() throws PortalException {
        if (counterStore == null) {
            final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
            counterStore = (ICounterStore)applicationContext.getBean("counterStore", ICounterStore.class);
        }

        return counterStore;
    }
    

    public void setCounterStore(ICounterStore counterStore) {
        CounterStoreFactory.counterStore = counterStore;
    }

    public void destroy() throws Exception {
        counterStore = null;
=======
public class CounterStoreFactory {
    private static ICounterStore counterStore;
    
    public static ICounterStore getCounterStoreImpl() throws PortalException {
        return CounterStoreLocator.getCounterStore();
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
    }
}
Solution content
 * @deprecated Use the Spring managed 'counterStore' bean via injection instead
 */
@Deprecated
public class CounterStoreFactory implements DisposableBean {
    private static ICounterStore counterStore;
    
    public static ICounterStore getCounterStoreImpl() throws PortalException {
        if (counterStore == null) {
            final ApplicationContext applicationContext = PortalApplicationContextLocator.getApplicationContext();
            counterStore = (ICounterStore)applicationContext.getBean("counterStore", ICounterStore.class);
        }

        return counterStore;
    }
    

    public void setCounterStore(ICounterStore counterStore) {
        CounterStoreFactory.counterStore = counterStore;
    }

    public void destroy() throws Exception {
        counterStore = null;
    }
}
File
CounterStoreFactory.java
Developer's decision
Version 1
Kind of conflict
Attribute
Class signature
Method declaration
Method invocation
Method signature
Return statement
Chunk
Conflicting content
        portletUrl.setRequestType(RequestType.RENDER);
        
        urlString = portletUrlSyntaxProvider.generatePortletUrl(request, portletWindow, portletUrl);
<<<<<<< HEAD
        if(useAnchors) {
       		assertEquals("/uPortal/worker/download/worker.download.uP?pltc_target=tp.windowId1&pltc_type=RENDER&pltc_state=exclusive&pltc_mode=edit&pltp_key1=value1.1&pltp_key1=value1.2&pltp_key2=value2.1&pltp_key3=#entityId1", urlString);
        }
        else {
        	assertEquals("/uPortal/worker/download/worker.download.uP?pltc_target=tp.windowId1&pltc_type=RENDER&pltc_state=exclusive&pltc_mode=edit&pltp_key1=value1.1&pltp_key1=value1.2&pltp_key2=value2.1&pltp_key3=", urlString);
        }
=======
    	assertEquals("/uPortal/worker/download/worker.download.uP?pltc_target=tp.windowId1&pltc_type=RENDER&pltc_state=exclusive&pltc_mode=edit&pltp_key1=value1.1&pltp_key1=value1.2&pltp_key2=value2.1&pltp_key3=", urlString);
>>>>>>> c00c09c035552a0eaf1daa024eb96e1ba384b66d
        EasyMock.verify(portalRequestUtils);
    }
    
Solution content
        portletUrl.setRequestType(RequestType.RENDER);
        
        urlString = portletUrlSyntaxProvider.generatePortletUrl(request, portletWindow, portletUrl);
        if(useAnchors) {
       		assertEquals("/uPortal/worker/download/worker.download.uP?pltc_target=tp.windowId1&pltc_type=RENDER&pltc_state=exclusive&pltc_mode=edit&pltp_key1=value1.1&pltp_key1=value1.2&pltp_key2=value2.1&pltp_key3=#entityId1", urlString);
        }
        else {
        	assertEquals("/uPortal/worker/download/worker.download.uP?pltc_target=tp.windowId1&pltc_type=RENDER&pltc_state=exclusive&pltc_mode=edit&pltp_key1=value1.1&pltp_key1=value1.2&pltp_key2=value2.1&pltp_key3=", urlString);
        }
        EasyMock.verify(portalRequestUtils);
    }
    
File
PortletUrlSyntaxProviderImplTest.java
Developer's decision
Version 1
Kind of conflict
If statement
Method invocation