Public Member Functions | |
DatabasesParser (Controller controller) throws SAXException | |
DatabasesParser (Controller controller, String virtualName, int autoLoad, String checkPoint) throws SAXException | |
void | readXML (String xml) throws IOException, SAXException |
void | readXML (String xml, boolean validateBeforeParsing) throws IOException, SAXException |
void | fatalError (SAXParseException e) throws SAXException |
void | error (SAXParseException e) throws SAXException |
InputSource | resolveEntity (String publicId, String systemId) throws SAXException |
void | prepareDB (String virtualName, int autoLoad, String checkPoint) |
void | startDocument () throws SAXException |
void | endDocument () throws SAXException |
void | startElement (String uri, String localName, String name, Attributes atts) throws SAXException |
void | endElement (String uri, String localName, String name) throws SAXException |
Static Package Attributes | |
Trace | logger |
Definition at line 144 of file DatabasesParser.java.
|
Creates a new
Definition at line 215 of file DatabasesParser.java. 00216 { 00217 prepareHandler(controller); 00218 }
|
|
Creates a new
Definition at line 232 of file DatabasesParser.java. References org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareDB(). 00234 { 00235 prepareHandler(controller); 00236 // Test if a name has been specified. Otherwise skip. 00237 if (virtualName != null) 00238 prepareDB(virtualName, autoLoad, checkPoint); 00239 }
|
|
Finalizes parsing of a document.
Definition at line 402 of file DatabasesParser.java. 00403 { 00404 logger.info(Translate.get("virtualdatabase.xml.done")); 00405 }
|
|
DatabasesParser for end of element.
Definition at line 637 of file DatabasesParser.java. References org.objectweb.cjdbc.common.xml.XmlValidator.error(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setBackupManager(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setCaseSensitiveParsing(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setDatabaseSchema(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setMetadataCache(), and org.objectweb.cjdbc.controller.requestmanager.RequestManager.setParsingCache(). 00639 { 00640 logger.debug(Translate.get("virtualdatabase.xml.parsing.end", name)); 00641 // Test if skip is needed 00642 if (skipDatabase) 00643 return; 00644 00645 // Virtual database 00646 if (name.equals(DatabasesXmlTags.ELT_VirtualDatabase)) 00647 { 00648 if (logger.isDebugEnabled()) 00649 logger.debug(Translate.get("virtualdatabase.xml.add.virtualdatabase")); 00650 00651 if (currentVirtualDatabase != null) 00652 { 00653 try 00654 { 00655 if (currentVirtualDatabase instanceof DistributedVirtualDatabase) 00656 ((DistributedVirtualDatabase) currentVirtualDatabase).joinGroup(); 00657 if (dbToPrepare == null) 00658 { 00659 controller.addVirtualDatabase(currentVirtualDatabase); 00660 } 00661 else 00662 { 00663 int autoLoad = Integer.parseInt((String) dbToPrepare 00664 .get("autoEnable")); 00665 String checkPoint = (String) dbToPrepare.get("checkPoint"); 00666 // checkPoint is store as "" in Hashtable 00667 // but methods to enable backend requires checkPoint to be null 00668 // if no recovery from checkpoint 00669 checkPoint = checkPoint.equalsIgnoreCase("") ? null : checkPoint; 00670 controller.addVirtualDatabase(currentVirtualDatabase, autoLoad, 00671 checkPoint); 00672 } 00673 } 00674 catch (Exception e) 00675 { 00676 String msg = Translate 00677 .get("controller.add.virtualdatabase.failed", e); 00678 logger.error(msg, e); 00679 } 00680 } 00681 currentVirtualDatabase = null; 00682 } 00683 00684 // Request manager 00685 else if (name.equals(DatabasesXmlTags.ELT_RequestManager)) 00686 { 00687 if (logger.isDebugEnabled()) 00688 logger.debug(Translate.get("virtualdatabase.xml.requestmanager.set")); 00689 00690 if (currentVirtualDatabase != null) 00691 { 00692 RequestManager requestManager = null; 00693 00694 // We consider that SingleDB and ParallelDB balancers don't need macros 00695 // handler 00696 if (currentLoadBalancer == null) 00697 throw new SAXException("virtualdatabase.xml.loadbalancer.not.set"); 00698 if (!(currentLoadBalancer instanceof SingleDB || currentLoadBalancer instanceof ParallelDB)) 00699 { 00700 // If no macros handling has been specified, create a default one 00701 // based one the dtd default values 00702 if (currentMacroHandler == null) 00703 currentMacroHandler = new MacrosHandler(MacrosHandler.RAND_FLOAT, 00704 1000, MacrosHandler.DATE_TIMESTAMP, MacrosHandler.DATE_DATE, 00705 MacrosHandler.DATE_TIME, MacrosHandler.DATE_TIMESTAMP, 00706 MacrosHandler.DATE_TIMESTAMP); 00707 currentLoadBalancer.setMacroHandler(currentMacroHandler); 00708 } 00709 00710 try 00711 { 00712 if (currentVirtualDatabase.isDistributed()) 00713 { 00714 switch (currentLoadBalancer.getRAIDbLevel()) 00715 { 00716 case RAIDbLevels.SingleDB : 00717 String smsg = Translate.get( 00718 "virtualdatabase.xml.no.single.distributed.requestmanager", 00719 currentLoadBalancer.getRAIDbLevel()); 00720 logger.error(smsg); 00721 throw new SAXException(smsg); 00722 case RAIDbLevels.RAIDb1 : 00723 requestManager = new RAIDb1DistributedRequestManager( 00724 (DistributedVirtualDatabase) currentVirtualDatabase, 00725 currentRequestScheduler, currentResultCache, 00726 currentLoadBalancer, currentRecoveryLog, beginTimeout, 00727 commitTimeout, rollbackTimeout); 00728 break; 00729 case RAIDbLevels.RAIDb2 : 00730 requestManager = new RAIDb2DistributedRequestManager( 00731 (DistributedVirtualDatabase) currentVirtualDatabase, 00732 currentRequestScheduler, currentResultCache, 00733 currentLoadBalancer, currentRecoveryLog, beginTimeout, 00734 commitTimeout, rollbackTimeout); 00735 break; 00736 default : 00737 String msg = Translate.get( 00738 "virtualdatabase.xml.no.distributed.requestmanager", 00739 currentLoadBalancer.getRAIDbLevel()); 00740 logger.error(msg); 00741 throw new SAXException(msg); 00742 } 00743 } 00744 else 00745 requestManager = new RequestManager(currentVirtualDatabase, 00746 currentRequestScheduler, currentResultCache, 00747 currentLoadBalancer, currentRecoveryLog, beginTimeout, 00748 commitTimeout, rollbackTimeout); 00749 00750 if (requestManager != null) 00751 { 00752 if (currentParsingCache != null) 00753 requestManager.setParsingCache(currentParsingCache); 00754 if (currentMetadataCache != null) 00755 requestManager.setMetadataCache(currentMetadataCache); 00756 requestManager.setCaseSensitiveParsing(caseSensitiveParsing); 00757 } 00758 00759 currentVirtualDatabase.setRequestManager(requestManager); 00760 if (currentBackupManager == null) 00761 currentBackupManager = new BackupManager(); 00762 requestManager.setBackupManager(currentBackupManager); 00763 } 00764 catch (Exception e) 00765 { 00766 String msg = Translate 00767 .get("virtualdatabase.xml.requestmanager.creation.failed"); 00768 logger.error(msg, e); 00769 throw new SAXException(msg, e); 00770 } 00771 } 00772 } 00773 00774 // Database backend 00775 else if (name.equals(DatabasesXmlTags.ELT_DatabaseBackend)) 00776 { 00777 if (currentBackend != null) 00778 { 00779 try 00780 { 00781 currentVirtualDatabase.addBackend(currentBackend, false); 00782 } 00783 catch (Exception e) 00784 { 00785 String msg = Translate.get("virtualdatabase.xml.backend.add.failed"); 00786 logger.error(msg, e); 00787 throw new SAXException(msg, e); 00788 } 00789 } 00790 currentBackend = null; 00791 } 00792 00793 // Authentication manager 00794 else if (name.equals(DatabasesXmlTags.ELT_AuthenticationManager)) 00795 { 00796 if (currentVirtualDatabase != null) 00797 { 00798 currentVirtualDatabase 00799 .setAuthenticationManager(currentAuthenticationManager); 00800 } 00801 } 00802 00803 // Request cache 00804 else if (name.equals(DatabasesXmlTags.ELT_RequestCache)) 00805 { 00806 if (currentResultCache != null) 00807 { // Set default result cache rule if missing 00808 if (currentResultCache.getDefaultRule() == null) 00809 { 00810 ResultCacheRule defaultRule = null; 00811 try 00812 { 00813 defaultRule = new ResultCacheRule("", false, false, 1000); 00814 } 00815 catch (RESyntaxException impossible) 00816 { 00817 } 00818 defaultRule.setCacheBehavior(new EagerCaching(0)); 00819 currentResultCache.setDefaultRule(defaultRule); 00820 } 00821 } 00822 } 00823 else if (name.equals(DatabasesXmlTags.ELT_DefaultResultCacheRule)) 00824 { 00825 currentResultCache.setDefaultRule(currentResultCacheRule); 00826 } 00827 00828 // Database schema 00829 else if (name.equals(DatabasesXmlTags.ELT_DatabaseStaticSchema)) 00830 { 00831 if (currentDatabaseSchema != null) 00832 { 00833 if (currentBackend != null) 00834 { 00835 try 00836 { 00837 currentBackend.setDatabaseSchema(currentDatabaseSchema, true); 00838 } 00839 catch (Exception e) 00840 { 00841 logger.error(Translate 00842 .get("virtualdatabase.xml.backend.set.schema.failed"), e); 00843 } 00844 } 00845 else 00846 { 00847 try 00848 { 00849 currentVirtualDatabase.setDatabaseSchema(currentDatabaseSchema, 00850 true); 00851 } 00852 catch (Exception e) 00853 { 00854 logger.error(Translate 00855 .get("virtualdatabase.xml.virtualdatabase.set.schema.failed"), 00856 e); 00857 } 00858 } 00859 currentDatabaseSchema = null; 00860 } 00861 } 00862 00863 // Database table 00864 else if (name.equals(DatabasesXmlTags.ELT_DatabaseTable)) 00865 { 00866 if (currentTable != null) 00867 { 00868 try 00869 { 00870 ArrayList cols = currentTable.getColumns(); 00871 if (cols == null) 00872 logger.warn(Translate.get("virtualdatabase.xml.table.no.column", 00873 currentTable.getName())); 00874 else if (cols.size() != numberOfColumns) 00875 logger.warn(Translate.get( 00876 "virtualdatabase.xml.table.column.mismatch", new String[]{ 00877 String.valueOf(numberOfColumns), currentTable.getName(), 00878 String.valueOf(cols.size())})); 00879 00880 currentDatabaseSchema.addTable(currentTable); 00881 if (logger.isDebugEnabled()) 00882 logger.debug(Translate.get("virtualdatabase.xml.table.add", 00883 currentTable.getName())); 00884 } 00885 catch (Exception e) 00886 { 00887 logger 00888 .error(Translate.get("virtualdatabase.xml.table.add.failed"), e); 00889 } 00890 currentTable = null; 00891 } 00892 } 00893 00894 else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedure)) 00895 { 00896 if (currentProcedure != null) 00897 { 00898 try 00899 { 00900 00901 currentDatabaseSchema.addProcedure(currentProcedure); 00902 if (logger.isDebugEnabled()) 00903 logger.debug(Translate.get("virtualdatabase.xml.procedure.add", 00904 currentProcedure.getName())); 00905 } 00906 catch (Exception e) 00907 { 00908 logger.error(Translate 00909 .get("virtualdatabase.xml.procedure.add.failed"), e); 00910 } 00911 currentProcedure = null; 00912 } 00913 } 00914 00915 // CreateTable rule 00916 else if (name.equals(DatabasesXmlTags.ELT_CreateTable)) 00917 { 00918 if (currentCreateTablePolicy != null) 00919 { 00920 if (logger.isDebugEnabled()) 00921 logger.debug(Translate.get("virtualdatabase.xml.create.table.add", 00922 currentCreateTableRule.getInformation())); 00923 currentCreateTablePolicy.addRule(currentCreateTableRule); 00924 } 00925 } 00926 00927 // RAIDb-0 load balancer 00928 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_0)) 00929 { 00930 if (logger.isDebugEnabled()) 00931 logger.debug(Translate 00932 .get("virtualdatabase.xml.loadbalancer.raidb0.set")); 00933 00934 if (currentCreateTablePolicy.getDefaultRule() == null) 00935 { 00936 if (logger.isDebugEnabled()) 00937 logger.debug(Translate 00938 .get("virtualdatabase.xml.create.table.default")); 00939 CreateTableRule rule = new CreateTableRoundRobin(); 00940 currentCreateTablePolicy.addRule(rule); 00941 } 00942 try 00943 { 00944 currentLoadBalancer = new RAIDb0(currentVirtualDatabase, 00945 currentCreateTablePolicy); 00946 } 00947 catch (Exception e) 00948 { 00949 String msg = Translate 00950 .get("virtualdatabase.xml.loadbalancer.raidb0.failed"); 00951 logger.error(msg, e); 00952 throw new SAXException(msg, e); 00953 } 00954 } 00955 00956 // JDBC Recovery Log 00957 else if (name.equals(DatabasesXmlTags.ELT_RecoveryLog)) 00958 { 00959 if (logger.isDebugEnabled()) 00960 logger.debug(Translate 00961 .get("virtualdatabase.xml.recoverylog.cheking.tables")); 00962 { 00963 try 00964 { 00965 currentRecoveryLog.checkRecoveryLogTables(); 00966 } 00967 catch (Exception e) 00968 { 00969 String msg = Translate 00970 .get("virtualdatabase.xml.recoverylog.cheking.tables.failed"); 00971 logger.error(msg, e); 00972 throw new SAXException(msg); 00973 } 00974 // Set the last transaction id of the scheduler from the recovery logs 00975 try 00976 { 00977 currentRequestScheduler.initializeTransactionId(currentRecoveryLog 00978 .getLastTransactionId() + 1); 00979 } 00980 catch (Exception e) 00981 { 00982 String msg = Translate 00983 .get("virtualdatabase.xml.scheduler.initialization.failed"); 00984 logger.error(msg, e); 00985 throw new SAXException(msg); 00986 } 00987 } 00988 } 00989 }
|
|
Handles notification of a recoverable parser error.
Definition at line 343 of file DatabasesParser.java. References org.objectweb.cjdbc.common.xml.XmlValidator.error(). Referenced by org.objectweb.cjdbc.controller.core.Controller.addVirtualDatabase(). 00344 { 00345 logger.error(Translate.get("virtualdatabase.xml.parsing.error", 00346 new String[]{e.getPublicId(), String.valueOf(e.getLineNumber()), 00347 String.valueOf(e.getColumnNumber()), e.getMessage()})); 00348 throw e; 00349 }
|
|
Handles notification of a non-recoverable parser error.
Definition at line 328 of file DatabasesParser.java. References org.objectweb.cjdbc.common.xml.XmlValidator.error(), and org.objectweb.cjdbc.controller.xml.DatabasesParser.logger. 00329 { 00330 logger.error(Translate.get("virtualdatabase.xml.parsing.fatal", 00331 new String[]{e.getPublicId(), String.valueOf(e.getLineNumber()), 00332 String.valueOf(e.getColumnNumber()), e.getMessage()})); 00333 throw e; 00334 }
|
|
If this method is called. Only the specified DB of the Xml file will be loaded.
Definition at line 379 of file DatabasesParser.java. Referenced by org.objectweb.cjdbc.controller.xml.DatabasesParser.DatabasesParser(). 00380 { 00381 dbToPrepare = new Hashtable(3); 00382 dbToPrepare.put("virtualName", virtualName); 00383 dbToPrepare.put("autoEnable", String.valueOf(autoLoad)); 00384 dbToPrepare.put("checkPoint", checkPoint); 00385 }
|
|
Validate an XML content according to C-JDBC DTD.
Definition at line 283 of file DatabasesParser.java. References org.objectweb.cjdbc.common.xml.XmlValidator.error(), org.objectweb.cjdbc.common.xml.XmlValidator.getExceptions(), org.objectweb.cjdbc.common.xml.XmlValidator.getWarnings(), org.objectweb.cjdbc.common.xml.XmlValidator.isDtdValid, org.objectweb.cjdbc.common.xml.XmlValidator.isValid(), org.objectweb.cjdbc.common.xml.XmlValidator.isXmlValid, and org.objectweb.cjdbc.controller.xml.DatabasesParser.logger. 00285 { 00286 if (validateBeforeParsing) 00287 { 00288 XmlValidator validator = new XmlValidator(Constants.C_JDBC_DTD_FILE, xml); 00289 if (logger.isDebugEnabled()) 00290 { 00291 if (validator.isDtdValid()) 00292 logger.debug(Translate.get("virtualdatabase.xml.dtd.validated")); 00293 if (validator.isXmlValid()) 00294 logger.debug(Translate.get("virtualdatabase.xml.document.validated")); 00295 } 00296 00297 if (validator.getWarnings().size() > 0) 00298 { 00299 ArrayList warnings = validator.getWarnings(); 00300 for (int i = 0; i < warnings.size(); i++) 00301 logger.warn(Translate.get("virtualdatabase.xml.parsing.warning", 00302 warnings.get(i))); 00303 } 00304 00305 if (!validator.isDtdValid()) 00306 logger.error(Translate.get("virtualdatabase.xml.dtd.not.validated")); 00307 if (!validator.isXmlValid()) 00308 logger.error(Translate 00309 .get("virtualdatabase.xml.document.not.validated")); 00310 00311 ArrayList errors = validator.getExceptions(); 00312 for (int i = 0; i < errors.size(); i++) 00313 logger.error(((Exception) errors.get(i)).getMessage()); 00314 00315 if (!validator.isValid()) 00316 throw new SAXException(ExceptionTypes.XML_DOCUMENT_INVALID); 00317 } 00318 this.readXML(xml); 00319 }
|
|
Parses an XML content according to C-JDBC DTD.
Definition at line 268 of file DatabasesParser.java. Referenced by org.objectweb.cjdbc.controller.core.Controller.addVirtualDatabases(). 00269 { 00270 InputSource input = new InputSource(new StringReader(xml)); 00271 parser.parse(input); 00272 }
|
|
Allows to parse the document with a local copy of the DTD whatever the original
Definition at line 359 of file DatabasesParser.java. 00361 { 00362 InputStream stream = DatabasesXmlTags.class.getResourceAsStream("/" 00363 + Constants.C_JDBC_DTD_FILE); 00364 if (stream == null) 00365 throw new SAXException("Cannot find C-JDBC DTD file '" 00366 + Constants.C_JDBC_DTD_FILE + "' in classpath"); 00367 00368 return new InputSource(stream); 00369 }
|
|
Initializes parsing of a document.
Definition at line 392 of file DatabasesParser.java. 00393 { 00394 logger.info(Translate.get("virtualdatabase.xml.start")); 00395 }
|
|
Analyzes an element first line.
Definition at line 416 of file DatabasesParser.java. References org.objectweb.cjdbc.common.xml.XmlValidator.error(). 00418 { 00419 logger.debug(Translate.get("virtualdatabase.xml.parsing.start", name)); 00420 00421 // Virtual database 00422 if (name.equals(DatabasesXmlTags.ELT_VirtualDatabase)) 00423 { 00424 if (dbToPrepare == null) 00425 { 00426 // Prepare all databases 00427 newVirtualDatabase(atts); 00428 } 00429 else 00430 { 00431 // Only prepare one database 00432 String virtualName = atts.getValue(DatabasesXmlTags.ATT_name); 00433 if (virtualName.equalsIgnoreCase((String) dbToPrepare 00434 .get("virtualName"))) 00435 { 00436 // This is the database that we want to prepare 00437 skipDatabase = false; 00438 newVirtualDatabase(atts); 00439 } 00440 else 00441 { 00442 // Skip to next one 00443 skipDatabase = true; 00444 } 00445 } 00446 } 00447 // Skip to next definition of a virtualDatabase ? 00448 if (skipDatabase) 00449 return; 00450 00451 // Distribution 00452 else if (name.equals(DatabasesXmlTags.ELT_Distribution)) 00453 newDistribution(atts); 00454 else if (name.equals(DatabasesXmlTags.ELT_BackendRecoveryPolicy)) 00455 newBackendRecoveryPolicy(atts); 00456 else if (name.equals(DatabasesXmlTags.ELT_ControllerName)) 00457 newControllerName(atts); 00458 00459 // Monitoring 00460 else if (name.equals(DatabasesXmlTags.ELT_SQLMonitoring)) 00461 newSQLMonitoring(atts); 00462 else if (name.equals(DatabasesXmlTags.ELT_SQLMonitoringRule)) 00463 newSQLMonitoringRule(atts); 00464 00465 // Backup 00466 else if (name.equals(DatabasesXmlTags.ELT_Backup)) 00467 newBackupManager(atts); 00468 00469 // Database backend 00470 else if (name.equals(DatabasesXmlTags.ELT_DatabaseBackend)) 00471 newDatabaseBackend(atts); 00472 else if (name.equals(DatabasesXmlTags.ELT_RewritingRule)) 00473 newRewritingRule(atts); 00474 00475 // Authentication manager 00476 else if (name.equals(DatabasesXmlTags.ELT_AuthenticationManager)) 00477 newAuthenticationManager(atts); 00478 else if (name.equals(DatabasesXmlTags.ELT_Admin)) 00479 parsingAdminUsers = true; 00480 else if (name.equals(DatabasesXmlTags.ELT_User) && parsingAdminUsers) 00481 newAdminUser(atts); 00482 else if (name.equals(DatabasesXmlTags.ELT_VirtualLogin)) 00483 newVirtualLogin(atts); 00484 00485 // Request manager 00486 else if (name.equals(DatabasesXmlTags.ELT_RequestManager)) 00487 newRequestManager(atts); 00488 00489 // Macro Handler 00490 else if (name.equals(DatabasesXmlTags.ELT_MacroHandling)) 00491 newMacroHandler(atts); 00492 00493 // Request schedulers 00494 else if (name.equals(DatabasesXmlTags.ELT_SingleDBScheduler)) 00495 newSingleDBScheduler(atts); 00496 else if (name.equals(DatabasesXmlTags.ELT_RAIDb0Scheduler)) 00497 newRAIDb0Scheduler(atts); 00498 else if (name.equals(DatabasesXmlTags.ELT_RAIDb1Scheduler)) 00499 newRAIDb1Scheduler(atts); 00500 else if (name.equals(DatabasesXmlTags.ELT_RAIDb2Scheduler)) 00501 newRAIDb2Scheduler(atts); 00502 00503 // Request caches 00504 else if (name.equals(DatabasesXmlTags.ELT_MetadataCache)) 00505 newMetadataCache(atts); 00506 else if (name.equals(DatabasesXmlTags.ELT_ParsingCache)) 00507 newParsingCache(atts); 00508 else if (name.equals(DatabasesXmlTags.ELT_ResultCache)) 00509 newResultCache(atts); 00510 else if (name.equals(DatabasesXmlTags.ELT_DefaultResultCacheRule)) 00511 newDefaultResultCacheRule(atts); 00512 else if (name.equals(DatabasesXmlTags.ELT_ResultCacheRule)) 00513 newResultCacheRule(atts); 00514 else if (name.equals(DatabasesXmlTags.ELT_NoCaching)) 00515 currentResultCacheRule.setCacheBehavior(ResultCacheFactory 00516 .getCacheBehaviorInstance(DatabasesXmlTags.ELT_NoCaching, null)); 00517 else if (name.equals(DatabasesXmlTags.ELT_EagerCaching)) 00518 newEagerCaching(atts); 00519 else if (name.equals(DatabasesXmlTags.ELT_RelaxedCaching)) 00520 newRelaxedCaching(atts); 00521 00522 // Request load balancers 00523 else if (name.equals(DatabasesXmlTags.ELT_SingleDB)) 00524 newSingleDBRequestLoadBalancer(atts); 00525 else if (name.equals(DatabasesXmlTags.ELT_ParallelDB_RoundRobin)) 00526 newParallelDBRoundRobinLoadBalancer(atts); 00527 else if (name 00528 .equals(DatabasesXmlTags.ELT_ParallelDB_LeastPendingRequestsFirst)) 00529 newParallelDBLeastPendingRequestsFirst(atts); 00530 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_0)) 00531 newRAIDb0LoadBalancer(atts); 00532 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1)) 00533 newRAIDb1LoadBalancer(atts); 00534 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1_RoundRobin)) 00535 newRAIDb1RoundRobinLoadBalancer(atts); 00536 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1_WeightedRoundRobin)) 00537 newRAIDb1WeightedRoundRobinLoadBalancer(atts); 00538 else if (name 00539 .equals(DatabasesXmlTags.ELT_RAIDb_1_LeastPendingRequestsFirst)) 00540 newRAIDb1LeastPendingRequestsFirst(atts); 00541 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec)) 00542 newRAIDb1ecLoadBalancer(atts); 00543 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec_RoundRobin)) 00544 newRAIDb1ecRoundRobinLoadBalancer(atts); 00545 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec_WeightedRoundRobin)) 00546 newRAIDb1ecWeightedRoundRobinLoadBalancer(atts); 00547 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2)) 00548 newRAIDb2LoadBalancer(atts); 00549 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2_RoundRobin)) 00550 newRAIDb2RoundRobinLoadBalancer(atts); 00551 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2_WeightedRoundRobin)) 00552 newRAIDb2WeightedRoundRobinLoadBalancer(atts); 00553 else if (name 00554 .equals(DatabasesXmlTags.ELT_RAIDb_2_LeastPendingRequestsFirst)) 00555 newRAIDb2LeastPendingRequestsFirst(atts); 00556 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec)) 00557 newRAIDb2ecLoadBalancer(atts); 00558 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec_RoundRobin)) 00559 newRAIDb2ecRoundRobinLoadBalancer(atts); 00560 else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec_WeightedRoundRobin)) 00561 newRAIDb2ecWeightedRoundRobinLoadBalancer(atts); 00562 00563 // Policies 00564 else if (name.equals(DatabasesXmlTags.ELT_WaitForCompletion)) 00565 newWaitForCompletion(atts); 00566 else if (name.equals(DatabasesXmlTags.ELT_ErrorChecking)) 00567 newErrorChecking(atts); 00568 else if (name.equals(DatabasesXmlTags.ELT_CreateTable)) 00569 newCreateTable(atts); 00570 else if (name.equals(DatabasesXmlTags.ELT_BackendName)) 00571 newBackendName(atts); 00572 else if (name.equals(DatabasesXmlTags.ELT_BackendWeight)) 00573 newBackendWeight(atts); 00574 00575 // Recovery log 00576 else if (name.equals(DatabasesXmlTags.ELT_FileRecoveryLog)) 00577 newFileRecoveryLog(atts); 00578 else if (name.equals(DatabasesXmlTags.ELT_JDBCRecoveryLog)) 00579 newJDBCRecoveryLog(atts); 00580 else if (name.equals(DatabasesXmlTags.ELT_RecoveryLogTable)) 00581 newJDBCRecoveryLogTable(atts); 00582 else if (name.equals(DatabasesXmlTags.ELT_CheckpointTable)) 00583 newJDBCRecoveryCheckpointTable(atts); 00584 else if (name.equals(DatabasesXmlTags.ELT_BackendTable)) 00585 newJDBCRecoveryBackendTable(atts); 00586 00587 // Connection managers 00588 else if (name.equals(DatabasesXmlTags.ELT_ConnectionManager)) 00589 newConnectionManager(atts); 00590 else if (name.equals(DatabasesXmlTags.ELT_SimpleConnectionManager)) 00591 newSimpleConnectionManager(atts); 00592 else if (name.equals(DatabasesXmlTags.ELT_FailFastPoolConnectionManager)) 00593 newFailFastPoolConnectionManager(atts); 00594 else if (name.equals(DatabasesXmlTags.ELT_RandomWaitPoolConnectionManager)) 00595 newRandomWaitPoolConnectionManager(atts); 00596 else if (name.equals(DatabasesXmlTags.ELT_VariablePoolConnectionManager)) 00597 newVariablePoolConnectionManager(atts); 00598 00599 // Database schema 00600 else if (name.equals(DatabasesXmlTags.ELT_DatabaseSchema)) 00601 newDatabaseSchema(atts); 00602 else if (name.equals(DatabasesXmlTags.ELT_DatabaseStaticSchema)) 00603 { 00604 if (currentBackend.getDynamicPrecision() != DatabaseBackendSchemaConstants.DynamicPrecisionStatic) 00605 { 00606 String msg = Translate.get( 00607 "virtualdatabase.xml.schema.static.incompatible.dynamic", 00608 currentBackend.getName()); 00609 logger.error(msg); 00610 throw new SAXException(msg); 00611 } 00612 currentDatabaseSchema = new DatabaseSchema(); 00613 } 00614 00615 // Database table (inside a DatabaseSchema) 00616 else if (name.equals(DatabasesXmlTags.ELT_DatabaseTable)) 00617 newDatabaseTable(atts); 00618 00619 // Table column (inside a DatabaseSchema/DatabaseTable) 00620 else if (name.equals(DatabasesXmlTags.ELT_DatabaseColumn)) 00621 newDatabaseColumn(atts); 00622 00623 else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedure)) 00624 newDatabaseProcedure(atts); 00625 else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedureColumn)) 00626 newDatabaseProcedureColumn(atts); 00627 }
|
|
Initial value: Trace .getLogger(DatabasesParser.class .getName()) Definition at line 151 of file DatabasesParser.java. Referenced by org.objectweb.cjdbc.controller.xml.DatabasesParser.fatalError(), and org.objectweb.cjdbc.controller.xml.DatabasesParser.readXML(). |