protected void getFields ( Properties props , StorageDirectory sd ) throws IOException { String sv , st , sid , sct ; sv = props . getProperty ( LAYOUT_VERSION ) ; st = props . getProperty ( STORAGE_TYPE ) ; sid = props . getProperty ( NAMESPACE_ID ) ; sct = props . getProperty ( CHECK_TIME ) ; if ( sv == null || st == null || sid == null || sct == null ) throw new InconsistentFSStateException ( sd . root , "file " + STORAGE_FILE_VERSION + " is invalid." ) ; int rv = Integer . parseInt ( sv ) ; NodeType rt = NodeType . valueOf ( st ) ; int rid = Integer . parseInt ( sid ) ; long rct = Long . parseLong ( sct ) ; if ( ! storageType . equals ( rt ) || ! ( ( namespaceID == 0 ) || ( rid == 0 ) || namespaceID == rid ) ) throw new InconsistentFSStateException ( sd . root , "is incompatible with others. " + " namespaceID is " + namespaceID + " and rid is " + rid + "," + " storage type is " + storageType + " but rt is " + rt ) ; if ( rv < FSConstants . LAYOUT_VERSION ) // future version throw new IncorrectVersionException ( rv , "storage directory " + sd . root . getCanonicalPath ( ) ) ; layoutVersion = rv ; storageType = rt ; namespaceID = rid ; cTime = rct ; }
Get common storage fields . Should be overloaded if additional fields need to be get .