Life of Transient repository varibles in ATG

How long do transient repository variables are alive in memory? Are they linked to the session?
I read that they are not related to Cache, so any cache invalidation events would not effect their life cycle.
Thanks
Edited by: Soltan on Jun 27, 2012 10:09 AM - edited to transient repository variables

Soltan wrote:
Thanks for the answer Nitin. Per your answer, do you mean that Transient properties are available as long as the repository is up? I may be interpreting it wrong.
If I create a transient variable say in the profile repository item, wouldn't it be lost once the user's profile object is no longer in scope (session timeout or user logs out) ? The issue I am seeing is that my transient variables are being lost if there is some sort of error (not necessarily related to the repository). Is there a way to know how long these variables are held in memory and when they are discarded.
The transient property would be available as a state of the RepositoryItem object. On referring to a different RepositoryItem, definitely the transient's property's value would be lost or changed (depending on if you made the transient property as a user defined property to get its value from a RepositoryPropertyDescriptor). So if you add a transient property in the profile, it be would lost or changed once the underlying RepositoryItem changes when session times out or user logs out. I have not tried this but you can go through with the documentation to see if you can possibly use a PropertiesChangedListener to detect when the property value changes.
Soltan wrote:
I have a few in the order repository on the commerceItem, that hold information about manual discount values. If there is an error during checkout (payment >or such), I still have the order, commerce items, promotions etc but these manual discount values (which are transient properties) are disappearing. So the next >time reprice happens I am missing these discount values.I believe somewhere you must be setting the discount related values into those transient properties in the order so can't you set them again on repricing after an error?
As an alternative, see if you can make your transient property for manual discount as a user defined property by adding property-type attribute to your repository definition XML. Something like as:
<property name="manualDiscount" property-type="mypackage.ManualDiscountPropertyDescriptor">
  <!-- if required you can pass additional attributes and values to your RepositoryPropertyDescriptor -->
</property>Then implement ManualDiscountPropertyDescriptor to hold your discount information and required logic as there will be one instance of ManualDiscountPropertyDescriptor class which would be used for manualDiscount property irrespective of user session as long as repository is up.
public class ManualDiscountPropertyDescriptor extends RepositoryPropertyDescriptor {
public Object getPropertyValue(RepositoryItemImpl item, Object value) {
// here item parameter is the order RepositoryItem on which you are calling the property getter
// return value based on your logic using data from order and discount info
}For more details, you can refer to user defined property type section in ATG Repository guide which has an example also.

Similar Messages

  • Repository mapping in atg

    Hi Guys
    What is the best way to point all repositories to One schema?

    You can follow it:
    <gsa-template>
         <item-descriptor name="A">
              <table name="A" type="primary" id-column-name="id">
                   <property name="id" column-name="id" data-type="string"/>
                   <property name="name" column-name="name" data-type="string"/>
              </table>
              <table name="BList" type="multi" id-column-name="id">
                   <property name="BList" column-name="BList" data-type="set" component-item-type="B"/>
              </table>
         </item-descriptor>
         <item-descriptor name="B">
              <table name="B" type="primary" id-column-name="id">
                   <property name="id" column-name="id" data-type="string"/>
                   <property name="name" column-name="name" data-type="string"/>
              </table>
              <table name="AList" type="multi" id-column-name="id">
                   <property name="AList" column-name="AList" data-type="set" component-item-type="A"/>
              </table>
         </item-descriptor>
    </gsa-template>

  • XML combile tag in ATG repository

