Package nexj.core.meta.persistence.sql.upgrade

Examples of nexj.core.meta.persistence.sql.upgrade.IndexOutline


                     XMLUtil.forEachChildElement(indexesElement, "Index",
                        getHelper().new ElementHandler("index")
                     {
                        public void handleElement(Element indexElement, String sIndexName)
                        {
                           IndexOutline outline = new IndexOutline();

                           loadIndexOutline(indexElement, outline);
                           create.addIndexOutline(outline);
                        }
                     });
                  }
               });

               XMLUtil.withFirstChildElement(stepElement, "View", false, new ElementHandler()
               {
                  public void handleElement(Element viewElement)
                  {
                     final SQLScript script = new SQLScript();

                     loadSQLScript(viewElement, script);
                     create.setViewScript(script);
                     create.setViewAutoUpdated(
                        XMLUtil.getBooleanAttr(
                           viewElement, "autoupdated", create.isViewAutoUpdated()));
                  }
               });

               String sHints = XMLUtil.getStringAttr(stepElement, "hints");

               if (sHints != null)
               {
                  for (StringTokenizer tokenizer = new StringTokenizer(sHints);
                       tokenizer.hasMoreTokens();)
                  {
                     create.addHint(tokenizer.nextToken());
                  }
               }

               create.setPrimaryKeyName((create.getType() == Table.ASPECT) ?
                  XMLUtil.getStringAttr(stepElement, "primaryKey") :
                  XMLUtil.getReqStringAttr(stepElement, "primaryKey"));

               upgrade.addStep(create);
            }
            else if (sElement.equals("AlterTable"))
            {
               final AlterTableStep alter = new AlterTableStep();

               alter.setType(parseTableType(XMLUtil.getStringAttr(stepElement, "type"), alter.getType()));
               alter.setName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
               alter.setAlias(XMLUtil.getStringAttr(stepElement, "alias"));
               alter.setPrimaryKeyName(XMLUtil.getStringAttr(stepElement, "primaryKey"));

               XMLMetadataLoader.parsePatterns(
                  XMLUtil.getStringAttr(stepElement, "hints"),
                  new XMLMetadataLoader.PatternHandler()
               {
                  public void handlePattern(String sName, boolean bEnabled)
                  {
                     alter.setHint(sName, bEnabled);
                  }
               });

               upgrade.addStep(alter);
            }
            else if (sElement.equals("RenameTable"))
            {
               RenameTableStep ren = new RenameTableStep();

               ren.setOldName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
               ren.setNewName(XMLMetadataHelper.getNameAttr(stepElement, "to", XMLMetadataHelper.NAME_DOT));

               upgrade.addStep(ren);
            }
            else if (sElement.equals("DropTable"))
            {
               DropTableStep drop = new DropTableStep();

               drop.setName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));

               upgrade.addStep(drop);
            }
            else if (sElement.equals("ApplyTableAspect"))
            {
               final ApplyTableAspectStep apply = new ApplyTableAspectStep();

               apply.setAspectName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
               apply.setOverride(XMLUtil.getBooleanAttr(stepElement, "override", apply.isOverride()));

               XMLMetadataLoader.parsePatterns(XMLUtil.getStringAttr(stepElement, "pointcuts"),
                  new XMLMetadataLoader.PatternHandler()
                  {
                     public void handlePattern(String sPattern, boolean bInclusive)
                     {
                        apply.addPointcutPattern(sPattern, bInclusive);
                     }
                  });

               loadSQLScripts(stepElement, apply.getScriptHolder());

               upgrade.addStep(apply);
            }
            else if (sElement.equals("RemoveTableAspect"))
            {
               final RemoveTableAspectStep remove = new RemoveTableAspectStep();

               remove.setAspectName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
               remove.setOverride(XMLUtil.getBooleanAttr(stepElement, "override", remove.isOverride()));

               XMLMetadataLoader.parsePatterns(XMLUtil.getStringAttr(stepElement, "pointcuts"),
                  new XMLMetadataLoader.PatternHandler()
                  {
                     public void handlePattern(String sPattern, boolean bInclusive)
                     {
                        remove.addPointcutPattern(sPattern, bInclusive);
                     }
                  });

               upgrade.addStep(remove);
            }
            else if (sElement.equals("CreateColumn"))
            {
               CreateColumnStep create = new CreateColumnStep();

               create.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));

               ColumnOutline outline = new ColumnOutline();

               loadColumnOutline(stepElement, outline, true);
               create.setOutline(outline);

               loadSQLScripts(stepElement, create.getScriptHolder());

               upgrade.addStep(create);
            }
            else if (sElement.equals("AlterColumn"))
            {
               AlterColumnStep alter = new AlterColumnStep();

               alter.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));

               ColumnOutline outline = new ColumnOutline();

               loadColumnOutline(stepElement, outline, false);
               alter.setOutline(outline);

               upgrade.addStep(alter);
            }
            else if (sElement.equals("RenameColumn"))
            {
               RenameColumnStep ren = new RenameColumnStep();

               ren.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));
               ren.setOldName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_ID));
               ren.setNewName(XMLMetadataHelper.getNameAttr(stepElement, "to", XMLMetadataHelper.NAME_ID));

               upgrade.addStep(ren);
            }
            else if (sElement.equals("DropColumn"))
            {
               DropColumnStep drop = new DropColumnStep();

               drop.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));
               drop.setName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_ID));

               upgrade.addStep(drop);
            }
            else if (sElement.equals("CreateIndex"))
            {
               CreateIndexStep create = new CreateIndexStep();

               create.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));

               IndexOutline outline = new IndexOutline();

               loadIndexOutline(stepElement, outline);

               create.setOutline(outline);
