nl.gx.webmanager.services.seo.dao.impl
Class MediaItemFriendlyURLEntityDAOImpl

java.lang.Object
  extended by nl.gx.webmanager.services.seo.dao.impl.FriendlyURLEntityDAOImpl
      extended by nl.gx.webmanager.services.seo.dao.impl.MediaItemFriendlyURLEntityDAOImpl
All Implemented Interfaces:
FriendlyURLEntityDAO, MediaItemFriendlyURLEntityDAO

public final class MediaItemFriendlyURLEntityDAOImpl
extends FriendlyURLEntityDAOImpl
implements MediaItemFriendlyURLEntityDAO

Data access methods specific for friendly URLs of media items.

Author:
Sander Dahlberg

Constructor Summary
MediaItemFriendlyURLEntityDAOImpl(SEODatabaseUtil seoDatabaseUtil)
          Constructor.
 
Method Summary
protected  java.util.List<java.lang.Object> getAvailabilityArguments(FriendlyURLEntity entity)
          Returns the SQL arguments for checking the availability of a friendly URL.
protected  java.lang.String getAvailabilityQuery()
          Returns SQL query that confirms a given friendly URL is unique.
protected  java.lang.String getDeleteQuery()
          Returns SQL delete query used for deleting friendly URLs.
 FriendlyURLEntity getEntity(int mediaItemVersionId)
          Returns a friendly URL entity given its version ID.
protected  java.util.List<java.lang.Object> getInsertArguments(FriendlyURLEntity entity)
          Returns the SQL arguments for the insertion of the given friendly URL entity.
protected  java.lang.String getInsertQuery()
          Returns SQL insert query used for creating friendly URLs.
protected  java.lang.String getMatchQuery()
          Returns SQL query that returns a matching friendly URL.
protected  java.lang.String getMatchQueryNullSequence()
          Returns SQL query that returns a matching friendly URL.
protected  java.lang.String getReferringQuery()
          Returns SQL select query used for returning referring friendly URLs.
protected  java.lang.String getSelectByIdQuery()
          Returns SQL select query for retrieving friendly URL by id.
 java.lang.String getURLTitlePath(java.lang.String queryString, boolean googleNewsIdOn)
          Returns the friendly URL part identified by the querystring.
protected  boolean identifierConflictsWithInMemEntities(FriendlyURLEntity sourceEntity, java.util.List<FriendlyURLEntity> targetEntities)
          Checks whether the source entity is in conflict with one of the target entities.
protected  java.util.List<FriendlyURLEntity> selectFriendlyURLs(java.lang.String query, java.util.List<java.lang.Object> arguments)
          Selects friendly URL entities.
 
Methods inherited from class nl.gx.webmanager.services.seo.dao.impl.FriendlyURLEntityDAOImpl
activate, create, delete, deleteAll, deleteById, determineSequenceNumber, genericIdentifierConflicts, getCreateFields, getEntityById, getGenericInsertArguments, getReferencedEntity, getSelectFields, getSEODatabaseUtil, getSequenceNumber, getURLTitle, identifierConflicts, insertFriendlyURL, lastCurrent, makeIdentifierUnique, refer, refer, updateIdentifiers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nl.gx.webmanager.services.seo.dao.FriendlyURLEntityDAO
activate, create, delete, deleteAll, deleteById, getEntityById, getURLTitle, lastCurrent, makeIdentifierUnique, refer, refer, updateIdentifiers
 

Constructor Detail

MediaItemFriendlyURLEntityDAOImpl

public MediaItemFriendlyURLEntityDAOImpl(SEODatabaseUtil seoDatabaseUtil)
Constructor.

Parameters:
seoDatabaseUtil - Reference to the SEO database util class.
Method Detail

getEntity

public FriendlyURLEntity getEntity(int mediaItemVersionId)
                            throws FriendlyURLException
Returns a friendly URL entity given its version ID.

Specified by:
getEntity in interface FriendlyURLEntityDAO
Specified by:
getEntity in class FriendlyURLEntityDAOImpl
Parameters:
mediaItemVersionId - The version identifier of the page or media item version for which its friendly URL entity is returned.
Returns:
Friendly URL entity object.
Throws:
FriendlyURLException - If any database access fails.

getURLTitlePath

public java.lang.String getURLTitlePath(java.lang.String queryString,
                                        boolean googleNewsIdOn)
                                 throws FriendlyURLException
Returns the friendly URL part identified by the querystring. If the googleNewsIdOn parameter is true the friendly URL part is prefixed with its Google New ID and a path separator.