    Hi All,
      Below are the few commonly used tags in repository.xml in ATG. I wanted to know at wich all levels its used and why its used in different levels?? wats the difference???
    1)item descriptor level
    2)property level
    3) <gsa-template> 
    xml-combine="replace"
    xml-combine="remove"
    xml-combine="append"

    Hi,
    As mentioned by Shaik, the effect of these tags is the same no matter which level they are added to.
    Your requirements decide at which level you need to add these tags.
    Below are the common ones.
    1. We use xml-combine="append" to the gsa-template when we extend the ATG OOB repository ex: Productcatalog or order repository
    2. Lets say you need to store your CC information alone in a custom table. then you can add xml-combine="replace" to the creditcard item descriptor alone and you can define your own item descriptor.
    3. More specifically if you need to just store the CC number alone in the custom table, you can add xml-combine="replace" to the cc number property alone and make it to point to the column in your custom table.
    These are few examples. We may have much more.
    Hope this helps.
    Keep posting the questions / updates.
    Thanks,
    Gopinath Ramasamy

  • Session in ATG

    Hi,
      For what functionality session is used in ATG, i.e what is the use of session in ATG. and how is it achieved in ATG????
    Components : session scoped
    Repository : Transient properties  
    Session cookies: ????
    Regards

    Repository transient properties are session scoped . the values stored in Transient Properties are available only till a particular session exists. Once the session has expired all the transient properties values will be gone.
    When and why are transient properties should be used.???
    Why cant we use HttpSession session=session = request.getSession(true); instead of transient properties????
    By default the transient property values are not stored in session but stored in the repository item level caches. Even if you disable the caching for an item, ATG internally caches its property values during a transaction.
    We access repository properties through RepositoryItem object instances and for any given item-descriptor in a repository there can be many RepositoryItem objects each having its own state (property values). So same property (transient or persistent) can have same or different value as the RepositoryItem object instance is going to be different. Now imagine if a transient property value was stored in session then how it would handle the different values for a given transient property for different items within a same session unless that property holds something session specific.
    Having said this you must also know that there are couple of custom property descriptor classes provided OOTB: atg.repository.SessionPropertyDescriptor and atg.repository.SessionEnumPropertyDescriptor each of which uses HttpSession to store property values. So if your transient property is declared with the property-type attribute specifying any of these custom property descriptor classes then only that property value would be stored as a session attribute. Also note that you would have to pass the session attribute name from your repository definition something like below:
    <item-descriptor name="myItem" ...>
      <property name="myProperty" data-type="string" property-type="atg.repository.SessionPropertyDescriptor" ...>
        <attribute name="sessionAttributeName" value="myProp"/>
      </property>
    </item-descriptor>
    I don't remember exactly from which version but SessionPropertyDescriptor has now been deprecated so if you plan to use it you have to do it at your own risk. The other class SessionEnumPropertyDescriptor can be used only for enumerated proeprties and is used in the securityStatus property of user profile. Refer this
    Oracle ATG Web Commerce - Security Status
    Does cookie play a role in ATG for maintaining session.   Profile and Order data is stored in cookies right???
    Whenever a request comes in without a session-id in the cookie or in the URL, the application server would create a new session for the particular web-app that is being requested. And like any typical web-app ATG also uses cookies to recognize a returning user. ATG uses cookies for different scenarios like identifying anonymous users on subsequent visits, auto-login for registered users, if a user is automatically logged in and if there were any items in his cart in the previous visit then load them back to the current cart etc. Of course there some configuration changes required to get these scenarios working in ATG.
    Remember cookies can be blocked or deleted by the user so why would you store any important data in them? Cookies store a small piece of information (usually an id) which browser can send to the server with every request and they do not hold any explicit profile or order data.
    Hope it helps and clarifies your concerns.

  • Repository Information

    Hi All,
    I have been working on ATG platform for 2yrs. I want to know more information about Repository concept.
    ATG provided some default repositories like product catalog, order, profile etc. I want to add new property to product item, so in this case, i have to create cutomcatalog with xml-combined of product item descriptor then add the new property in that item descriptor and add the new column in the database table. Instead of this change in writing custom catalog, adding new property to item descriptor,looks feasible as per my understanding.
    Shall we do this another way to achieve this functionality.
    Could you give information about this ?
    Thanks in Advance,
    Sreedhar.

    The dynamic attributes approach is typically not recommended for performance reasons, as ATG will need to perform a join per property.
    Also, I'm not sure how the dynamic attributes approach work when properties are not of type string.
    For more info on how to extend the ProductCatalog, please refer to the ATG docs: http://docs.oracle.com/cd/E36434_01/Platform.10-1-2/ATGCommProgGuide/html/s0301usingandextendingtheproductcatal01.html
    Edited by: Gustavo.Recio on Mar 15, 2013 2:25 AM

  • View the generated sql for fetching a repository item

    Hi guys.
    I am interested in viewing the sql that ATG framework generates to fetch a primary repository item. I would like to use this generated sql, directly on the database and avoid me the pain of having to join multiple tables to get one repository item, basically looking to avoid having to write complex sql queries to fetch information for a repository item as ATG application would view it.
    I know there is a switch somewhere to turn it on, but an example would be great. Thanks!

    Turn on the logging debug on for the repository.
    Peace
    Shaik

  • Do we have any component named Product Exporter or Category Exporter in ATG

    Do we have any component named Product Exporter or Category Exporter in ATG? If so, please specify any reference for the same.

    There is many ways to export/import Repository Items from ATG:
    SQL Repository: http://docs.oracle.com/cd/E26180_01/Platform.94/RepositoryGuide/html/s1107startsqlrepository01.html
    REST API: http://docs.oracle.com/cd/E26180_01/Platform.94/ATGIntFrameGuide/html/s1101partiiiatgplatformrestwebservice01.html
    OOTB: Java code that get itens from a repository...

  • ATG Rest Services - capture IP of caller

    Is it possible to capture the IP address of who is calling a REST service?
    The reason I am asking is that we seem to be having a lot of the following errors in our log file:
    ERROR [RepositoryServlet??] Error code: 500 CONTAINER:atg.repository.RepositorySecurityException; SOURCE:atg.security.PermissionDeniedException: You do not have read access to the category item descriptor.
    null
    atg.rest.RestException??: CONTAINER:atg.repository.RepositorySecurityException; SOURCE:atg.security.PermissionDeniedException: You do not have read access to the category item des criptor.
    Now, We have a mobile site which makes use of the REST services and they are all set up with the correct login/security.
    What I am trying to determine is who else is making these REST calls - something internal - or some unkown entity outside the application. I figured that if I can capture the IP then that will narrow down things. If it is outside, then the system is operating as expected and the error is justified. But if it is internal then need to do a bit more digging of what the root cause is.
    thanks

    I added the following to my method:
                   if ("/rest".equalsIgnoreCase(pRequest.getContextPath()))
                        String clientAddressStr = pRequest.getHeader("x-forwarded-for");
                        if (StringUtils.isNotBlank(clientAddressStr))
                             //clientAddressStr will be of format: clientIp, Proxy1, Proxy2
                             String[] clientAddressArr = clientAddressStr.split(",");
                             if (isLoggingInfo())
                                  logInfo("service(DynamoHttpServletRequest, DynamoHttpServletResponse) - IP Address is:: " + clientAddressArr[0].trim()); //$NON-NLS-1$
    This does not work - the line
    String clientAddressStr = pRequest.getHeader("x-forwarded-for");
    always comes back as null.
    Any issue of just grabbing the remote addr from the request?

  • How the profile id has been created for anonymous user

    hi all,
    when i print the ShoppingCurrent.current the below line is displaying
    Order[type:default; id:o1030002; state:INCOMPLETE; transient:true; profileId:1310002; ]
    in that how the profile id has been created.
    thanks in advance
    shya

    User profile is created when a request is processed by the ProfileRequestServlet in the ATG servlet pipeline and is made available as session scoped Profile object for each user. Profile object has a dataSource property which points to the underlying RepositoryItem. For anonymous user, the underlying RepositoryItem created through ProfileRequestServlet remains transient by default. Therefore you won't find the item in the repository or database with that transient repository item's id. You can change this default behavior if you want by changing the persistentAnonymousProfiles property of the ProfileRequestServlet component to true which will create a new profile in the database for each anonymous visitor.

  • Issues while creating a search project in BCC

    Hi There,
    Migrating the apps from 2007.3 to 10.0.3.Experiencing issues while creating a search project.
    Step #1.In Search Administration,navigating through Project > Global Settings & creating a Content Label named as "Catalog"
    Step #2.Navigating through Project > Create Production Project.Creating a project with Content Set as "CatalogSet"
    Step #3.Adding a Content with this info:
              Content Name: Catalog
              Type of Content : ATG Repository
              IndexingOutputConfig Path : /atg/commerce/search/ProductCatalogOutputConfig
              Host name : localhost
              RMI : 10160 ( RMI port of commerce instance)
         Creating a content & getting the message as New Content "CatalogTest" has been created.
         Issue #1: Content is not displaying in the Content eventhough content has been created successfully.
         Issue #2: Getting error for "Default Text Processing Options"
         You can refer these issues in the attached screenshot "Content-Page-with-error.jpg"
    Step #4.Creating a new TPO as "English" & trying to "Associate Search Project" & getting an error.Refer the attached error log "Associate-Search-Project.log"
    Due to these issues, "Build Index" button is disabled.Did anybody experienced these issues? Any help/comments are appreciated.
    Also attached the full server logs as commerce-server.log & publishing-server.log.
    Since no options for attachment in this forum, I posted the attachment in this link.Please refer it.
    https://groups.google.com/forum/?fromgroups#!topic/atg_tech/csEHi-x3Nyc
    Thanks in advance!
    Mani
    Edited by: user11263665 on Apr 25, 2012 10:38 PM

    We faced the same problem when migrating from 2007 to ATG 10.0.3. The reason this error comes up is because the Search depends on a local customization adapter /atg/searchadmin/adapter/customization/LocalCustomizationDataAdapter which adds English as a language in the text processing options.
    After the migration you need to import the initial ATG search related data into your Search schema. These instructions have been mentioned in the ATG install guide. Here is the extract from the docs.
    Note: The import scripts import data using startSQLRepository. Make sure your JTDataSource and
    FakeXADatasource are configured to permit this in home/localconfig. JTDataSource should automatically
    point to FakeXADataSource. FakeXADataSource should point to the administration database, and
    FaxeXADataSource_production should point to the production database. Note that some product
    installation processes, including Oracle ATG Web Knowledge Manager Self Service, need FakeXADataSource
    pointed at the production database, so you may need to change the FakeXADataSource between installations.
    once you are done with the configurations above, import only the searchadmindata xml into search schema as this imports the LocalCustomizationDataAdapter config information into your search schema. Once this is done, you should be good to index.
    <ATG10dir>\home\bin\startSQLRepository.bat|sh -m SearchAdmin.AdminUI
    -repository /atg/searchadmin/SearchAdminRepository -import
    <ATG10dir>\Search10.1\SearchAdmin\common\data\initial\searchadmindata.
    xml

  • Unable to check-in the BCC project

    Hi,
    I am unable to check-in the BCC project, getting below error, Please help:
    tg.repository.RepositoryException: assertion on checkin failed.
    checkin created duplicate branch head versions for repository item type /atg/commerce/catalog/ProductCatalog:media on branch 10100.
    regards,
    Alphonsa

    If you have taken a dump from somewhere and setting it up on ur local, you should cleanup the database a bit before actually deploying any project.
    I would suggest you rollback any of your current projects and run the following scripts to remove any staled/existing projects in CA.
    DELETE FROM EPUB_PR_HISTORY;
    DELETE FROM EPUB_PROC_HISTORY;
    DELETE FROM epub_proc_prv_prj;
    DELETE FROM EPUB_PROJECT;
    DELETE FROM EPUB_IND_WORKFLOW;
    DELETE FROM EPUB_PROC_TASKINFO;
    DELETE FROM EPUB_PROCESS;
    DELETE FROM EPUB_HIS_ACT_PARM;
    DELETE FROM EPUB_HISTORY;
    DELETE FROM EPUB_TASKINFO;
    DELETE FROM EPUB_DEP_LOG;
    DELETE FROM epub_file_asset;
    DELETE FROM avm_asset_lock;
    DELETE FROM dss_server_id;
    DELETE FROM dsi_server_id;
    commit;
    Now start your server again and check the deployment.
    Hopefully it should work!

  • Permissions denied when trying to get a BCC project programatically...

    Hi,
    I wrote a servlet that extends atg.servlet.GenericServletService and in the service method, I am resolving the ATG component that is trying to query a BCC project with the given project Id.
    The control is getting passed successfully to the ATG component but when it is trying to query, its throwing the following error:
    14:46:02,741 ERROR [STDERR] javax.ejb.EJBException: QUERY_EXCEPTION_MESSAGE: RQL query: id = ?0, Args: ?0=prj2130001
    14:46:02,743 ERROR [STDERR]      at atg.repository.tojava.runtime.RJSupport.executeRqlStatementForOne(RJSupport.java:1110)
    14:46:02,744 ERROR [STDERR]      at atg.epub.project._ProjectHome_ReposImpl.findById(_ProjectHome_ReposImpl.java:70)
    *14:46:02,761 ERROR [STDERR] Caused by: CONTAINER:atg.repository.RepositorySecurityException; SOURCE:atg.security.PermissionDeniedException: You do not have read access to the project item descriptor.*
    14:46:02,762 ERROR [STDERR]      at atg.adapter.secure.GenericSecuredRepository.checkAccess(GenericSecuredRepository.java:381)
    14:46:02,763 ERROR [STDERR]      at atg.adapter.secure.GenericSecuredRepositoryView.executeQuery(GenericSecuredRepositoryView.java:292)
    14:46:02,763 ERROR [STDERR]      at atg.repository.rql.RqlStatement.executeQuery(RqlStatement.java:205)
    14:46:02,764 ERROR [STDERR]      at atg.repository.tojava.runtime.RJSupport.executeRqlStatementForOne(RJSupport.java:1099)
    I am using the following API:
         final ProjectHome projectHome = ProjectConstants.getPersistentHomes()
              .getProjectHome();
         Project project = projectHome.findById(projectId);
    I am invoking this servlet from the web browser by passing the project ID as the parameter.
    However, if I try to invoke the same component's method using a scheduler, its working fine.
    Any help/pointers regarding this is greatly appreciated.
    Thanks in advance.

    Have the below functionality in your method before executing logic.
    personaPrefix and userName should be set as said by Gurvinder.
    protected boolean assumeUserIdentity() {
    if (getUserAuthority() == null)
    return false;
    User newUser = new User();
    Persona persona = (Persona) getUserAuthority().getPersona(getPersonaPrefix() + getUserName());
    if (persona == null)
    return false;
    newUser.addPersona(persona);
    ThreadSecurityManager.setThreadUser(newUser);
    return true;
    HTH.
    -karthik
    Edited by: karthik.chopperla on Jul 20, 2011 2:52 AM

  • Customizing CA BCC by adding one drop downs in PMDL Editor (Promotion creation condition tab)

    Is it possible to customize the PMDL generation in promotion creation condition tab. The change is to add one drop downs instead of type a literal. While selecting a particular property in condition tab the user need to select the value from a drop down. Now user selecting the “Type a literal” option and typing the string.

    It's possible to customize BCC display using view mapping repository.
    Refer atg documents for better understanding about view mapping.
    Refer this post for implementation https://groups.google.com/forum/#!topic/atg_tech/i6w2_2anxmE
    Thanks,
    Nitin.

  • Currentdate-1 on Date prompt

    Hi All
    we are using OBIEE 11g.
    There is a date prompt in dashboard.
    I need to put a default date to the propmt while runing the report.
    So i have selected SQL Result as default selection and Sql Query as below
    SELECT CASE WHEN 1=0 THEN AnyExistedDateColumn ELSE CURRENT_DATE END FROM SubjectArea.
    This is working fine but my requirement is to put default date like CURRENT_DATE-1 which is not working.
    any thought will be appriciated.
    regards
    Gourisankar

    Gourisankar,
    1. Create a Dynamic Repository Varible like Sysdate-1
    2. create a Initialization blocks - Give the Name for this
    In Data Source Section - Edit Data Source and place the below query
    select distinct TO_CHAR(SYSDATE-1,'MM/DD/YYYY')
    FROM Tabl_Name or Dual
    3. In Variable Target Section
    Edit Target -
    Give the Name as SysDate-1 (as you created) and Enable the Radio Button as Dynamic
    Place date in Default initializer like '12/20/2010'
    Call the Repository Varible SysDate-1 in your Date Prompt.
    Thanks,
    Balaa...

  • Managing Commerce Assets Error in BCC

    Hi,
    When I try to create a new project under Merchandising in BCC I get the following error:
    18:28:51,737 INFO [STDOUT] [Flex Messaging] 02/21/2013 18:28:51.737 [ERROR] [Message.Remoting] Error processing remote invocation: atg.flex.service.RemoteOperationException: java.lang.ClassCastException: atg.vfs.switchable.SwitchableLocalFileSystem cannot be cast to atg.vfs.repository.RepositoryVirtualFileSystem
    incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage)
    operation = drillDown
    clientId = E5459686-870F-C2A9-B148-0D75CD07C475
    destination = /atg/remote/assetmanager/browse/service/BrowseService
    messageId = 7D0CFBF9-78D9-FD3E-9537-FCD5A45B6C12
    timestamp = 1361451525240
    timeToLive = 0
    body = null
    hdr(DSId) = E5447446-540C-A67C-3147-67E43DECF6AA
    hdr(DSEndpoint) = atg-amf
    atg.flex.service.RemoteOperationException: java.lang.ClassCastException: atg.vfs.switchable.SwitchableLocalFileSystem cannot be cast to atg.vfs.repository.RepositoryVirtualFileSystem
    at atg.remote.assetmanager.browse.service.BrowseService.drillDown(BrowseService.java:227)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
    at atg.flex.messaging.services.TransactionalJavaAdapter.invoke(TransactionalJavaAdapter.java:189)
    at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
    at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
    at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
    at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
    at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
    at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
    at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
    at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
    at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
    at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:192)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:275)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:119)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:378)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:228)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:657)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.LocaleServlet.service(LocaleServlet.java:84)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.ProjectServlet.service(ProjectServlet.java:109)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.PublishingSecurityServlet.service(PublishingSecurityServlet.java:80)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:150)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:213)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:696)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2447)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteSessionEventTriggerPipelineServlet.service(SiteSessionEventTriggerPipelineServlet.java:161)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:512)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:230)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ShoppingContextServlet.service(ShoppingContextServlet.java:106)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:460)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ValidateNumericParamsServlet.validateNumberParameter(ValidateNumericParamsServlet.java:149)
    at com.XXXX.servlet.pipeline.ValidateNumericParamsServlet.service(ValidateNumericParamsServlet.java:102)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ProtocolSwitchServlet.service(ProtocolSwitchServlet.java:309)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.NetscalerServlet.service(NetscalerServlet.java:101)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.CachePreventionServlet.service(CachePreventionServlet.java:141)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:491)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.URLArgumentPipelineServlet.service(URLArgumentPipelineServlet.java:302)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:392)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:113)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:234)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:324)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1271)
    at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:952)
    at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:272)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:349)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.ClassCastException: atg.vfs.switchable.SwitchableLocalFileSystem cannot be cast to atg.vfs.repository.RepositoryVirtualFileSystem
    at atg.versionmanager.VersionManager.setUpSets(VersionManager.java:1607)
    at atg.versionmanager.VersionManager.setUpReverseMaps(VersionManager.java:1638)
    at atg.versionmanager.VersionManager.getRepositoryNameInVersionManager(VersionManager.java:1374)
    at atg.service.asset.AssetUtils.createVersionManagerURI(AssetUtils.java:251)
    at atg.service.asset.AssetUtils.createVersionManagerURI(AssetUtils.java:234)
    at atg.remote.assetmanager.common.service.ServiceUtils.getAssetStatus(ServiceUtils.java:511)
    at atg.remote.assetmanager.browse.service.BrowseManager.createNodeStateForAsset(BrowseManager.java:909)
    at atg.remote.assetmanager.browse.service.BrowseManager.getChildrenPage(BrowseManager.java:431)
    at atg.remote.assetmanager.browse.service.BrowseService.getChildren(BrowseService.java:590)
    at atg.remote.assetmanager.browse.service.BrowseService.getBrowseNavStateForContext(BrowseService.java:513)
    at atg.remote.assetmanager.browse.service.BrowseService.drillDown(BrowseService.java:224)
    ... 105 more
    18:28:52,162 ERROR [BrowseService]
    flex.messaging.MessageException: atg.flex.service.RemoteOperationException : java.lang.ClassCastException: atg.vfs.switchable.SwitchableLocalFileSystem cannot be cast to atg.vfs.repository.RepositoryVirtualFileSystem
    at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:447)
    at atg.flex.messaging.services.TransactionalJavaAdapter.invoke(TransactionalJavaAdapter.java:189)
    at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
    at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
    at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
    at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
    at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
    at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
    at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
    at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
    at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
    at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:322)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at atg.servlet.pipeline.TailPipelineServlet.service(TailPipelineServlet.java:192)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:275)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.http.CookieBufferServlet.service(CookieBufferServlet.java:119)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ExpiredPasswordServlet.service(ExpiredPasswordServlet.java:378)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.MimeTyperPipelineServlet.service(MimeTyperPipelineServlet.java:228)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.droplet.DropletEventServlet.service(DropletEventServlet.java:657)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.LocaleServlet.service(LocaleServlet.java:84)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.ProjectServlet.service(ProjectServlet.java:109)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.epub.servlet.PublishingSecurityServlet.service(PublishingSecurityServlet.java:80)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.order.CommerceCommandServlet.service(CommerceCommandServlet.java:150)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.commerce.promotion.PromotionServlet.service(PromotionServlet.java:213)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.AccessControlServlet.service(AccessControlServlet.java:696)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.sessionsaver.SessionSaverServlet.service(SessionSaverServlet.java:2447)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.PageEventTriggerPipelineServlet.service(PageEventTriggerPipelineServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteSessionEventTriggerPipelineServlet.service(SiteSessionEventTriggerPipelineServlet.java:161)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.SessionEventTrigger.service(SessionEventTrigger.java:512)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfilePropertyServlet.service(ProfilePropertyServlet.java:230)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ShoppingContextServlet.service(ShoppingContextServlet.java:106)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.userprofiling.ProfileRequestServlet.service(ProfileRequestServlet.java:460)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ValidateNumericParamsServlet.validateNumberParameter(ValidateNumericParamsServlet.java:149)
    at com.XXXX.servlet.pipeline.ValidateNumericParamsServlet.service(ValidateNumericParamsServlet.java:102)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.ProtocolSwitchServlet.service(ProtocolSwitchServlet.java:309)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at com.XXXX.servlet.pipeline.NetscalerServlet.service(NetscalerServlet.java:101)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.CachePreventionServlet.service(CachePreventionServlet.java:141)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:491)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.URLArgumentPipelineServlet.service(URLArgumentPipelineServlet.java:302)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.PathAuthenticationPipelineServlet.service(PathAuthenticationPipelineServlet.java:392)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.security.ThreadUserBinderServlet.service(ThreadUserBinderServlet.java:113)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:234)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:191)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.multisite.SiteContextPipelineServlet.service(SiteContextPipelineServlet.java:324)
    at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
    at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1271)
    at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:952)
    at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:272)
    at atg.filter.dspjsp.PageFilter.innerDoFilter(PageFilter.java:349)
    at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:662)
    How can I resolve this? :(
    Regards,
    Rahul

    It seems like some configuration issue in your ATG Content Admin (CA) environment that you are using. Looks like you have setup switch deployment for both repository and file assets in your environment but the virtual file system ConfigFileSystem may not have been configured correctly for your BCC server. You can can try to review the service configuration of the component /atg/epub/file/ConfigFileSystem in the dyn/admin component browser. Refer following documentation to configure your ConfigFileSystem virtual file system and see if it helps.
    http://docs.oracle.com/cd/E24152_01/Platform.10-1/ATGContentAdminProgGuide/html/s1104configuredefaulttargetvfssforswi01.html

Maybe you are looking for

  • How Do I back up mail on my MacBook Pro after deleting it on my MacBook Air?

    Hello everyone! Recently I deleted some emails from my MacBook Air not realising that they would be deleted on my MacBook Pro.  When I realised what was going on I turned off the wifi on my Air and continued deleting. Basically I scrubbed just about

  • Rollback ipod software to version 1.2 ?

    hello i have 2 30gb 5th gen ipods one is up to date with the ipod software version 1.2.1 however after updating, it doesn't work correctly with my ihome alarm clock or my alpine car stereo. My other ipod has never been updated and runs the factory ip

  • Parse SQL string using Zql or SQL4J

    any used zql or sql4j. if then plz give me some example

  • Two Repetitive areas in one PLD

    Hi Experts I created a custom query and based on that i created a query print layout. Now in the PLD i have only one repetitive area, but i want to group this report first based on the account code and then based on the BP code and display the sub to

  • JDBC/RMI driver does not support BLOB data type

    WLS 5.1 JDBC/RMI driver does not support BLOB data type. It is said in the Weblogic e-doc. I am using DataSource for database connections, meaning JDBC/RMI driver is actually producing database connections. I need several columns of BLOB types in my