Who links to my website? Who does backlink to my website? Thank you for visiting! If you liked the site, please add a bookmark, else add a critical comment! Would you like to visit Greece? Traditional Greek flag Αεροπλάνα - Καράβια - Ξενοδοχεία The holy mountain

Saturday, 1 February 2014

JDeveloper 12c to 11g backwards migration

In case you could not wait to migrate your last project to the currently newer version of JDeveloper 12c, you might have been disappointed with several recurring  errors, or an entire EJB 3 application not running at all.
Familiar or not?


In this new post a solution for returning to the older version will be presented, for those who receive an error message that the workspace cannot open any more with JDeveloper 11g . The exact phrasing is: " Unable to load application file. Workspace already migrated to newer version (12.1.2.0.0)".

Migration can still be undone!

One needs to edit the .jws workspace with an editor, first commenting out the lines mentioning the 12.1.2.0.0 version like this:

<?xml version = '1.0' encoding = 'UTF-8'?>
<jws:workspace xmlns:jws="http://xmlns.oracle.com/ide/project">
   <hash n="adrs-workspace-properties">
      <value n="adrs-instance-binding" v="DefaultServer"/>
      <value n="deploy-timeout" v="0"/>
      <value n="runtime-application-name" v="ejb3inaction"/>
   </hash>
   <hash n="adrs-workspace-weblogic-properties">
      <value n="hot-class-reload" v="ide-default"/>
   </hash>
   <value n="application-package-prefix" v="actionbazaar"/>
   <url n="application-source-directory" path="src/"/>
   <value n="appTemplateId" v="#genericApplicationTemplate"/>
   <hash n="appWebServicePolicy">
      <value n="location"/>
      <value n="LOCATION_TYPE" v="policy.config.PolicyOptions.LocationType.FILE_STORE"/>
      <value n="SERVER_LOCATION" v="IntegratedWebLogicServer"/>
   </hash>
   <hash n="component-versions">
      <value n="oracle.adf.share.dt.migration.jps.JaznCredStoreMigratorHelper" v="11.1.1.1.0"/>
      <!--value n="oracle.adf.share.dt.migration.wsm.PolicyAttachmentMigratorHelper" v="12.1.2.0.0"/-->
<value n="oracle.adf.share.dt.migration.wsm.PolicyAttachmentMigratorHelper" v="11.1.2.0.0"/>     
<value n="oracle.adfdt.controller.adfc.source.migration.SavePointDataSourceForWLSMigrator" v="11.1.1.1.0"/>
      <value n="oracle.adfdtinternal.model.ide.security.extension.AdfSecurityMigrator" v="11.1.1.1.0.13"/>
      <value n="oracle.adfdtinternal.model.ide.security.wizard.AdfSecurityMigrator" v="11.1.1.1.0.13"/>
      <value n="oracle.ide.model.Project" v="11.1.1.1.0;11.1.2.0.0"/>