For example, if there exists a media item friendly URL entity for querystring '&contentid=23' with URL title 'My News', then invoking: getURLTitlePath("&contentid=23", false) results in the URL title path:
My News
Invoking: getURLTitlePath("&contentid=23", true) results in the URL title path:
023/My News

If there is no known friendly URL entity for the given querystring, the querystring argument itself is returned.

Specified by:
getURLTitlePath in interface MediaItemFriendlyURLEntityDAO
Parameters:
queryString - Returns the URL title identified by this querystring.
googleNewsIdOn - Prefixes the entity's Google News Id if true, else not.
Returns:
The URL title of the friendly URL entity identified by its querystring.
Throws:
FriendlyURLException - If any database access fails.

identifierConflictsWithInMemEntities

protected boolean identifierConflictsWithInMemEntities(FriendlyURLEntity sourceEntity,
                                                       java.util.List<FriendlyURLEntity> targetEntities)
Checks whether the source entity is in conflict with one of the target entities.

Specified by:
identifierConflictsWithInMemEntities in class FriendlyURLEntityDAOImpl
Parameters:
sourceEntity - Source friendly URL entity.
targetEntities - Target friendly URL entities.
Returns:
true if URL identifier is not unique, false otherwise.

getAvailabilityArguments

protected java.util.List<java.lang.Object> getAvailabilityArguments(FriendlyURLEntity entity)
Returns the SQL arguments for checking the availability of a friendly URL.

Specified by:
getAvailabilityArguments in class FriendlyURLEntityDAOImpl
Parameters:
entity - Friendly URL entity to return its arguments for.
Returns:
Array of arguments for the availability query.

getAvailabilityQuery

protected java.lang.String getAvailabilityQuery()
Returns SQL query that confirms a given friendly URL is unique.

Specified by:
getAvailabilityQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL query for confirming uniqueness.

getSelectByIdQuery

protected java.lang.String getSelectByIdQuery()
Returns SQL select query for retrieving friendly URL by id.

Specified by:
getSelectByIdQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL select query.

getInsertQuery

protected java.lang.String getInsertQuery()
Returns SQL insert query used for creating friendly URLs.

Specified by:
getInsertQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL insert query.

getDeleteQuery

protected java.lang.String getDeleteQuery()
Returns SQL delete query used for deleting friendly URLs.

Specified by:
getDeleteQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL delete query.

getReferringQuery

protected java.lang.String getReferringQuery()
Returns SQL select query used for returning referring friendly URLs.

Specified by:
getReferringQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL select query.

getInsertArguments

protected java.util.List<java.lang.Object> getInsertArguments(FriendlyURLEntity entity)
Returns the SQL arguments for the insertion of the given friendly URL entity.

Specified by:
getInsertArguments in class FriendlyURLEntityDAOImpl
Parameters:
entity - Friendly URL entity to return its arguments for.
Returns:
Array of arguments for the insert query.

getMatchQuery

protected java.lang.String getMatchQuery()
Returns SQL query that returns a matching friendly URL. Used by FriendlyURLEntityDAOImpl.findMatchFromHistory(FriendlyURLEntity).

Specified by:
getMatchQuery in class FriendlyURLEntityDAOImpl
Returns:
SQL query for finding a matching friendly URL.

getMatchQueryNullSequence

protected java.lang.String getMatchQueryNullSequence()
Returns SQL query that returns a matching friendly URL. Used by FriendlyURLEntityDAOImpl.findMatchFromHistory(FriendlyURLEntity). Difference with FriendlyURLEntityDAOImpl.getMatchQuery() is that the sequence is checked for being null.

Specified by:
getMatchQueryNullSequence in class FriendlyURLEntityDAOImpl
Returns:
SQL query for finding a matching friendly URL.

selectFriendlyURLs

protected java.util.List<FriendlyURLEntity> selectFriendlyURLs(java.lang.String query,
                                                               java.util.List<java.lang.Object> arguments)
                                                        throws java.sql.SQLException
Selects friendly URL entities. The type of entities in the returned list reflects the type of the implementing class.

Specified by:
selectFriendlyURLs in class FriendlyURLEntityDAOImpl
Parameters:
query - Execute this select query, which must retrieve all friendly URL select fields.
arguments - The arguments for the given query.
Returns:
Array of friendly URL entities.
Throws:
java.sql.SQLException - If a database access error occurs.


Copyright © 2007-2011 GX Software BV. All Rights Reserved.