View Full Code Here


      column = new ColumnOutline("value");
      column.setType(Primitive.STRING);
      column.setPrecision(256);
      m_doubleColTableStep.addColumnOutline(column);

      IndexOutline index = new IndexOutline();

      index.setName(m_manager.generateIndexName("a", "ind0", null));
      index.addColumn("id", true);
      m_singleIdxColTableStep.addIndexOutline(index);

      index = new IndexOutline();
      index.setName(m_manager.generateIndexName("a", getPrimaryKeyName("pk"), null));
      index.addColumn("id", true);
      m_singlePKColTableStep.addIndexOutline(index);
      m_singlePKColTableStep.setPrimaryKeyName(index.getName());
   }
View Full Code Here

   public abstract void testAppendTSIncrement();

   public void testApplyIndexAspectStep()
   {
      IndexOutline outline = new IndexOutline();

      outline.setName("ind0");
      outline.addColumn("id", true);
      m_doubleColTableStep.addIndexOutline(outline);

      RelationalSchema schema = upgrade(m_doubleColTableStep, null, null);
      Table table = schema.getTable(m_doubleColTableStep.getName());
View Full Code Here

      assertNotNull(table);
      assertEquals(0, table.getIndexCount());
      table.setType(Table.MANAGED); // comes in as Table.EXTERNAL from DB

      CreateIndexStep step = new CreateIndexStep();
      IndexOutline outline = new IndexOutline();

      outline.setName("idx01");
      outline.addColumn("id", true);
      step.setTableName(table.getName());
      step.setOutline(outline);
      schema = upgrade(step, schema, null);
      table = schema.getTable(m_singleColTableStep.getName());
      assertNotNull(table);
View Full Code Here

      AssertUtil.assertContained("update test.Version set loaded=0", sSQL);
   }

   public void testRemoveIndexAspectStep()
   {
      IndexOutline outline = new IndexOutline();

      outline.setName("idx01");
      outline.addColumn("id", true);
      outline.addColumn("value", true);
      m_doubleColTableStep.addIndexOutline(outline);

      RelationalSchema schema = upgrade(m_doubleColTableStep, null, null);
      Table table = schema.getTable(m_doubleColTableStep.getName());
View Full Code Here

TOP

Related Classes of nexj.core.meta.persistence.sql.upgrade.IndexOutline

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.