<!--value n="oracle.ide.model.Project" v="11.1.1.1.0;11.1.2.0.0;12.1.2.0.0"/-->     
<value n="oracle.jbo.dt.jdevx.deployment.JbdProjectMigrator" v="11.1.2.0.0"/>
      <value n="oracle.jdevimpl.appresources.ApplicationSrcDirMigrator" v="11.1.2.0.0"/>
      <value n="oracle.jdevimpl.deploy.ear.OarMigratorHelper" v="11.1.1.1.0"/>
      <value n="oracle.jdevimpl.deploy.mar.MarMigratorHelper" v="11.1.1.1.0"/>
      <value n="oracle.jdevimpl.deploy.migrators.JeeDeploymentMigrator" v="11.1.2.0.0"/>
      <value n="oracle.jdevimpl.xml.oc4j.ds.DataSourcesMigratorHelper" v="10.1.3.5.0"/>
      <value n="oracle.jdevimpl.xml.oc4j.jps.JpsConfigMigratorHelper" v="11.1.1.1.0.1"/>
      <value n="oracle.jdevimpl.xml.wl.WeblogicMigratorHelper" v="11.1.1.1.0"/>
      <value n="oracle.mds.internal.dt.deploy.base.MarMigratorHelper" v="11.1.1.1.0"/>
      <value n="oracle.mds.internal.dt.ide.migrator.MDSConfigMigratorHelper" v="11.1.1.0.5313"/>
   </hash>
   <list n="contentSets">
      <string v="oracle.mds.internal.dt.ide.appresources.MDSAppResourceCSProvider/MDSAppContentSet"/>
      <string v="oracle.jdeveloper.model.PathsConfiguration/ADFContentSet"/>
      <string v="oracle.jdeveloper.model.PathsConfiguration/ApplicationSrcContentSet"/>
      <string v="oracle.jdeveloper.model.PathsConfiguration/ApplicationLevelMavenPOMContentSet"/>
      <string v="oracle.jdeveloper.model.PathsConfiguration/ApplicationBuildToolContentSet"/>
      <string v="oracle.jdeveloper.model.PathsConfiguration/ResourceBundlesContentSet"/>
   </list>
   <list n="listOfChildren">
      <hash><url n="URL" path="Model/Model.jpr"/></hash>
      <hash><url n="URL" path="UserInterface/UserInterface.jpr"/></hash>
   </list>
   <hash n="oracle.jdeveloper.deploy.dt.DeploymentProfiles">
      <hash n="profileDefinitions">
         <hash n="ejb3inActionV2">
            <hash n="archiveOptions">
               <value n="compressed" v="true"/>
               <value n="hasManifest" v="true"/>
            </hash>
            <value n="defaultConnection" v="standalone"/>
            <hash n="dependencies">
               <list n="dependencyList">
                  <hash>
                     <value n="adapterClass" v="oracle.jdevimpl.deploy.common.ArchiveProfileDependable"/>
                     <url n="ownerURL" path="Model/Model.jpr"/>
                     <value n="pathInEar" v=""/>
                     <value n="profileName" v="ejb3inactionModel"/>
                  </hash>
                  <hash>
                     <value n="adapterClass" v="oracle.jdevimpl.deploy.common.ArchiveProfileDependable"/>
                     <url n="ownerURL" path="UserInterface/UserInterface.jpr"/>
                     <value n="pathInEar" v=""/>
                     <value n="profileName" v="ejb3inActionV2"/>
                  </hash>
               </list>
            </hash>
            <url n="earURL" path="deploy/ejb3inActionV2.ear"/>
            <value n="enterpriseAppName" v="ejb3inActionV2"/>
            <hash n="fileGroups">
               <list n="groups">
                  <hash>
                     <list n="contributors">
                        <hash>
                           <value n="type" v="9"/>
                        </hash>
                     </list>
                     <value n="displayName" v="Application Descriptors"/>
                     <hash n="filters">
                        <list n="rules">
                           <hash>
                              <value n="pattern" v="**"/>
                              <value n="type" v="0"/>
                           </hash>
                        </list>
                     </hash>
                     <value n="internalName" v="ear-metainf"/>
                     <value n="type" v="1"/>
                  </hash>
                  <hash>
                     <value n="displayName" v="Application Libraries"/>
                     <hash n="filters">
                        <list n="rules">
                           <hash>
                              <value n="pattern" v="xml.jar"/>
                              <value n="type" v="1"/>
                           </hash>
                           <hash>
                              <value n="pattern" v="xmlparserv2.jar"/>
                              <value n="type" v="1"/>
                           </hash>
                           <hash>
                              <value n="pattern" v="adf-controller-rt-common.jar"/>
                              <value n="type" v="1"/>
                           </hash>
                           <hash>
                              <value n="pattern" v="adf-controller-api.jar"/>
                              <value n="type" v="1"/>
                           </hash>
                           <hash>
                              <value n="pattern" v="adf-controller.jar"/>
                              <value n="type" v="1"/>
                           </hash>
                           <hash>
                              <value n="pattern" v="**"/>
                           </hash>
                        </list>
                     </hash>
                     <value n="internalName" v="libraries"/>
                     <list n="selectedLibraries"/>
                     <value n="targetWithinJar" v="lib"/>
                     <value n="type" v="3"/>
                  </hash>
               </list>
            </hash>
            <hash n="libraryDependencies">
               <list n="unselectedLibraries"/>
            </hash>
            <value n="profileClass" v="oracle.jdeveloper.deploy.ear.EarProfile"/>
            <value n="profileName" v="ejb3inActionV2"/>
         </hash>
      </hash>
      <list n="profileList">
         <string v="ejb3inActionV2"/>
      </list>
   </hash>
   <hash n="oracle.jdeveloper.deploy.SecurityDeploymentSettings">
      <value n="Security-Deployment-Migrate-Users-And-Groups-Key" v="true"/>
      <value n="Security-Deployment-Overwrite-Application-Policies-Key" v="true"/>
      <value n="Security-Deployment-Overwrite-Credentials-Key" v="true"/>
   </hash>
   <hash n="oracle.jdeveloper.model.PathsConfiguration">
      <hash n="ApplicationSrcContentSet">
         <list n="pattern-filters">
            <string v="+**"/>
         </list>
         <list n="url-path">
            <url path="src/"/>
         </list>
      </hash>
   </hash>
   <hash n="oracle.mds.internal.dt.ide.CustOptions">
      <list n="customizationLibraries">
         <hash/>
      </list>
   </hash>
   <hash n="Weblogic JDBC">
      <value n="Weblogic-JDBC-Auto-Sync-Key" v="false"/>
   </hash>
</jws:workspace>


Thus, by removing the references to  version 12.1.2.0.0 one can continue development with the older version and postpone the migration, if necessary. Finally, one can find  further migration details as usual here.




Sunday, 29 December 2013

Comments on Lehr- und Übungsbuch der deutschen Grammatik, Neubearbeitung, Deutsch-Englisch, A Practice Grammar of German by Hilke Dreyer, Richard Schmitt

Image may differ!
On the bright side, the text is of very good quality with only few spelling errors, accurate definitions and plenty of examples. The most important advantage of the book is that it offers a plethora of exercises both for the beginner and the advanced student. Its colourful design offers an image, which is very pleasant to the reader's eyes. A separate key to the exercises, not written by the authors, is available, but at an extra cost. The book is available in several foreign languages, besides English and Italian.
On the dark side, when compared with other, older school German grammar books such as the venerate Lernergrammatik für Deutsch als Fremdsprache by Lorentz Nieder, there is vital information missing. For instance, when one is trying to build an argument, several words are of the essence, such as Argumentativpartikel. This information is crucial for someone who is preparing to sit for an official German language examination.
All in all, the book offers great help in self study, filling many grammar gaps with explanations, exercising and reference. Therefore, it is highly recommended for those who need to a synoptic grammar introduction or  to master quickly the German language.