PK dsY< META-INF/PK csY Application installed as part LOI Search modules/search view.jsp Search LX provides full-text searching of all content in Blackboard. PK UsY(Ljava/util/HashMap;)VCodeLineNumberTableLocalVariableTablethis credentialshashLocalFields()Inext)Lcom/learningobjects/content/Entitlement;itrLjava/util/Iterator;hashPropagatedFieldsgetGrantsIterator()Ljava/util/Iterator;getFullListIteratordispose()VtoString()Ljava/lang/String;outLjava/lang/StringBuffer; createAcl(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;)Lcom/learningobjects/content/AccessControlList;ie.Lcom/learningobjects/content/ContentException; entitlement0Lcom/learningobjects/content/GenericEntitlement;nextCredential(Lcom/learningobjects/content/Credential;response3Lcom/learningobjects/content/decisiontree/Decision; responseClassLjava/lang/String;debugnode)Lcom/learningobjects/content/ContentNode; parentAclguard*Lcom/learningobjects/content/ContentGuard;acl actionIds[Ljava/lang/String;)[Lcom/learningobjects/content/Credential; hasPermission=(Ljava/lang/String;Lcom/learningobjects/content/Credential;)ZactionId credential SourceFileAccessControlList.java BT @Ajava/util/TreeSet 9: =: ;< Q K'com/learningobjects/content/Entitlement V Jjava/lang/StringBuffer  UV'com/learningobjects/content/GuardedNode -com/learningobjects/content/AccessControlList java/util/HashMap BC n &com/learningobjects/content/Credential ,com/learningobjects/content/ContentException  V >??@A BCDm%***Y*Y*+E & !"#$$F%G?%H<IJDD*:**L+ "+  M*Y,  `*E"*+ ,- .*/<0?2F *KL(MNDG?OJD,E6F G?PQD4 *E<F  G?RQD4 *EAF  G?STD= **EEF GF  G?UVD?YL*M, ",  N+- W+W+E"KLMN%O0P7Q:RF*%KL?G?7WX-MN YZDw E*+*M,+Y+N:,:6 -22W6-:  :: ,*+2 : : "# $ %& '(Y2): - *W +, +,-.` +,/0: (Y1Y22343 35): - *W?#-!EzYZ \]_a+b0e8fCgZf`ikjyklmotpqsuvwz}.~:=iCF;%[A\] ^_ `abc 3de . f_ yMNc[AEghEi?2jk+l?0mn8 HopqDa(Y+,)N*-6E  F*G?resa ^_tTD*YY7&EuvPK UsY()VCodeLineNumberTableLocalVariableTablethis2Lcom/learningobjects/content/ActionMustBeReadRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileActionMustBeReadRule.java 6com/learningobjects/content/AllowContentAccessQuestion !" content.read# $%0com/learningobjects/content/ActionMustBeReadRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecisionactionIdLjava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z!  /*   Y+M,   PK UsY<:luLWEB-INF/classes/com/learningobjects/content/AllowContentAccessQuestion.class1#      ! guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileAllowContentAccessQuestion.java "  6com/learningobjects/content/AllowContentAccessQuestionjava/lang/Object1com/learningobjects/content/decisiontree/Question()V!   **+*,*-* 4   PK UsY<AWEB-INF/classes/com/learningobjects/content/BaseContentNode.class1 #W XY Z[\ #] %^ $_ `a #b #c #de _ fg #h i $j kl #mn op %q or #q os tu #vw `x ty z{|}~loggerLjava/util/logging/Logger;_sc)Lcom/learningobjects/search/SearchConfig;_parent)Lcom/learningobjects/content/ContentNode; _parentPathLjava/lang/String;_acl/Lcom/learningobjects/content/AccessControlList; logWarning*(Ljava/lang/String;Ljava/lang/Throwable;)VCodeLineNumberTableLocalVariableTablemessagetLjava/lang/Throwable;()Vthis-Lcom/learningobjects/content/BaseContentNode;,(Lcom/learningobjects/content/ContentNode;)Vparent>(Lcom/learningobjects/content/ContentNode;Ljava/lang/String;)V parentPath getUidPath()Ljava/lang/String; getParentPath getTypeUidgetLastModified()Jdispose getBreadcrumbgetStructuredData()Ljava/util/HashMap; resolveAcl1()Lcom/learningobjects/content/AccessControlList;hashPropagatedFieldsgetTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String;fullPathLjava/util/Stack; isViewable()ZisIndexOnlyLOContent SourceFileBaseContentNode.java &'   8> @A 89 () *+ ,-java/lang/StringBuilder / A A  A ./? / JK L Atrue A  +com/learningobjects/content/BaseContentNodejava/lang/Object'com/learningobjects/content/ContentNodejava/util/logging/LevelWARNINGLjava/util/logging/Level;java/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V'com/learningobjects/search/SearchConfig getInstance+()Lcom/learningobjects/search/SearchConfig;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getIdtoStringgetClass()Ljava/lang/Class;java/lang/ClassgetName-com/learningobjects/content/AccessControlListNULL_ACL createAcl(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;)Lcom/learningobjects/content/AccessControlList;()Ijava/lang/StringvalueOf(I)Ljava/lang/String;getTitlegetIsIndexOnlyLOContentequals(Ljava/lang/Object;)Z&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;!#$%&'()*+,-./ 012D *+3  4 5- 678926*3 4 :;8<2D *++3  4 :; =+8>2d** *+ *, 3 !"4 :;=+?-@A2H Y * *3%4 :;BA2/* 3)4 :;CA22*3-4 :;DE2.314 :;F92= ** 356 74  :;GA2-3:4 :;HI2,3>4 :;JK2\**!***  * *3BC%E4 *:;LA25 *3I4  :;MN29*3M4:;OPQR2,3V4 :;SR27 * !3Z4  :;T92"3 UVPK UsY()VCodeLineNumberTableLocalVariableTablethis,Lcom/learningobjects/content/BaseCredential;toString()Ljava/lang/String;getUid getUidImpl compareTo(Ljava/lang/Object;)Ic(Lcom/learningobjects/content/Credential;oLjava/lang/Object;equals(Ljava/lang/Object;)Z SourceFileBaseCredential.java java/lang/StringBuilder :;< = >?:    &com/learningobjects/content/Credential@ A  *com/learningobjects/content/BaseCredentialjava/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetNameappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/String(Ljava/lang/String;)I! /* K!Y**  !F* ** *   d+*+ M*,    !"#$%&B*+ #$'(PK UsY<BWEB-INF/classes/com/learningobjects/content/ContentException.class1   (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis.Lcom/learningobjects/content/ContentException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFileContentException.java   ,com/learningobjects/content/ContentExceptionjava/lang/Exception!>*+    >*+    I*+,     PK UsY<;I9>WEB-INF/classes/com/learningobjects/content/ContentGuard.class1 NULL_CREDENTIAL_LIST)[Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; ExceptionslistNewCredentials+()[Lcom/learningobjects/content/Credential;()VCodeLineNumberTable SourceFileContentGuard.java&com/learningobjects/content/Credential (com/learningobjects/content/ContentGuardjava/lang/Objectjava/lang/ClassCastException,com/learningobjects/content/ContentException    "PK UsY(I)VCodeLineNumberTableLocalVariableTablethisstatetoInt()I()V SourceFileContentNode.java (2"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder bad state: GH GI JK (L M1com/learningobjects/content/ContentNode$DiffState ()   ! $ 'java/lang/Objectappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)V'com/learningobjects/content/ContentNode!   !"#$%&'()*u1* YY * +*+,+.0/,1-1./0*/* +>, -12*e= Y Y  Y  Y  Y +3 57$90;34  > PK UsY<6r##=WEB-INF/classes/com/learningobjects/content/ContentNode.class1A 89: ;<=>? DiffState InnerClassesUNKNOWN_LAST_MODIFIEDJ ConstantValueIMUTABLE_LAST_MODIFIEDNO_SEARCHABLE_CONTENT_READERLjava/io/Reader; READ_ACTIONLjava/lang/String;NULL_PROPAGATED_HASH@SUPPORTED_ACTIONS[Ljava/lang/String;getId()Ljava/lang/String; getParentPath getTypeUidgetLastModified()J isDirectory()Z getSummarygetTitledispose()V getBreadcrumbgetStructuredData()Ljava/util/HashMap; resolveAcl1()Lcom/learningobjects/content/AccessControlList;hashLocalFieldshashPropagatedFieldsgetTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String; getContents()Ljava/io/Reader; isViewableCodeLineNumberTable SourceFileContentNode.java java/lang/String content.read 'com/learningobjects/content/ContentNodejava/lang/Object/com/learningobjects/content/ContentTreeLocation1com/learningobjects/content/ContentNode$DiffStaten/a       !"#$%&'()*+,-./012"3&4-YS5 LX67  PK UsY<>kkLWEB-INF/classes/com/learningobjects/content/ContentNodeAdapterProvider.class1    createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode; Exceptions  SourceFileContentNodeAdapterProvider.java6com/learningobjects/content/ContentNodeAdapterProviderjava/lang/Object,com/learningobjects/content/ContentExceptionPK UsYc(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/learningobjects/content/ContentGuard;)VCodeLineNumberTableLocalVariableTablethis2Lcom/learningobjects/content/ContentNodeContainer;id folderTitle folderSummaryguardb(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Ljava/lang/String;)Vparent)Lcom/learningobjects/content/ContentNode;(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Ljava/lang/String;Lcom/learningobjects/content/ContentNodeAdapterProvider;)Vprovider(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Ljava/lang/String;Lcom/learningobjects/content/ContentNodeAdapterProvider;Lcom/learningobjects/content/ContentGuard;)VgetGuard,()Lcom/learningobjects/content/ContentGuard; setChildren(Ljava/util/List;)VchildrenaddChild,(Lcom/learningobjects/content/ContentNode;)Vnode getContents()Ljava/io/Reader; getSummary()Ljava/lang/String; getUidPathgetIdgetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;dispose()VhashLocalFields SourceFileContentNodeContainer.java ,Q '$ &$ %$ #$ () *+ ,: ,< ,Cjava/lang/StringBuilderw IH xy/ zH !"java/util/ArrayList{ |} ~6com/learningobjects/content/DefaultContentNodeIterator , PQ  R 0com/learningobjects/content/ContentNodeContainer+com/learningobjects/content/BaseContentNode'com/learningobjects/content/GuardedNode'com/learningobjects/content/ContentNodeappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/Listadd(Ljava/lang/Object;)ZNO_SEARCHABLE_CONTENT_READERLjava/io/Reader;iterator()Ljava/util/Iterator;x(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNodeAdapterProvider;)VgetLastModified()J resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;! !"#$%$&$'$()*+,-.'**+***,*-**/"  &04'12'3$'4$'5$'6+,7.a *+,-/  04 12 3$ 89 4$ 5$,:.m *+,- /  0> 12 3$ 89 4$ 5$ ;),<.E*, *+* Y , **-***/""# $-%2&8'>(D)0HE12E3$E89E4$E5$E;)E6+=>./*/,0 12?@.>*+/ 01012A"BC.^**Y*+W/4578012D9EF../<0 12GH./*/@0 12IH./*/D0 12JH./*/H0 12KH./*/L0 12LM.,/P0 12NO.@Y***/T0 12PQ.E***/XY Z[0 12RH.;**a/^0 12STPK UsY<#CWEB-INF/classes/com/learningobjects/content/ContentNodeFilter.class1   evaluate,(Lcom/learningobjects/content/ContentNode;)Z Exceptions  SourceFileContentNodeFilter.java-com/learningobjects/content/ContentNodeFilterjava/lang/Object,com/learningobjects/content/ContentExceptionPK UsY<5"'GWEB-INF/classes/com/learningobjects/content/ContentNodeIterator$1.class1 ()VCodeLineNumberTableLocalVariableTablethis InnerClasses3Lcom/learningobjects/content/ContentNodeIterator$1;hasNext()Znext+()Lcom/learningobjects/content/ContentNode;skipNext SourceFileContentNodeIterator.javaEnclosingMethod 1com/learningobjects/content/ContentNodeIterator$1java/lang/Object/com/learningobjects/content/ContentNodeIterator /*  ,  ,  +   PK UsY<rrEWEB-INF/classes/com/learningobjects/content/ContentNodeIterator.class1  EMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;hasNext()Znext+()Lcom/learningobjects/content/ContentNode; ExceptionsskipNext()VCodeLineNumberTable SourceFileContentNodeIterator.java1com/learningobjects/content/ContentNodeIterator$1 InnerClasses  /com/learningobjects/content/ContentNodeIteratorjava/lang/Object,com/learningobjects/content/ContentException      # Y  PK UsY<%bbDWEB-INF/classes/com/learningobjects/content/ContentNodeVisitor.class1  visit,(Lcom/learningobjects/content/ContentNode;)Z Exceptions leave,(Lcom/learningobjects/content/ContentNode;)V SourceFileContentNodeVisitor.java.com/learningobjects/content/ContentNodeVisitorjava/lang/Object,com/learningobjects/content/ContentException  PK UsY<ʃ=CWEB-INF/classes/com/learningobjects/content/ContentNodeWalker.class1B %& % ' () (* + ,- ,./ ,012 uidToNodeMapLjava/util/Map;4(Lcom/learningobjects/content/ContentNodeIterator;)VCodeLineNumberTableLocalVariableTablenode)Lcom/learningobjects/content/ContentNode;this/Lcom/learningobjects/content/ContentNodeWalker;nodes1Lcom/learningobjects/content/ContentNodeIterator; Exceptions3pullNode=(Ljava/lang/String;)Lcom/learningobjects/content/ContentNode;uidPathLjava/lang/String;getRemainingNodes()Ljava/util/Collection; SourceFileContentNodeWalker.java 4java/util/HashMap 5 67 89 :;< => ?@'com/learningobjects/content/ContentNode A"-com/learningobjects/content/ContentNodeWalkerjava/lang/Object,com/learningobjects/content/ContentException()V/com/learningobjects/content/ContentNodeIteratorhasNext()Znext+()Lcom/learningobjects/content/ContentNode; getUidPath()Ljava/lang/String; java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;remove&(Ljava/lang/Object;)Ljava/lang/Object;values! 4**Y++M*,,W߱    03 44B*+   !"4 *   #$PK UsY(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis5Lcom/learningobjects/content/ContentRuntimeException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFileContentRuntimeException.java   3com/learningobjects/content/ContentRuntimeExceptionjava/lang/RuntimeException!>*+    >*+    I*+,     PK UsY /? @ A /B C DE g 9F GHI GJKLMloggerLjava/util/logging/Logger;()VCodeLineNumberTableLocalVariableTablethis)Lcom/learningobjects/content/ContentUtil; cleanSummary&(Ljava/lang/String;)Ljava/lang/String;mLexerLorg/htmlparser/lexer/Lexer;parserLorg/htmlparser/Parser;visitor/Lorg/htmlparser/visitors/TextExtractingVisitor;eLjava/lang/Exception;sLjava/lang/String;encodeIdrawIddecodeId encodedIdsplitParentIdsiIcontentUidPathbufferLjava/lang/StringBuffer;splitEntitlements=(Lcom/learningobjects/content/ContentNode;)Ljava/lang/String;node)Lcom/learningobjects/content/ContentNode;valencodeEntitlementsD(Ljava/lang/StringBuffer;Lcom/learningobjects/content/ContentNode;)Vnext)Lcom/learningobjects/content/Entitlement;map/Lcom/learningobjects/content/AccessControlList;itrLjava/util/Iterator;encodeFullListEntitlementsgenerateBreadcrumb()Ljava/lang/String;N(Lcom/learningobjects/content/ContentNode;Ljava/util/Stack;)Ljava/lang/String;ignoredparentsLjava/util/Stack;pathgetNodeIdFromUidPathuidPathflatten()Ljava/util/List;merge+()Lcom/learningobjects/content/ContentNode;visit](Lcom/learningobjects/content/ContentNodeVisitor;Lcom/learningobjects/content/ContentNode;Z)V visitChildrenZ1Lcom/learningobjects/content/ContentNodeIterator;0Lcom/learningobjects/content/ContentNodeVisitor;onlyVisitChildren Exceptions(Lcom/learningobjects/content/DiffVisitor;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;ZZ)Vc comparatorLjava/util/Comparator; sourceItr targetItr nextSource nextTarget)Lcom/learningobjects/content/DiffVisitor; sourceNode targetNodeforcePropagateDirtystateN DiffState InnerClasses3Lcom/learningobjects/content/ContentNode$DiffState;toSortedChildIteratorU(Lcom/learningobjects/content/ContentNode;Ljava/util/Comparator;)Ljava/util/Iterator;listLjava/util/List; compareNodes(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;Z)Lcom/learningobjects/content/ContentNode$DiffState;sourcetargettoListC(Lcom/learningobjects/content/ContentNodeIterator;)Ljava/util/List;lsafeNext?(Ljava/util/Iterator;)Lcom/learningobjects/content/ContentNode; assertExists(Ljava/io/File;)VfileLjava/io/File; assertNotNull(Ljava/lang/Object;)VobjLjava/lang/Object; SourceFileContentUtil.java rsorg/htmlparser/lexer/Lexerorg/htmlparser/lexer/Page rO rPorg/htmlparser/Parser)org/htmlparser/util/DefaultParserFeedback rQ rR-org/htmlparser/visitors/TextExtractingVisitor ST Ujava/lang/ExceptionV WXY Z[java/lang/StringBuilderNon fatal error parsing html: \] \^ _` abc de fg/java/lang/StringBuffer hi \j klm nop qr s'com/learningobjects/content/Entitlement t uoFIXMEv we xy z{'com/learningobjects/content/ContentNode |} z ~s, NON FATAL EXCEPTION in handleAddSubtree():  ON DOC:  a pq >  fjava/lang/RuntimeExceptionnot implemented  r   s e    +com/learningobjects/content/PlaceholderNode  (com/learningobjects/content/IdComparator  r     o,com/learningobjects/content/ContentException'node can't be null in both repositories        java/util/ArrayList  r'Assertion failed. File does not exist: &assertion failed: object can't be null'com/learningobjects/content/ContentUtiljava/lang/Object1com/learningobjects/content/ContentNode$DiffState(Ljava/lang/String;)V(Lorg/htmlparser/lexer/Page;)V(I)VC(Lorg/htmlparser/lexer/Lexer;Lorg/htmlparser/util/ParserFeedback;)VvisitAllNodesWith((Lorg/htmlparser/visitors/NodeVisitor;)VgetExtractedText&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerlog.(Ljava/util/logging/Level;Ljava/lang/String;)Vjava/lang/Stringlength()I substring(II)Ljava/lang/String;charAt(I)C,(Ljava/lang/String;)Ljava/lang/StringBuffer; resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlListgetGrantsIterator()Ljava/util/Iterator;java/util/IteratorhasNext()Z()Ljava/lang/Object;getUidgetFullListIteratorjava/util/Stacksizepush&(Ljava/lang/Object;)Ljava/lang/Object; elementAt(I)Ljava/lang/Object;getTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String;pop getMessage getUidPathC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V lastIndexOf(Ljava/lang/String;)I(I)Ljava/lang/String;.com/learningobjects/content/ContentNodeVisitor,(Lcom/learningobjects/content/ContentNode;)Z isDirectorylistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;/com/learningobjects/content/ContentNodeIteratorleave,(Lcom/learningobjects/content/ContentNode;)VdisposetoInt'com/learningobjects/content/DiffVisitorvisitIdenticalNodesU(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;)VvisitDifferentLocalNodesvisitDifferentPropagateNodesU(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;)Z(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode$DiffState;)VvisitNewNodeInSourceLocationY(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/PlaceholderNode;)ZvisitNewNodeInTargetLocationY(Lcom/learningobjects/content/PlaceholderNode;Lcom/learningobjects/content/ContentNode;)ZgetId>(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;)Vjava/util/Comparatorcompare'(Ljava/lang/Object;Ljava/lang/Object;)Ijava/util/Collectionssort)(Ljava/util/List;Ljava/util/Comparator;)Vjava/util/ListiteratorNEW_NODE_IN_SOURCE_LOCNEW_NODE_IN_TARGET_LOChashPropagatedFieldsequals(Ljava/lang/Object;)ZDIFFERENT_PROPAGATEhashLocalFieldsDIFFERENT_LOCAL IDENTICALadd java/io/FileexistsgetAbsolutePath!nopqrst/*uv wxyztx*YY*LY+Y M Y N,- -K*"LY+** **@DuB (!0"5#:$>%A*D'E(a)c,m-v/v4*{|(}~0Exzt,*u7v zt,*u>v ztMY*KYL=*%*/+*W+ W+!u"JKL&M0N;OBLHSv *M1tNYL+*"+!u[a bv t<+#M,,$N-%$-&':*(W* Wٱu* gh i klm%n1o8p;rv4%<<5+tLY)L*#M,,*N-%$-&':+(W+ W+!u. u vwxz{&|1}=~DGv41L B;/t+utsYM>+,+*-W,+./+01W+2W\:Y345*67:847+2W :+2W+,d ,9Wg,!.68hk.6}uJ.368hkm}v>m8E zt^+:=++;u v wx t" ut" u t j*+?>>-+@$+A:B*CD)*+E+F:*+E+F?SSUSu:&0?CJSY`iv> &.jjj\ t +G,G+,H:6I $4Dvw*+,Jlg*+,K\> *+,L6F*+,M+F,F%*+,NO6*+N,P6*+,M+F,FQYR:+S:,S: T:  T:    $*NY U+V W T:  $* NY U,VWT:   X6  $*NY U+V W T: F *  WT:  T: & !* NY U,VWT: 4<*+,M+F,F#: *+,M+F,F ru;<ALQ\^cmrDwEFG  DEFG #-2I S"`#e$|*+,01239;DEFGDEFG Jv `i       \ t\*AYM,+Z,[uP QRv  \ tb*N+N \Y]^+N_*N`*a+abc*d+dbefu. Z[]^#_*`.aDbHcZd^fv bbb\ tc#gYhL*B+*CiW+u!v#\ tD*%*&//uv tX&*j!\YYk*l^u%v &\tA* \Ym^uv \st8u / PK UsY(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTabletokenLjava/lang/String;resultLjava/lang/StringBuffer;tokensLjava/util/StringTokenizer;exLjava/lang/Exception;thisFilter InnerClasses=Lcom/learningobjects/content/DefaultContentNodeFilter$Filter;strmerge(Ljava/lang/String;)Zf2getType()IisBroken()Ztest(Ljava/lang/String;)IcourseId SourceFileDefaultContentNodeFilter.java 5z!{ |H 4& }~=/ H K }* Ojava/util/HashSet 01 java/lang/StringBufferjava/util/StringTokenizer 5 M .*  23java/lang/Exception;com/learningobjects/content/DefaultContentNodeFilter$Filter 56  Mjava/lang/Object()Vjava/lang/String startsWith substring(I)Ljava/lang/String;endsWithlength(II)Ljava/lang/String;indexOf java/util/Setadd(Ljava/lang/Object;)Z((Ljava/lang/String;Ljava/lang/String;Z)V hasMoreTokens nextToken()Ljava/lang/String;equalsappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/util/regex/Patternquote&(Ljava/lang/String;)Ljava/lang/String;toStringcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;4com/learningobjects/content/DefaultContentNodeFiltercontainsmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matchermatches!$ %&'()&'*+&',-&'(.&'*/&',01234&567*+*+L+*+L+#++ ++ d Ln+ * Y*+WLJYMY+ N-*-:  ,W ,W,L+*+M8n    $ )/IXalw| !#%'&)9>:;?<=3>?@ABEF;GH71Y+ M,**,*+W8, -".-//19 1BE1F; (IEJK7/*869 BELM7>**8:9 BENO7H**+!)**+"#**8>,@:B9HBEHP;QRD rC PK UsY< JWEB-INF/classes/com/learningobjects/content/DefaultContentNodeFilter.class1   v u u u u uu0 u  u         u     / . - - (          @ ? > > >      ! ("#$ M J% u&' ()* + M, u-./ J012 u3 4 5 6 7 8 (9 :; :< =>?@&\A BC`DEFG rHIJKFilter InnerClassesFILENAMELjava/lang/String; ConstantValueRECHECK_INTERVALJ_fileLjava/io/File; _patternsLjava/util/List; _lastModified _lastChecked_config)Lcom/learningobjects/search/SearchConfig;DAYSMINUTESgetPatternFile()Ljava/io/File;CodeLineNumberTable()VLocalVariableTablethis6Lcom/learningobjects/content/DefaultContentNodeFilter; getPatterns()Ljava/util/List;now loadPatternsstringiLjava/util/Iterator;!allowedCourseIdPatternFromLicense allowedCourseIdPatternFromConfigstringslast=Lcom/learningobjects/content/DefaultContentNodeFilter$Filter;loadPatternStringsreaderLjava/io/BufferedReader;lineinLjava/io/InputStream;exLjava/io/IOException;filesavePatternStrings(Ljava/util/List;)VwriterLjava/io/PrintWriter;outLjava/io/OutputStream;isPatternValid(Ljava/lang/String;)Zfilterevaluate,(Lcom/learningobjects/content/ContentNode;)ZbbNode0Lcom/learningobjects/content/bb/BbCourseAdapter;courseLblackboard/data/course/Course;usageI contentNode)Lcom/learningobjects/content/ContentNode;timer Lcom/learningobjects/util/Timer; Exceptions testCourseId"(Lblackboard/data/course/Course;)ZresultcourseIdnegativeZtestCourseUsage"(Lblackboard/data/course/Course;)IdateLjava/util/Date;date1deltaLjava/lang/Exception;scanpurge fullIndex SourceFileDefaultContentNodeFilter.java java/io/FileL McoursePatterns.txt N O PQ  R ST ~ ~ UT java/util/ArrayList VWX YZ [\java/lang/StringBuilder#allowedCourseIdPatternFromLicense: ]^ _W` ab;com/learningobjects/content/DefaultContentNodeFilter$Filter=// bc de fW"allowedCourseIdPatternFromConfig: ghi jk lmjava/lang/String n ok pTq rsjava/io/BufferedReaderjava/io/InputStreamReaderjava/io/BufferedInputStream tUTF-8 u v wW xey zjava/io/IOException{ |}Error loading ]~  java/io/PrintWriterjava/io/OutputStreamWriterjava/io/BufferedOutputStream    b  Error saving k W.com/learningobjects/content/bb/BbCourseAdapter W com/learningobjects/util/Timer#DefaultContentNodeFilter.evaluate()  Rejecting course  W by id b  Not indexing course ; no recent activity Purging course  because of inactivity   T T     TCourse ! last used unknown - not indexing last used ] days ago minutes agojava/lang/Exception,com/learningobjects/content/ContentExceptionError getting course last used 4com/learningobjects/content/DefaultContentNodeFilterjava/lang/Object-com/learningobjects/content/ContentNodeFilter&com/learningobjects/util/ExtensionUtilgetMainConfigDirectory#(Ljava/io/File;Ljava/lang/String;)V'com/learningobjects/search/SearchConfig getInstance+()Lcom/learningobjects/search/SearchConfig;java/lang/SystemcurrentTimeMillis()J lastModified$getAllowedCourseIdPatternFromLicense()Ljava/lang/String;$com/learningobjects/util/StringUtils trimToNull&(Ljava/lang/String;)Ljava/lang/String;getLog()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerinfo(Ljava/lang/String;)Vjava/util/Listadd(Ljava/lang/Object;)ZgetAllowedCourseIdPatterniterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;mergeexistsgetLockTimeout#com/learningobjects/nlocks/LockedIOgetInputStream&(Ljava/io/File;J)Ljava/io/InputStream;(Ljava/io/InputStream;)V*(Ljava/io/InputStream;Ljava/lang/String;)V(Ljava/io/Reader;)VreadLineequalsjava/io/InputStreamclosejava/util/logging/LevelWARNINGLjava/util/logging/Level;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VgetTruncatingOutputStream'(Ljava/io/File;J)Ljava/io/OutputStream;(Ljava/io/OutputStream;)V+(Ljava/io/OutputStream;Ljava/lang/String;)V(Ljava/io/Writer;)Vprintlnflushjava/io/OutputStreamisBroken'com/learningobjects/content/ContentNode getTypeUidjava/lang/ClassgetName startsWith getCourse!()Lblackboard/data/course/Course;blackboard/data/course/Course getCourseIdfinesetSkipButKeep(Z)Vtest(Ljava/lang/String;)IgetType()IgetAutoFilterScangetAutoFilterPurgelookupFullRunFilegetId()Lblackboard/persist/Id;#com/learningobjects/util/CourseUtilgetLastModified-(Lblackboard/persist/Id;)Ljava/sql/Timestamp;getLastAccessedjava/util/DategetTime(J)Ljava/lang/StringBuilder;*(Ljava/lang/String;Ljava/lang/Throwable;)V!uvw z{|}~| ~~~|i~|n % Y*Q*** * AB CDE "v. @* e * ** * *JKLM%N)Q.*~*Y*L+EY+*YY+ !W*"M,EY#,*YY, !W** $N:-%:&8'(: )Y :*!WıNW XYZ3[\]g^k_`bcdefghiklH&{?{g{KH 3KYL**u*+,M-Y.Y/Y,0123N-4Y:56+!W,7 :,7!M9Y:*;,<+T[[][dg8>st uwy4{>|H}TX[dgh>4 ;{Ih { <L++=M>Y?Y@Y,A1BCN*%:&'(:-D-E,F :,F!M9YG+;,< PWWYW`c8B %-7CILPTW`cdHC{%+-# Td~ NY* L+H  { +IJKLMYNOM+JN-P:*Q/YRSTU6,V*W6f4YXSYU-Z6,VY[S\U6,V6,V:,VW^V#)2TW^fkq>#)frrd+SM>*]%:&I':,^6_>2 (0LNP_bH(70/dd_{]R) ?*`A*a7*b*6  +cd:+ce:ff:1Yg+ShU  fe7  i5Yg+Sk imlmU2Yg+Sk nmlpU  ii ii:rYst//q/q+/q^/8AY]b*,/1=\ 8A~ 1 ??7~.~"ry ux PK UsY<$]LWEB-INF/classes/com/learningobjects/content/DefaultContentNodeIterator.class1 3j 2k 2l 2mn j 2o 2p 2q 2r 2s tu tv 2wx yz {| } ~  } ( ( ( (  j  (  ~ (  3 ~ 2 ( { 0_itrLjava/util/Iterator;_next)Lcom/learningobjects/content/ContentNode;_parent _provider8Lcom/learningobjects/content/ContentNodeAdapterProvider; _exceptionsLjava/util/List;_contentNodeFilter/Lcom/learningobjects/content/ContentNodeFilter;(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNodeAdapterProvider;Lcom/learningobjects/content/ContentNodeFilter;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/DefaultContentNodeIterator;itrparentprovidercontentNodeFilterx(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNodeAdapterProvider;)V@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V()VinitfillNexte.Lcom/learningobjects/content/ContentException;Ljava/lang/Exception;nextObjLjava/lang/Object;nextgetExceptionList()Ljava/util/List;hasNext()Z peekUidPath()Ljava/lang/String;peekLastModified()J getParentNode+()Lcom/learningobjects/content/ContentNode;peekHashLocalFieldspeekHashPropagatedFields contentNode Exceptions toContentNode=(Ljava/lang/Object;)Lcom/learningobjects/content/ContentNode;objskipNext SourceFileDefaultContentNodeIterator.java @M 78 >? NAjava/util/ArrayList <= 56 98 :; OM XY U de,com/learningobjects/content/ContentException  [  java/lang/Exception [ ] [ [ java/lang/StringBuilder Skipping: [ [ [.com/learningobjects/content/bb/BbCourseAdapter [ Indexing Course: 'com/learningobjects/content/ContentNode%Error, no adapter defined for class:  U_ M 3com/learningobjects/content/ContentRuntimeException @6com/learningobjects/content/DefaultContentNodeIteratorjava/lang/Object/com/learningobjects/content/ContentNodeIteratorjava/util/Iterator()Ljava/lang/Object;&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level; getMessagejava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/util/Listadd(Ljava/lang/Object;)Z getUidPathgetLastModifiedhashLocalFieldshashPropagatedFields-com/learningobjects/content/ContentNodeFilterevaluate,(Lcom/learningobjects/content/ContentNode;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getTitletoStringinfo(Ljava/lang/String;)V getTypeUidjava/lang/ClassgetNamejava/lang/String startsWith(Ljava/lang/String;)ZgetClass()Ljava/lang/Class;severe6com/learningobjects/content/ContentNodeAdapterProvider createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;disposeSEVERE(Ljava/lang/Throwable;)V!234567898:;<=>?@ABz****+,-C D4EFG6H8I;J?@KBo****+,-C D*EFG6H8I;@LBe****+,C D EFG6H8@MBE***C  D EFNAB%*Y*+*, *- ** C# $%&' ($)D4%EF%G6%H8%I;%J?NLBK *+,C ,-D  EF G6 H8OMBeL* T+P* M*,L:N--*-WN--*-W*+"%"BC>0124";%5&647?;B8C9Q:\<_=d>D4&PQCPR@STeEFcU8VWB/*CBD EFXYB7 *CFD  EFZ[B4 *CJD  EF\]B4 *CND  EF^_B/* CRD EF`[B4 *CVD  EFa[B4 *CZD  EFU_Bo*L* *0*+#Y+ !"+#$%&!Y'+ !"+C"cd eg;h=kOlmnDoEFjb8cdeBA* .+("Y)+*%!++(* +* ,Cwxy-{2}DAEFAfTcgMB+*-L+ +.L/++0Y+1C" !*D  U8PR+EFhiPK UsY()VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/content/DenyIfDeniedInParentAclRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFile DenyIfDeniedInParentAclRule.java 6com/learningobjects/content/AllowContentAccessQuestion #$ %& '() *+7com/learningobjects/content/DenyIfDeniedInParentAclRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential;-com/learningobjects/content/AccessControlList hasPermission=(Ljava/lang/String;Lcom/learningobjects/content/Credential;)Z!   /*   _+M,,,    PK UsY()VCodeLineNumberTableLocalVariableTablethis InnerClasses/Lcom/learningobjects/content/FileContentNode$1; Exceptions( createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;objLjava/lang/Object; parentNode)Lcom/learningobjects/content/ContentNode;fileNameLjava/lang/String;parent-Lcom/learningobjects/content/FileContentNode; SourceFileFileContentNode.javaEnclosingMethod )*  java/lang/String+com/learningobjects/content/FileContentNode +,-com/learningobjects/content/FileContentNode$1java/lang/Object6com/learningobjects/content/ContentNodeAdapterProvider,com/learningobjects/content/ContentExceptioncreateAdapterProvider:()Lcom/learningobjects/content/ContentNodeAdapterProvider; loadChildById=(Ljava/lang/String;)Lcom/learningobjects/content/ContentNode;   /* e   l+N,:- fg h 4     PK UsY ?@ A B ?C D E FG HIJ ` K) L MNO `PQ RS K+ T U VWX `Y Z [\ t^_fileLjava/io/File;_fileNameFilterLjava/io/FilenameFilter;_parser/Lcom/learningobjects/search/crawler/FileParser; _propsLocalLjava/util/HashMap;_propsToPropagate_initedZ_idLjava/lang/String;_typeUidgetPropsToPropagate()Ljava/util/HashMap;CodeLineNumberTableLocalVariableTablethis-Lcom/learningobjects/content/FileContentNode;:(Ljava/io/File;Lcom/learningobjects/content/ContentNode;)Vfnfileparent)Lcom/learningobjects/content/ContentNode; ExceptionsL(Ljava/io/File;Ljava/lang/String;Lcom/learningobjects/content/ContentNode;)V parentDirfileNameinitFileParser()VsetFileNameFilter(Ljava/io/FilenameFilter;)VfileNameFiltergetLastModified()J getContents()Ljava/io/Reader;tLjava/lang/Throwable; logException(Ljava/lang/Throwable;)VgetDefaultReaderbodyLjava/lang/StringBuffer; getSummary()Ljava/lang/String;eLjava/io/IOException;getId getTypeUidgetTitletitleval isDirectory()ZdisposelistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;names[Ljava/lang/String;lLjava/util/List;getStructuredDataretsetStructuredData((Ljava/lang/String;Ljava/lang/Object;Z)VkeyLjava/lang/Object;passOnToChildren(Ljava/util/HashMap;Z)VmaphashLocalFieldshashPropagatedFieldshashFile"(Ljava/io/File;)Ljava/lang/String;hashJfdeleteChildById(Ljava/lang/String;)Vidchilddeleted updateChild,(Lcom/learningobjects/content/ContentNode;)VaddChildT(Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;Ljava/lang/ClassCastException;Ljava/io/FileNotFoundException; sourceFile sourceNodesourcenewChild loadChildById=(Ljava/lang/String;)Lcom/learningobjects/content/ContentNode;hasChild(Ljava/lang/String;)Z getNativeType()Ljava/lang/Object; getParentNode+()Lcom/learningobjects/content/ContentNode;createAdapterProvider:()Lcom/learningobjects/content/ContentNodeAdapterProvider; isViewable SourceFileFileContentNode.java ~ _java/util/HashMap ` ab wx+com/learningobjects/content/FileContentNode  java/io/File c java/lang/IllegalStateException!FileContentNode has been disposed d ef {| yz g h ijava/lang/Throwable j klm nojava/lang/StringBuilder 0Encountered non-fatal error while parsing file: pq r st uvjava/lang/StringBuffer w pxjava/io/StringReader3com/learningobjects/content/ContentRuntimeExceptionno file parser java/io/IOException yerror z{attach| }~ /  :  title from parser:  using id for title id: }~    6com/learningobjects/content/DefaultContentNodeIterator               ,com/learningobjects/content/ContentExceptionunable to delete file:  java/lang/ClassCastException7This node only accepts children of type FileContentNode 1Can't add child to a node that is not a directory !Child by same name already exists   java/io/FileNotFoundException  -com/learningobjects/content/FileContentNode$1 InnerClasses+com/learningobjects/content/BaseContentNodeclone!com/learningobjects/util/BbFsUtilfindBbEncodedFile(Ljava/io/File;)Ljava/io/File;#(Ljava/io/File;Ljava/lang/String;)V4com/learningobjects/search/crawler/FileParserFactoryinstantiateFileParser?(Ljava/io/File;)Lcom/learningobjects/search/crawler/FileParser; lastModified-com/learningobjects/search/crawler/FileParsergetContentParser&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getAbsolutePathtoStringjava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VgetName,(Ljava/lang/String;)Ljava/lang/StringBuffer; getMessage bbFsDecode&(Ljava/lang/String;)Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z getParentFile()Ljava/io/File;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/Class getMimeTypes()[Ljava/lang/String;finetrimlist-(Ljava/io/FilenameFilter;)[Ljava/lang/String;java/util/Arrayssort([Ljava/lang/Object;)VasList%([Ljava/lang/Object;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;x(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNodeAdapterProvider;)V/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;(Ljava/util/Map;)VputAllput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()IvalueOf(I)Ljava/lang/String;hashCodelength(J)Ljava/lang/String;'com/learningobjects/content/ContentUtil assertExists(Ljava/io/File;)Vdelete'com/learningobjects/content/ContentNode*(Ljava/lang/String;Ljava/lang/Throwable;)Vmkdir!com/learningobjects/util/FileUtilcopyFile.(Ljava/io/File;Ljava/io/File;ZZ)Ljava/io/File;exists_parent!vwxyz{|}~~@* * (*,**+,,N*-  $ %()*',* ((x(`[* Y+, -  /0*x`\"* Y***3467!8 ">*+ ;<z2*? {'****L*+*CF JLMN"Q'\$Y* !+" U#V$$\ #Y$L+*%&W'Y+()\`a 8*** *Y+,*-L+/+"0%&."fi jko&p'q5r'8d*1[* Y**%21*1340*Y*5%6*%!21*1yz{}&~2_ dS*7J*** *Y+,*Y*89:*;2!7*7#N S**L* *<MY=,!>,,?@4,A>*BLYC+!>,LM,/,"0L+2 vy.> ";KSXtvyz*"Tz 2*D @**E**(*FL+/+"***G".2  "#16;?#@C*H;* *I**JL+K+LMMY,N*OPQ$(-? $-Cz.*E***EY*ERL+*S+ $,$ ~.N)** YT**+,UW&**E YT*EE*E+,UW*CM*NNNNO+'** YT**+S$**E YT*EE*E+S" "-FN OO~OGY*V*WXY!L*EY+*EZY!L+")EG"%p0*W[YL*Y+*ZY!L+ . 0 %a*D*%*@*\a@]  x9 Y*+ M,^,_>!`YYa, !b! "#$%8'*99 ,x#`M*+cd*+eW, -.`f+MN`Yg-h*H `Yib*+cj `Ykb Y*+c N+l -mW0,n :-oW:`Yq:`YqY-* fhqtphq.N697 8:;%=2><@NAWB_DhFqKtGvHIJMR v  h$xNHx`Y Y*+ MY,*  Q R  x`T Y*+ M,r V W  x/*\ /*s`   tYud= *Hno q  ] tPK UsY ; ?@ AB CD ; E FG HI @ CJ @ KL MNOP_targetActionIdLjava/lang/String;_requiredCredential(Lcom/learningobjects/content/Credential;=(Ljava/lang/String;Lcom/learningobjects/content/Credential;)VCodeLineNumberTableLocalVariableTablethis0Lcom/learningobjects/content/GenericEntitlement;targetActionIdrequiredCredentialgetUid()Ljava/lang/String;bufferLjava/lang/StringBuffer;getTargetActionIdgetRequiredCredential*()Lcom/learningobjects/content/Credential;writeEntitlementU(Ljava/lang/StringBuffer;Ljava/lang/String;Lcom/learningobjects/content/Credential;)VouttoString compareTo(Ljava/lang/Object;)Ic)Lcom/learningobjects/content/Entitlement;oLjava/lang/Object;equals(Ljava/lang/Object;)Z SourceFileGenericEntitlement.java Q  java/lang/StringBufferR &' ST- 0'java/lang/StringBuilder UVW X' SY:'com/learningobjects/content/EntitlementZ 1[ 12.com/learningobjects/content/GenericEntitlementjava/lang/Objectjava/lang/Comparable()V&com/learningobjects/content/Credentialappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;getClass()Ljava/lang/Class;java/lang/ClassgetName-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/lang/String(Ljava/lang/String;)I!Y**+*,    ! "#$%&'o+YL+*W+W+*W+  &!+"##()*'/* ! "#+,/* ! "#-.c*,W*W*+W " #$%! /)$%0'K! Y * * (! !"#12d+*+M*, ,-/ 0!  34"#5678B*+ 5!"#569:PK UsY<}=WEB-INF/classes/com/learningobjects/content/GuardedNode.class1   getGuard,()Lcom/learningobjects/content/ContentGuard; SourceFileGuardedNode.java'com/learningobjects/content/GuardedNodejava/lang/Object'com/learningobjects/content/ContentNodePK UsY<>WEB-INF/classes/com/learningobjects/content/IdComparator.class14 !"# $ %& ' %( %)*+()VCodeLineNumberTableLocalVariableTablethis*Lcom/learningobjects/content/IdComparator;equals(Ljava/lang/Object;)ZobjLjava/lang/Object;compare'(Ljava/lang/Object;Ljava/lang/Object;)Io1o2c1)Lcom/learningobjects/content/ContentNode;c2 SourceFileIdComparator.java (com/learningobjects/content/IdComparator'com/learningobjects/content/ContentNode ,-.  /0 1- 23java/lang/Objectjava/util/ComparatorgetId()Ljava/lang/String;java/lang/String isDirectory()Z toLowerCase compareTo(Ljava/lang/String;)I!   3*    9+c+N,:----  &   36IL4ccc^ X PK UsY<,KWEB-INF/classes/com/learningobjects/content/JoinedContentNodeIterator.class1@ * + , - . / 0 12 3 456 7 089first1Lcom/learningobjects/content/ContentNodeIterator;secondnextNode)Lcom/learningobjects/content/ContentNode;e(Lcom/learningobjects/content/ContentNodeIterator;Lcom/learningobjects/content/ContentNodeIterator;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/JoinedContentNodeIterator; Exceptions:hasNext()Znext+()Lcom/learningobjects/content/ContentNode;skipNext()V defaultIfNulld(Lcom/learningobjects/content/ContentNodeIterator;)Lcom/learningobjects/content/ContentNodeIterator;iterfillNext SourceFileJoinedContentNodeIterator.java # $%   '#  !; <# => $?/com/learningobjects/content/ContentNodeIterator 5com/learningobjects/content/JoinedContentNodeIteratorjava/lang/Object,com/learningobjects/content/ContentException'com/learningobjects/content/ContentNodedisposeEMPTY_CHILD_ITERATOR$com/learningobjects/util/ObjectUtils8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;! i***+**,*    7 *   !G *L*+   "#8 *    $%? +   &'#|>* ** $* ** *# $%(&8(=* >()PK UsY<=JWEB-INF/classes/com/learningobjects/content/NodeMembershipCredential.class1    getNodeUidPath()Ljava/lang/String; getRoleId SourceFileNodeMembershipCredential.java4com/learningobjects/content/NodeMembershipCredentialjava/lang/Object&com/learningobjects/content/CredentialPK UsY ? @ ;A A BC DE FG_idLjava/lang/String; _replacement)Lcom/learningobjects/content/ContentNode;>(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis-Lcom/learningobjects/content/PlaceholderNode;idparent getContents()Ljava/io/Reader; getSummary()Ljava/lang/String;getIdgetTitle isDirectory()Zdispose()VlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator; getBreadcrumbgetStructuredData()Ljava/util/HashMap;getTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String;fullPathLjava/util/Stack;hashLocalFieldshashPropagatedFieldssetReplacement,(Lcom/learningobjects/content/ContentNode;)V replacementgetReplacement+()Lcom/learningobjects/content/ContentNode;getParentReplacement SourceFilePlaceholderNode.java 2 H IJ3com/learningobjects/content/ContentRuntimeException+operation not supported on placeholder node K  $%L MN O+com/learningobjects/content/PlaceholderNode 45+com/learningobjects/content/BaseContentNode'com/learningobjects/content/ContentNodeNO_SEARCHABLE_CONTENT_READERLjava/io/Reader;(Ljava/lang/String;)V/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;_parent! Q *,*+     . 4 Y   /* !4 Y  "#4 Y#  $%T** ** '( )+, &'. / (4 Y3  )*4 Y7  +,> Y;  -./4 Y?  04 YD  12>*+ IJ345/*M 65L* * * Q RT 78PK UsY<9zV LWEB-INF/classes/com/learningobjects/content/backpack/BackpackContainer.class1 #I "JK "LM "N OP QR "STU VWX Y Z[ \] ^ _`ab cd e fg h "ij _k l mnoppm)Lblackboard/persist/BbPersistenceManager;U(Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/backpack/BackpackContainer;parent)Lcom/learningobjects/content/ContentNode;getId()Ljava/lang/String; isDirectory()Z getSummarygetTitlehashLocalFields getContents()Ljava/io/Reader;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;node3Lcom/learningobjects/content/backpack/BackpackNode;e.Lcom/learningobjects/content/ContentException;iI backpackNodesLjava/util/List; configDirLjava/io/File; backpackDir backpacks[Ljava/io/File; SourceFileBackpackContainer.java &q $%backpack 40 Backpacks rst 5uv wx yzlobjexpo{ |} java/io/File &~ java/util/ArrayList &1com/learningobjects/content/backpack/BackpackNode & ,com/learningobjects/content/ContentExceptionjava/lang/StringBuilder &/Exception caught while trying to load Backpack  ; skipping 0 6com/learningobjects/content/DefaultContentNodeIterator & 6com/learningobjects/content/backpack/BackpackContainer+com/learningobjects/content/BaseContentNode,(Lcom/learningobjects/content/ContentNode;)V resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(I)Ljava/lang/String;NO_SEARCHABLE_CONTENT_READERLjava/io/Reader;&com/learningobjects/util/ExtensionUtilgetMainConfigDirectory4(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;#(Ljava/io/File;Ljava/lang/String;)V listFiles()[Ljava/io/File;(I)Vc(Lblackboard/persist/BbPersistenceManager;Ljava/io/File;Lcom/learningobjects/content/ContentNode;)Vjava/util/Listadd(Ljava/lang/Object;)Z()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString logWarning*(Ljava/lang/String;Ljava/lang/Throwable;)Viterator()Ljava/util/Iterator;@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;!"#$%&'(Q *,*+) *  +, $% -./0(-)* +,12(,)* +,30(/*)!* +,40(-)%* +,50(5 *))*  +,67(. )-* +,89(8  L Y+M,N-oY-:6-JY*-2*:W%:Y-2Y* !1MP):12345'618C9M<P:R;r6x>@*RC :;R <=*N>?'a@A+,BCyDCtEFGHPK UsY()VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/backpack/BackpackContentItemNode;disposegetStructuredData()Ljava/util/HashMap;dataLjava/util/HashMap; SourceFileBackpackContentItemNode.java   java/util/HashMap %&%SWEB-INF/classes/com/learningobjects/content/backpack/BackpackJournalEntryNode.class1T , -. /0 1 23 4 56 57 58 9 : ;< => 5?@Aparser>Lcom/learningobjects/search/crawler/parsers/JournalPageParser;()VCodeLineNumberTableLocalVariableTablethis?Lcom/learningobjects/content/backpack/BackpackJournalEntryNode; isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;getStructuredData()Ljava/util/HashMap;dataLjava/util/HashMap;getId()Ljava/lang/String; getSummarygetTitlehashLocalFields getContents()Ljava/io/Reader; SourceFileBackpackJournalEntryNode.java B CD  pageName #$E FG H I$ %$ &$ JK LMN 'OP QR S)=com/learningobjects/content/backpack/BackpackJournalEntryNode()VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/content/backpack/BackpackJournalNode;getId()Ljava/lang/String; getSummarygetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;childrenLjava/util/List;hashLocalFields getContents()Ljava/io/Reader; SourceFileBackpackJournalNode.java > ?@java/util/ArrayList6com/learningobjects/content/DefaultContentNodeIteratorA BC D E FG  HIJ $G KLjava/io/StringReader M8com/learningobjects/content/backpack/BackpackJournalNode6(Lcom/learningobjects/content/backpack/BackpackNode;)VCodeLineNumberTableLocalVariableTablethis InnerClasses5Lcom/learningobjects/content/backpack/BackpackNode$1;listNewCredentials+()[Lcom/learningobjects/content/Credential;c(Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credentialquestion3Lcom/learningobjects/content/decisiontree/Question; SourceFileBackpackNode.javaEnclosingMethod> ?@  A/com/learningobjects/content/bb/BbUserCredential BCD EF G&com/learningobjects/content/Credential6com/learningobjects/content/AllowContentAccessQuestion H IJK LM3com/learningobjects/content/backpack/BackpackNode$1java/lang/Object(com/learningobjects/content/ContentGuard1com/learningobjects/content/backpack/BackpackNodegetGuard,()Lcom/learningobjects/content/ContentGuard;()V access$000P(Lcom/learningobjects/content/backpack/BackpackNode;)Lblackboard/data/user/User;blackboard/data/user/User getUserName()Ljava/lang/String;(Ljava/lang/String;)V(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)V access$100k(Lcom/learningobjects/content/backpack/BackpackNode;)Lcom/learningobjects/content/decisiontree/ChainedRule;4com/learningobjects/content/decisiontree/ChainedRuleperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision; 4 *+*w  SY*LY+S st {Y+,- :*   xy> !"#$%& '()*+,-  PK UsY<,22GWEB-INF/classes/com/learningobjects/content/backpack/BackpackNode.class1 0i 0j 1k 0l mn 0op q rst uv wx qyz{ q| } ~   0  u u 1 q 0  (w *  .backpackFolderLjava/io/File; backpackUserLblackboard/data/user/User;letterLjava/lang/String; decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;c(Lblackboard/persist/BbPersistenceManager;Ljava/io/File;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablee)Lblackboard/persist/PersistenceException;this3Lcom/learningobjects/content/backpack/BackpackNode;pm)Lblackboard/persist/BbPersistenceManager;parent)Lcom/learningobjects/content/ContentNode; ExceptionsgetId()Ljava/lang/String; isDirectory()Z getSummarygetTitlelistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;dispose()VgetStructuredData()Ljava/util/HashMap;dataLjava/util/HashMap;hashLocalFields getContents()Ljava/io/Reader;getGuard,()Lcom/learningobjects/content/ContentGuard; getUserNameloadUserX(Lblackboard/persist/BbPersistenceManager;Ljava/lang/String;)Lblackboard/data/user/User;userNameloader&Lblackboard/persist/user/UserDbLoader; access$000P(Lcom/learningobjects/content/backpack/BackpackNode;)Lblackboard/data/user/User;x0 access$100k(Lcom/learningobjects/content/backpack/BackpackNode;)Lcom/learningobjects/content/decisiontree/ChainedRule; SourceFileBackpackNode.java 9: 56 ; 34 J ]^3com/learningobjects/content/bb/auth/AllowAdminsRule ;R 8com/learningobjects/content/backpack/auth/AllowOwnerRule \J ;6com/learningobjects/content/decisiontree/DefaultToDeny'blackboard/persist/PersistenceException,com/learningobjects/content/ContentExceptionjava/lang/StringBuilder"Unable to load user for backpack: J ; 78  Backpack: J J QRjava/util/HashMapbackpack_owner   W java/io/StringReader3com/learningobjects/content/backpack/BackpackNode$1 InnerClasses ; UserDbLoader $blackboard/persist/user/UserDbLoader 1com/learningobjects/content/backpack/BackpackNode+com/learningobjects/content/BaseContentNode'com/learningobjects/content/GuardedNode,(Lcom/learningobjects/content/ContentNode;)V java/io/FilegetName4com/learningobjects/content/decisiontree/ChainedRuleappendg(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/ChainedRule;blackboard/data/user/User(Ljava/lang/String;)V-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString*(Ljava/lang/String;Ljava/lang/Throwable;)V'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String; getGivenName getFamilyName'com/learningobjects/util/ExceptionUtils unimplemented()Ljava/lang/RuntimeException;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/StringhashCode()I resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlListvalueOf(I)Ljava/lang/String;6(Lcom/learningobjects/content/backpack/BackpackNode;)V'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader;loadByUserName/(Ljava/lang/String;)Lblackboard/data/user/User;!0123456789:;<=n*-*,**+,*Y W* Y* W* Y W":YY, KN>* () -0&1<2K9N7P8m:?4P@AnBCnDEn34nFGHIJ=2*>=? BCKL=,>A? BCMJ=2*>E? BCNJ=S)Y**>I? )BCOP=.>X? BCQR=N****>\] ^_`? BCST=T Y!L+"* #W+>cde?BCUVWJ==*$*%&`'>i? BCXY=6 (Y*)>m?  BCZ[=3 *Y*+>q?  BC\J=2* >? BC]^=^+,-.N-,/>  ?*BCDE_8 `aHbc=/*>!? dCef=/*>!? dCgh *PK UsY<ׅIKWEB-INF/classes/com/learningobjects/content/backpack/BackpackWikiNode.class1N ) *+, )- ./ 0 1 23 4 5 67 289: ;<=()VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/backpack/BackpackWikiNode;getId()Ljava/lang/String; getSummarygetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;childrenLjava/util/List;hashLocalFields getContents()Ljava/io/Reader; SourceFileBackpackWikiNode.java > ?@java/util/ArrayList6com/learningobjects/content/DefaultContentNodeIteratorA BC D E FG  HIJ $G KLjava/io/StringReader M5com/learningobjects/content/backpack/BackpackWikiNode 5?@Aparser()VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/content/backpack/BackpackWikiPageNode; isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;getStructuredData()Ljava/util/HashMap;dataLjava/util/HashMap;getId()Ljava/lang/String; getSummarygetTitlehashLocalFields getContents()Ljava/io/Reader; SourceFileBackpackWikiPageNode.java B CD  pageName #$E FG H I$ %$ &$ JK LMN 'OP QR S)9com/learningobjects/content/backpack/BackpackWikiPageNode(Z)VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/content/backpack/auth/AllowIfPublicRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question; SourceFileAllowIfPublicRule.java  ;com/learningobjects/content/backpack/auth/AllowIfPublicRule4com/learningobjects/content/decisiontree/ChainedRule(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/content/backpack/auth/AllowOwnerRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zc1Lcom/learningobjects/content/bb/BbUserCredential;question3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileAllowOwnerRule.java ) 6com/learningobjects/content/AllowContentAccessQuestion *+/com/learningobjects/content/bb/BbUserCredential ,-. /08com/learningobjects/content/backpack/auth/AllowOwnerRule4com/learningobjects/content/decisiontree/ChainedRule((Lblackboard/platform/context/Context;)VCodeLineNumberTableLocalVariableTablethis2Lcom/learningobjects/content/bb/BaseBbDataSession; Exceptions getContent5(Ljava/lang/String;)Lblackboard/data/content/Content; contentIdLjava/lang/String;:(Lblackboard/persist/Id;)Lblackboard/data/content/Content;Lblackboard/persist/Id;content!Lblackboard/data/content/Content; getCourse3(Ljava/lang/String;)Lblackboard/data/course/Course;courseId8(Lblackboard/persist/Id;)Lblackboard/data/course/Course;keyLjava/lang/Object;courseLblackboard/data/course/Course;getCourseMembershipY(Lblackboard/persist/Id;Lblackboard/persist/Id;)Lblackboard/data/course/CourseMembership;userIdLcom/learningobjects/util/Pair; membership)Lblackboard/data/course/CourseMembership;getCurrentUser)()Lcom/learningobjects/content/bb/BbUser;getContentDirectory4(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;parentContentIdfss2Lblackboard/platform/filesystem/FileSystemService; toCourseId+(Ljava/lang/String;)Lblackboard/persist/Id; toContentIdwrap"(Ljava/util/List;)Ljava/util/List; bbContentiterLjava/util/Iterator; contentItemsLjava/util/List;wrappedM(Lblackboard/data/content/Content;)Lcom/learningobjects/content/bb/BbContent; SourceFileBaseBbDataSession.java Hjava/util/HashMap CD EF GF 9:  ;<ContentDbLoader *blackboard/persist/content/ContentDbLoader =>CourseDbLoader(blackboard/persist/course/CourseDbLoader ?@CourseMembershipDbLoader2blackboard/persist/course/CourseMembershipDbLoader AB rq QU blackboard/data/content/Content U pq Y]blackboard/data/course/Course ]com/learningobjects/util/Pair H'blackboard/data/course/CourseMembership c)com/learningobjects/content/bb/BaseBbUser H0blackboard/platform/filesystem/FileSystemService j java/util/ArrayList H  s{ 0com/learningobjects/content/bb/BaseBbDataSessionjava/lang/Object,com/learningobjects/content/bb/BbDataSession'blackboard/persist/PersistenceException'blackboard/persist/KeyNotFoundException2blackboard/platform/filesystem/FileSystemException()V$blackboard/platform/BbServiceManagergetPersistenceService6()Lblackboard/platform/persistence/PersistenceService;2blackboard/platform/persistence/PersistenceServicegetDbPersistenceManager+()Lblackboard/persist/BbPersistenceManager;'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader; java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;loadByIdput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;'(Ljava/lang/Object;Ljava/lang/Object;)VloadByCourseAndUserId#blackboard/platform/context/ContextgetUser()Lblackboard/data/user/User;(Lblackboard/data/user/User;)VsafeLookupService<(Ljava/lang/Class;)Lblackboard/platform/CorePlatformService;9(Ljava/lang/String;Lblackboard/persist/Id;)Ljava/io/File; DATA_TYPELblackboard/persist/DataType; generateIdH(Lblackboard/persist/DataType;Ljava/lang/String;)Lblackboard/persist/Id;java/util/Listsize()I(I)Viterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;add(Ljava/lang/Object;)Z!6789:;<=>?@ABCDEFGF HIJg**Y*Y*Y*+*  **  **  **  K* 0,-.%1*263F4V5f6LgMNg9:OPQRJ> **+K9L MN STOPQUJy+*+M,*+M*+,W,K=>?@)BL +MN+SVWXOPYZJ> **+KFL MN [TO\PY]J)+M*,N-*+N*,- W-KJKLMN'PL*)MN)[V'^_`aO\PbcJ7!Y+,"N*-#:*,+$:*- WKT UVW)X4ZL47MN7dV7[V -^e fgO\PhiJ;%Y*&'K^L MNjkJc()(N-+*,*K b cL*MN[TlT mnOoPpqJ@ * ++,KgL MN [TOPrqJ@ * -+,KkL MN STOPstJ;.Y+/0M+1N-2-3:,*45W,Kopq)r6s9tL4) uX$vw;MN;xy-zys{|}PK UsY<0?WEB-INF/classes/com/learningobjects/content/bb/BaseBbUser.class1/      !"#$%userLblackboard/data/user/User;(Lblackboard/data/user/User;)VCodeLineNumberTableLocalVariableTablethis+Lcom/learningobjects/content/bb/BaseBbUser;getId()Lblackboard/persist/Id; getUserName()Ljava/lang/String;isAdministrator()Z SourceFileBaseBbUser.java & '   (+, -.)com/learningobjects/content/bb/BaseBbUserjava/lang/Object%com/learningobjects/content/bb/BbUser()Vblackboard/data/user/User getSystemRole SystemRole InnerClasses(()Lblackboard/data/user/User$SystemRole;$blackboard/data/user/User$SystemRole SYSTEM_ADMIN&Lblackboard/data/user/User$SystemRole;!   F **+    2* 2* =* * !)PK UsY$(Lblackboard/data/content/Content;)VCodeLineNumberTableLocalVariableTablethis,Lcom/learningobjects/content/bb/Bb62Content;isStudentViewAvailable()ZnowLjava/util/Calendar; startDateendDatewithinStartDateZ withinEndDate SourceFileBb62Content.java - . /01 20 30 45 65 7*com/learningobjects/content/bb/Bb62Contentjava/lang/Object(com/learningobjects/content/bb/BbContent()Vjava/util/Calendar getInstance()Ljava/util/Calendar;blackboard/data/content/Content getStartDate getEndDatebefore(Ljava/lang/Object;)ZaftergetIsAvailable   F **+    TL*M*N, ,+6- -+6*  ':>TP H@'-:PK UsY<*QrSDWEB-INF/classes/com/learningobjects/content/bb/Bb62DataSession.class15 ! " # $% &' ()*((Lblackboard/platform/context/Context;)VCodeLineNumberTableLocalVariableTablethis0Lcom/learningobjects/content/bb/Bb62DataSession;context%Lblackboard/platform/context/Context; Exceptions+getContentPath;(Ljava/lang/String;Lblackboard/persist/Id;)Ljava/util/List; contentIdLjava/lang/String;userIdLblackboard/persist/Id;wrapM(Lblackboard/data/content/Content;)Lcom/learningobjects/content/bb/BbContent; bbContent!Lblackboard/data/content/Content; SourceFileBb62DataSession.java ,- ./0 12 3*com/learningobjects/content/bb/Bb62Content 4.com/learningobjects/content/bb/Bb62DataSession0com/learningobjects/content/bb/BaseBbDataSession'blackboard/persist/PersistenceException contentLoader,Lblackboard/persist/content/ContentDbLoader; toContentId+(Ljava/lang/String;)Lblackboard/persist/Id;*blackboard/persist/content/ContentDbLoaderloadContentPath1(Lblackboard/persist/Id;)Lblackboard/base/BbList;"(Ljava/util/List;)Ljava/util/List;$(Lblackboard/data/content/Content;)V!   >*+    Q***+   = Y+    PK UsY?@ < ABCD E FGHI JKLM NOPQ4 R6ST()VCodeLineNumberTableLocalVariableTablethis InnerClasses.Lcom/learningobjects/content/bb/Bb62Version$1; ExceptionsUcreateDataSessionU(Lblackboard/platform/context/Context;)Lcom/learningobjects/content/bb/BbDataSession;context%Lblackboard/platform/context/Context;generatePackagedFileContentUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; contentFileIdLjava/lang/String;courseIdparentContentId pathToContentsessionIdPrefix renderTypemainBody'Lcom/learningobjects/util/UrlGenerator;mainHeadurl SourceFileBb62Version.javaEnclosingMethodV .com/learningobjects/content/bb/Bb62DataSession W%com/learningobjects/util/UrlGeneratorjava/lang/StringBuilder XY /courses/1/ /content// Z[ \/bin/common/content.plaction LINK_BANNER ]^ render_typefile_idutil/packageFrameset.jsp_ `asize85 b[,com/learningobjects/content/bb/Bb62Version$1/com/learningobjects/content/bb/Bb6xContentModel'blackboard/persist/PersistenceException*com/learningobjects/content/bb/Bb62Version((Lblackboard/platform/context/Context;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)V addParameterM(Ljava/lang/String;Ljava/lang/String;)Lcom/learningobjects/util/UrlGenerator;(com/learningobjects/util/bb/BbUrlFactorynewAppServerRelativeUrl;(Ljava/lang/String;)Lcom/learningobjects/util/UrlGenerator;emitUrl /* !$%&'(= Y+  !$ )*%&+,5 YY, -  :Y :WW+W:  W W W * 4?IS\cmz f !$-./.0.1.2.3.4Y45?N65c*75 89:;# PK UsY<w@@WEB-INF/classes/com/learningobjects/content/bb/Bb62Version.class1    CONTENT_MODEL/Lcom/learningobjects/content/bb/BbContentModel;()VCodeLineNumberTableLocalVariableTablethis,Lcom/learningobjects/content/bb/Bb62Version;getContentModel1()Lcom/learningobjects/content/bb/BbContentModel; SourceFileBb62Version.java ,com/learningobjects/content/bb/Bb62Version$1 InnerClasses*com/learningobjects/content/bb/Bb62Version(com/learningobjects/content/bb/BbVersion!  /*   . %   # Y  PK UsY<OEWEB-INF/classes/com/learningobjects/content/bb/Bb6xContentModel.class1  ()VCodeLineNumberTableLocalVariableTablethis1Lcom/learningobjects/content/bb/Bb6xContentModel; SourceFileBb6xContentModel.java;com/learningobjects/content/bb/auth/Bb6xEntitlementRegistry  /com/learningobjects/content/bb/Bb6xContentModel-com/learningobjects/content/bb/BbContentModel>(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;)V : *Y     PK UsY<ӵ LLWEB-INF/classes/com/learningobjects/content/bb/BbAnnouncementAdapter$1.class1*   ! "#$%val$targetCourseLblackboard/data/course/Course;"(Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis InnerClasses8Lcom/learningobjects/content/bb/BbAnnouncementAdapter$1; createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;objLjava/lang/Object;parent)Lcom/learningobjects/content/ContentNode; SourceFileBbAnnouncementAdapter.javaEnclosingMethod &' (4com/learningobjects/content/bb/BbAnnouncementAdapter)blackboard/data/announcement/Announcement )6com/learningobjects/content/bb/BbAnnouncementAdapter$1java/lang/Object6com/learningobjects/content/ContentNodeAdapterProvidergetAdapterProviderY(Lblackboard/data/course/Course;)Lcom/learningobjects/content/ContentNodeAdapterProvider;()V(Lblackboard/data/announcement/Announcement;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/bb/BbAnnouncementAdapter$1;)V    4 *+*h   PY+*,i  PK UsYv(Lblackboard/data/announcement/Announcement;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/content/bb/BbAnnouncementAdapter;source targetCourseLblackboard/data/course/Course;parent)Lcom/learningobjects/content/ContentNode; getContents()Ljava/io/Reader;bodyLjava/lang/StringBuffer; getSummary()Ljava/lang/String;getIdgetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;dispose()VgetStructuredData()Ljava/util/HashMap;mapLjava/util/HashMap;hashLocalFieldshashItxtgetAdapterProviderY(Lblackboard/data/course/Course;)Lcom/learningobjects/content/ContentNodeAdapterProvider;loadCourseRootFolder(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/persist/BbPersistenceManager;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;pm)Lblackboard/persist/BbPersistenceManager;loader6Lblackboard/persist/announcement/AnnouncementDbLoader;listLblackboard/base/BbList;cont2Lcom/learningobjects/content/ContentNodeContainer; Exceptions InnerClasses(Lblackboard/data/announcement/Announcement;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/bb/BbAnnouncementAdapter$1;)Vx0x1x2x38Lcom/learningobjects/content/bb/BbAnnouncementAdapter$1; SourceFileBbAnnouncementAdapter.java 78 7 ./ I 01java/lang/StringBuffer 7P  H  JHjava/io/StringReader H 7  H OPjava/util/HashMap course_id   U 6com/learningobjects/content/bb/BbAnnouncementAdapter$1 7AnnouncementDbLoader 4blackboard/persist/announcement/AnnouncementDbLoader 0com/learningobjects/content/ContentNodeContainer announcements Announcements YZ2com/learningobjects/content/bb/BbAnnouncementGuard 7 7 4com/learningobjects/content/bb/BbAnnouncementAdapter+com/learningobjects/content/BaseContentNode'blackboard/persist/PersistenceException'blackboard/persist/KeyNotFoundException,(Lcom/learningobjects/content/ContentNode;)Vblackboard/data/course/Course()Lblackboard/persist/Id;)blackboard/data/announcement/AnnouncementgetBody!()Lblackboard/base/FormattedText;blackboard/base/FormattedTextgetTextappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString(Ljava/lang/String;)V'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String;blackboard/persist/IdtoExternalString/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/StringhashCode()I resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlListvalueOf(I)Ljava/lang/String;"(Lblackboard/data/course/Course;)V'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader;loadByCourseId1(Lblackboard/persist/Id;)Lblackboard/base/BbList;](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)V(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Ljava/lang/String;Lcom/learningobjects/content/ContentNodeAdapterProvider;Lcom/learningobjects/content/ContentGuard;)V setChildren(Ljava/util/List;)V!,-./01234$534%634& 789g*-*+*,:+, -.;*<=>/?@ABCD9z6YL+* W+ W+* W Y+:2345*6;6<=.EFGH98* ::; <=IH95 *:>;  <=JH92* :B; <=KL9,:F; <=MN9.:J; <=OP9< **:NO P;  <=QR9TYL+*W+:STU;<=STUH90<* M,,<, ,`<*`<:"YZ [\^_!a+c; 0<=.VW #X3 YZ93 Y*:g;  ?@ [\9 ?+ !:,":#Y$-%&,'(Y*,)*:+:u vw5x<y;H?]^?_`??@?AB 4ab'cd5 efghi7l9Z*+,-:#;4<=m/n@oBpqrsk PK UsY](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis4Lcom/learningobjects/content/bb/BbAnnouncementGuard;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; targetCourseapp8Lblackboard/data/navigation/CourseNavigationApplication;nmsbr6Lcom/learningobjects/content/decisiontree/YesNoBranch;cbrcslistNewCredentials+()[Lcom/learningobjects/content/Credential;getMyEntitlementKey()Ljava/lang/String; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionId credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; Exceptions SourceFileBbAnnouncementGuard.java : 67 announcements  0com/learningobjects/content/ActionMustBeReadRule 89Icom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule : Kcom/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRulecom/learningobjects/content/bb/auth/AllowCourseCredentialsRule Dcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule>com/learningobjects/content/bb/auth/AllowSystemCredentialsRule  organization.announcements.VIEWcourse.announcements.VIEW=com/learningobjects/content/bb/auth/AllowCourseAccessQuestion : 2com/learningobjects/content/bb/BbAnnouncementGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException()Vblackboard/data/course/CoursegetId()Lblackboard/persist/Id;2com/learningobjects/content/bb/BbAuthorizationUtilloadNavApplicationc(Ljava/lang/String;Lblackboard/persist/Id;)Lblackboard/data/navigation/CourseNavigationApplication;;(Lblackboard/data/navigation/CourseNavigationApplication;)V4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;n(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;4com/learningobjects/content/decisiontree/YesNoBranch linkNoBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule; linkYesBranchP(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Ljava/lang/String;)VNULL_CREDENTIAL_LIST)[Lcom/learningobjects/content/Credential;getServiceLevelType ServiceLevel InnerClasses.()Lblackboard/data/course/Course$ServiceLevel;*blackboard/data/course/Course$ServiceLevel COMMUNITY,Lblackboard/data/course/Course$ServiceLevel;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;!./0123*423)5236789:;< **,*N*Y* Y- : Y- :Y:Y:YWY:Y+* :Y :Y !W"Y+*#:Y :$Y%!W=F'( *,!-2.A/O1]2j4x5679:;@>\ ?@ABC7DE2F9OGH]xIHx]J9K9LM<.&=C> ?@NO<E*'()*=G HJ> ?@PQ<|+Y+,-*,:*-= NO>>?@RSTUV2WX YZ[\]^ bPK UsY()VCodeLineNumberTableLocalVariableTablethis4Lcom/learningobjects/content/bb/BbAuthorizationUtil;init ExceptionsloadNavApplicationc(Ljava/lang/String;Lblackboard/persist/Id;)Lblackboard/data/navigation/CourseNavigationApplication;next8Lblackboard/data/navigation/CourseNavigationApplication;loaderCLblackboard/persist/navigation/CourseNavigationApplicationDbLoader;appsLjava/util/List;itrLjava/util/Iterator; targetAppe)Lblackboard/persist/KeyNotFoundException;)Lblackboard/persist/PersistenceException;exLjava/lang/Exception; applicationIdLjava/lang/String;courseIdLblackboard/persist/Id;isGuest+(Lcom/learningobjects/content/Credential;)Zc(Lcom/learningobjects/content/Credential; SourceFileBbAuthorizationUtil.java +,Ablackboard/persist/navigation/CourseNavigationApplicationDbLoaderloadByCourseIdjava/lang/Classblackboard/persist/Id ~ )* 2, java/lang/Object java/util/List  66blackboard/data/navigation/CourseNavigationApplication  'blackboard/persist/KeyNotFoundException'blackboard/persist/PersistenceExceptionjava/lang/Exception  Error loading course Id :  java/lang/RuntimeExceptionjava/lang/StringBuilder Course Id : +9com/learningobjects/content/bb/CourseMembershipCredential  5com/learningobjects/content/bb/BbSystemRoleCredential  2com/learningobjects/content/bb/BbAuthorizationUtil getMethod@(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;Iblackboard/persist/navigation/CourseNavigationApplicationDbLoader$DefaultDefault InnerClasses getInstanceE()Lblackboard/persist/navigation/CourseNavigationApplicationDbLoader;java/lang/reflect/Methodinvoke9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Z()Ljava/lang/Object;getApplication()Ljava/lang/String;java/lang/Stringequals(Ljava/lang/Object;)Z&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level;java/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString(Ljava/lang/String;)V getCourseRoleRole0()Lblackboard/data/course/CourseMembership$Role;,blackboard/data/course/CourseMembership$RoleGUEST.Lblackboard/data/course/CourseMembership$Role; getSystemRole SystemRole(()Lblackboard/data/user/User$SystemRole;$blackboard/data/user/User$SystemRole&Lblackboard/data/user/User$SystemRole;'blackboard/data/course/CourseMembershipblackboard/data/user/User!(  )*+,-/*./ 01*2,-2YS. !"3 45-z M, Y+S N- ::&!:*MMM,YY+ !NTOSTNWOSWNZOSZ.J'()*"+%,4-@.L/O1R2T3U5W6X8Z9[:g;/f @67M89::;"2<=%/>7U?@X?A['BCDEFG HI-p6*"*"#$*%*%&'.@AB!C4E/ 6JKLMVw{PK UsY<,""MWEB-INF/classes/com/learningobjects/content/bb/BbCalendarEntryAdapter$1.class1%   !()VCodeLineNumberTableLocalVariableTablethis InnerClasses9Lcom/learningobjects/content/bb/BbCalendarEntryAdapter$1; createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;objLjava/lang/Object;parent)Lcom/learningobjects/content/ContentNode; SourceFileBbCalendarEntryAdapter.javaEnclosingMethod "#  5com/learningobjects/content/bb/BbCalendarEntryAdapter&blackboard/data/calendar/CalendarEntry $7com/learningobjects/content/bb/BbCalendarEntryAdapter$1java/lang/Object6com/learningobjects/content/ContentNodeAdapterProvidergetAdapterProvider:()Lcom/learningobjects/content/ContentNodeAdapterProvider;T(Lblackboard/data/calendar/CalendarEntry;Lcom/learningobjects/content/ContentNode;)V   /* N   K Y+, O     PK UsY<+8KWEB-INF/classes/com/learningobjects/content/bb/BbCalendarEntryAdapter.class1 )a (b cd ef cg hij k cl mn op cqr s t uv wx )y (z ({ |} ~ k  d  ( $   CONTAINER_UIDLjava/lang/String; ConstantValueCONTAINER_TITLECONTAINER_DESCRIPTION_source(Lblackboard/data/calendar/CalendarEntry;T(Lblackboard/data/calendar/CalendarEntry;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/bb/BbCalendarEntryAdapter;sourceparent)Lcom/learningobjects/content/ContentNode;getId()Ljava/lang/String; isDirectory()ZgetLastModified()J getContents()Ljava/io/Reader;bodyLjava/lang/StringBuffer;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator; getSummarygetTitledispose()VhashLocalFieldsgetAdapterProvider:()Lcom/learningobjects/content/ContentNodeAdapterProvider;loadCourseRootFolder(Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;pm)Lblackboard/persist/BbPersistenceManager;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; targetCourseLblackboard/data/course/Course;loader3Lblackboard/persist/calendar/CalendarEntryDbLoader;listLblackboard/base/BbList;cont2Lcom/learningobjects/content/ContentNodeContainer; Exceptions SourceFileBbCalendarEntryAdapter.java 1 /0 ; <  @java/lang/StringBuffer 1J  <  H<java/io/StringReader < 1  IJ ?@  K 7com/learningobjects/content/bb/BbCalendarEntryAdapter$1 InnerClassesCalendarEntryDbLoader 1blackboard/persist/calendar/CalendarEntryDbLoader 0com/learningobjects/content/ContentNodeContainer calendaritemsCalendar Entries LM3com/learningobjects/content/bb/BbCalendarEntryGuard 1 1 5com/learningobjects/content/bb/BbCalendarEntryAdapter+com/learningobjects/content/BaseContentNode'blackboard/persist/PersistenceException'blackboard/persist/KeyNotFoundException,(Lcom/learningobjects/content/ContentNode;)V&blackboard/data/calendar/CalendarEntry()Lblackboard/persist/Id;blackboard/persist/IdtoExternalStringgetModifiedDate()Ljava/util/Calendar;java/util/CalendargetTimeInMillisgetDescription!()Lblackboard/base/FormattedText;blackboard/base/FormattedTextgetTextappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString(Ljava/lang/String;)V/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator;'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String; resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader;blackboard/data/course/CourseloadByCourseId1(Lblackboard/persist/Id;)Lblackboard/base/BbList;](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)V(Ljava/lang/String;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Ljava/lang/String;Lcom/learningobjects/content/ContentNodeAdapterProvider;Lcom/learningobjects/content/ContentGuard;)V setChildren(Ljava/util/List;)V!()*+, -+,!.+,"/0 123Q *,*+4 5  67 80 9:;<35 *4"5  67=>3,4&5 67?@35 *4*5  67AB3CYL* +* W+ W+* WY+4./0$1+3745C67;CDEF3.485 67G<38* 4<5 67H<32* 4@5 67IJ3< **4DE F5  67K<3;**a4I5 67 LM3 Y4M NO3 >*:,:Y -!"#$Y+,%&:'4[ \]4^;_5H>PQ>RS>TU>9: 3VW&XY4 Z[\]^_` PK UsY<CIWEB-INF/classes/com/learningobjects/content/bb/BbCalendarEntryGuard.class1 0` /ab cd efg ` /hi j klm `n ` kop ` qrs ` qtu ` qvw /x yz `{ ` k|} "`~ $y &` 1 c  , kVIEW_ENTITLEMENT_KEY_COURSELjava/lang/String; ConstantValueVIEW_ENTITLEMENT_KEY_ORGCOURSE_APP_KEY _targetCourseLblackboard/data/course/Course; _decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis5Lcom/learningobjects/content/bb/BbCalendarEntryGuard;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; targetCourseapp8Lblackboard/data/navigation/CourseNavigationApplication;nmsbr6Lcom/learningobjects/content/decisiontree/YesNoBranch;cbrcslistNewCredentials+()[Lcom/learningobjects/content/Credential;getMyEntitlementKey()Ljava/lang/String; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionId credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; Exceptions SourceFileBbCalendarEntryGuard.java ; 78calendar  0com/learningobjects/content/ActionMustBeReadRule 9:Icom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule ; 5com/learningobjects/content/bb/auth/DenyAllGuestsRulecom/learningobjects/content/bb/auth/AllowCourseCredentialsRule ;com/learningobjects/content/bb/auth/DenySystemObserversRuleDcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule>com/learningobjects/content/bb/auth/AllowSystemCredentialsRule  course.calendar.VIEW=com/learningobjects/content/bb/auth/AllowCourseAccessQuestion ; 3com/learningobjects/content/bb/BbCalendarEntryGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException()Vblackboard/data/course/CoursegetId()Lblackboard/persist/Id;2com/learningobjects/content/bb/BbAuthorizationUtilloadNavApplicationc(Ljava/lang/String;Lblackboard/persist/Id;)Lblackboard/data/navigation/CourseNavigationApplication;;(Lblackboard/data/navigation/CourseNavigationApplication;)V4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;n(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;4com/learningobjects/content/decisiontree/YesNoBranch linkNoBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule; linkYesBranchP(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Ljava/lang/String;)VNULL_CREDENTIAL_LIST)[Lcom/learningobjects/content/Credential;getServiceLevelType ServiceLevel InnerClasses.()Lblackboard/data/course/Course$ServiceLevel;*blackboard/data/course/Course$ServiceLevel COMMUNITY,Lblackboard/data/course/Course$ServiceLevel;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;!/01234+534+634789:;<= **,*N*Y* Y- : Y :Y:Y:YWY:Y+* :Y :Y !W"Y#:$Y+*% :Y :&Y'!W>J45 79!:2;@=N?\@iBwCDEGLMNS?\ @ABCD8EF2G:NHI\JIwkK:/L:MN=.(>V? @AOP=E*)*++>Z []? @AQR=|,Y+,-*-:*.> ab?>@ASTUVW3XY Z[\]^_ cPK UsY<9>WEB-INF/classes/com/learningobjects/content/bb/BbContent.class1 isStudentViewAvailable()Z SourceFileBbContent.java(com/learningobjects/content/bb/BbContentjava/lang/ObjectPK UsY< j^j^CWEB-INF/classes/com/learningobjects/content/bb/BbContentModel.class1 -  , ,  ,         , f f f  f f     %  , , , , , ,!"# ,$% ,&'()*+, ,- ,./ f0 f1 23 ,4 ,5 ,6 ,7 ,8 ,9 ,: ,; ,< ,= ,>? ,@ A ,B ,CD V EF GHI VJK VLMNOPQ VR S TUV ,WXYZ[\]^_`a ,b ,c ,d ,e ,fg Vhij ,k El ,mnopqrstuvwxy Ez {|}~    f 2 2   , , , , , , , U       ,   , , , Et  , f f   ,     f f          ,      , , , ,  J T  ,   ,  {  J   %  STAFF_INFO5Lcom/learningobjects/search/results/SearchResultType; ANNOUNCEMENTCOURSECOURSE_CONTENTCALENDARFILE_ATTACHMENTCOURSE_JOURNALJOURNALEXPOUNKNOWNentitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;>(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;)VCodeLineNumberTableLocalVariableTablethis/Lcom/learningobjects/content/bb/BbContentModel;createSearchResult(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/search/results/SearchResult; bbDataSession.Lcom/learningobjects/content/bb/BbDataSession; contentNode)Lcom/learningobjects/content/ContentNode;typeUidLjava/lang/String;searchResultType loadRootNode(Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lcom/learningobjects/content/ContentNode;pm)Lblackboard/persist/BbPersistenceManager;statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder; container2Lcom/learningobjects/content/ContentNodeContainer; ExceptionsgetDisplayType&(Ljava/lang/String;)Ljava/lang/String;typeUID getTypeImagestartPosIendPos imageNamecreateDataSessionU(Lblackboard/platform/context/Context;)Lcom/learningobjects/content/bb/BbDataSession;createCourseContentSearchResults(Lcom/learningobjects/content/bb/BbDataSession;Ljava/lang/String;)Lcom/learningobjects/search/results/SearchResult;sessionparentContentIdgetSearchResultTypeI(Ljava/lang/String;)Lcom/learningobjects/search/results/SearchResultType;mimeTypegetFileNodeMimeType generateUrl}(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;)Ljava/lang/String;content sessionIdMd5config)Lcom/learningobjects/search/SearchConfig;generateStaffInfoUrlk(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Ljava/lang/String; renderType contentIdcourseIdJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;url'Lcom/learningobjects/util/UrlGenerator;generateAnnouncementUrl8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;generateCourseUrl()Ljava/lang/String;generateCourseContentUrlgenerateLearningUnitContentUrlgenerateLearningUnitUrlgenerateRegularContentUrlregularContentUrlgenerateCalendarUrl=(Lcom/learningobjects/content/ContentNode;)Ljava/lang/String;eventIdgenerateFileAttachmentUrl pathToContentstructuredDataLjava/util/HashMap;isPackageContentLjava/lang/Boolean;fileNamelinkNamegenerateFileContentUrl(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;Ljava/lang/String;Lcom/learningobjects/search/SearchConfig;)Ljava/lang/String; contentFileIdisPackagedContent campusPacksessionIdPrefixgeneratePackagedFileContentUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;generateTeamsPageUrls(Lcom/learningobjects/search/SearchConfig;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;pageNamegenerateCourseJournalUrlgenerateJournalEntryUrljournalEntryIdgenerateExpoUrl expoOwnergenerateExpoContentItemUrl storeRootLjava/io/File;dataLjava/util/Map;typelinkitemIduserNamecontentItemFoldergenerateWikiPageName courseNameeLjava/io/IOException;generateJournalEntryIdgenerateFullUrl bottomUrltabfullUrlnodeUrlisCourseContent,(Lcom/learningobjects/content/ContentNode;)ZisOrganizationContentHackisInstitutionContent isUserContent getCourseIduidPathgetContentPathtokensLjava/util/StringTokenizer;nextpathLjava/lang/StringBuffer;isBbId(Ljava/lang/String;)ZstrgetCourseMembershipCredentials"(Ljava/util/List;)Ljava/util/List;)Lblackboard/data/course/CourseMembership; credential;Lcom/learningobjects/content/bb/CourseMembershipCredential;courseMembershipLjava/util/List;litrLjava/util/Iterator;getUidPathToCourse+(Lblackboard/persist/Id;)Ljava/lang/String;Lblackboard/persist/Id;getSystemRoleCredentialE(Lblackboard/data/user/User;)Lcom/learningobjects/content/Credential;uLblackboard/data/user/User;getSystemGuestRoleCredential*()Lcom/learningobjects/content/Credential;getInstitutionRoleCredentialgenerateUserCredentials=(Lblackboard/data/user/User;Ljava/util/List;)Ljava/util/List;isLearningUnitb2bZisInLearningUnit isVisibleZ(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Zresult1Lcom/learningobjects/search/results/SearchResult;Ljava/lang/Exception;user'Lcom/learningobjects/content/bb/BbUser;visibleToRenderType(Z)Ljava/lang/String; getRenderType logWarning*(Ljava/lang/String;Ljava/lang/Exception;)Vmessage()V SourceFileBbContentModel.java ;;com/learningobjects/content/bb/ContentChildSearchResultTypeCourse Content File Attachment ; 4/ 9: y de BC0com/learningobjects/content/ContentNodeContainer blackboard BlackboardFolder of top level contents.0com/learningobjects/content/bb/BbSystemRootGuard ;   !"6com/learningobjects/content/backpack/BackpackContainer ;# $y UV %yfile ( &( '() )* +,java/lang/StringBuilder -..gif /y8com/learningobjects/content/bb/CourseContentSearchResult ;01com/learningobjects/content/bb/BbStaffInfoAdapter1 2y ./4com/learningobjects/content/bb/BbAnnouncementAdapter 0/.com/learningobjects/content/bb/BbCourseAdapter 1/5com/learningobjects/content/bb/BbCourseContentAdapter 2/5com/learningobjects/content/bb/BbCalendarEntryAdapter 3/6com/learningobjects/content/bb/BbFileAttachmentAdapter+com/learningobjects/content/FileContentNode gVFile (4com/learningobjects/content/journal/JournalEntryNode 6/5com/learningobjects/content/journal/CourseJournalNode 5/1com/learningobjects/content/backpack/BackpackNode5/webapps/blackboard/execute/staffinfo/manageStaffInfo ;? course_id @A/bin/common/staff.plactionLIST render_type content_id By CDE FGjava/lang/String vw(/webapps/blackboard/execute/announcementmethodsearchcontextcourse/bin/common/announcement.pltimeallscope  {V  |V }i/bin/common/lesson.pl H? DISPLAY_LINK DISPLAY_INDEX }s Is w-/webapps/blackboard/execute/editCalendarEventevent_ideditCalendarEventActionview cp_course/bin/common/calendar.pl subroutine event_viewgo_tomy_instlocation _event_id JKL M?parent_content_id is_packagejava/lang/Boolean fileName: N" OyP QV /courses/1/ /content/ RS/xid- /bbcswebdav//content_file_id campus_packteamswiki_home/Handler Ty UyV WX autoCreatefalsecmdGetImage encodedIdjournallobjY Zstore loi-journal application/ms-powerpoint/@@ wiki   s sbackpack_owner Vbp_home/BPHandlerexposhow[ java/io/Fileloi-link\ ]^:com/learningobjects/search/crawler/parsers/TeamsPageParser ;_ ;` ya bV loi-teams ]cjava/io/IOExceptionError getting page name for:  'gjava/util/StringTokenizer ;h iy java/lang/StringBuffer -j k"getContentPath: lm_1 njava/util/ArrayListo pqr s" t'blackboard/data/course/CourseMembership9com/learningobjects/content/bb/CourseMembershipCredential u vz ;{ |S} ~y V5com/learningobjects/content/bb/BbSystemRoleCredential  ; :com/learningobjects/content/bb/BbInstitutionRoleCredential  ;    /com/learningobjects/content/bb/BbUserCredential yisLesson S isInLesson  java/lang/Exception(Error determining visibility of content  for user DEFAULTEDITABLE   :com/learningobjects/search/results/GenericSearchResultTypeStaff Information AnnouncementCourseC<DE?@A9:BC=r,N*-:+, >VWX?4@ADEFGHI J/KL=8 Y   YN-*+-,-Y+-->^e#g)h6j?*8@A8MN8OP#QRSTUV=? *+>n? @A WIXV=S*+M,,`>,6,M, -M,/-M Y!,"#"$M,>& r suv#w+y4z=|Q}?4YZ#[ZS@ASHI J\I]^S_`a=H %Y+,&>?  @A bE cIde=+'()+*(++,(-+.(/+0(1+2(*+3()+4MY* Y!5",""$+6(7+8(9+:(D+;(7+<(*+=(+>(+?(@A>Z "/3@DQUbgty ? y!fI@AWI gV=N*3(**BC`D> ? HIhi=#E:,:'( *+,F*( *+,G,(H.( *+,I0(,J2(,K3( *+,-L:(,M6(,N8(,O;(;<(-=(>(?(,PQ>f "07EIW^lq ?>#@A#DE#jG#kIlm HISno=*+,RN,S:,T:-U>?>@ADEjGpIqI rI ns=PVYWNXY VYZ[N-\,]W&VY^[N-_`]W-a*]W-b+]W-c>& (2;CK?*PpIPqIPrIHtuvo=x*+,RN,d\ef:-g>?4@ADEjGpIrI vw=tVYWMXY *VYh[M,ij]W,kl]W,\+]W8VYm[M,_`]W,a*]W,no]W,kl]W,p+]W,c>6 &/:DMU^go? tpItrIltu xy=q> zo=',SN,r-s,t-u*+,-v>?*'@A'DE'jG qI {V=h$VYWL+wx+_y]W+b*]W+c>?$qItu |V=h$VYWL+wx+_z]W+b*]W+c>"#$%&?$qItu}i={*+,R:,T:-{>*+,?>@ADEjGqIpI rI }s=U +,*|N-> 01?* pI qI rI~I =X*SL*TM+,}>56 7? jG I rI w=tVYWMXY 2VY~[M,*]W,\+]W,]W,k]W0VY[M,]W,]W,l]W,*]W,c>6 ;<=>%?-@6ABCLDUE^FgGoI? tItrIltu = *dL+\efM+efN+e:+ef:+ef: Y!""$K**-CD::VY Y!","""$[:c-#VY Y!""$[:2VY Y!",""-"""$[:c>FMNOS#W.X9YD[^\f^{_abdegi?p {3ItutujGrI#cI.9IDItu=,def:,de:,d\ef:,def:,def:  _:  ]W \]Wq  b]W ]W ,S]W c \:  \]W  b]W l]W ]W ]W ,S]W c:  ,: ,4: q:   Y!"-"$: *+,R: *    ,S:  *  >&ru v0z@|P}Z~ku!'26@U]ev?kKtu Ntu epI  qI @ADEjGkIlmI 0qrI@acIPQI I 2ofI 6kI =9VY Y!""+"",""-"$[:c> 3?>9@A9rI9cI9I9I3tu =P**:]W\+]W,,q b,]W+,-:]Wc>""/8@J?>PlmPrIPcIPqIAtu@I =8*d\efLM,\+]W,l]W,]W,c>!*3? 8jG)rItu =l*d\efL*defMN-\+]W, -b,]W-l]W-]W+,*S:-]W-c>. (07?HQ^g?4ljG]rINcI(Dtu^I =L*defL+> ?jGI V=` L+]W+*]W+c> ? I tu = *dL+fM+fN+f:+f:+f:+¹:,Ķ-:Ŷ]W]W,]W]W(,: YY ɷʶ˶]Wc>J,9FS\^is}?f  jGII,I9IFzISmiWtuSs==*N-+:YY,ɷʶ˰N Y!ж","$-,"#>#$;?>I$=rI=qI=Is==*N-+:YY,ɷӶ԰N Y!ն","$-,"#>  #$;?>I$=rI=qI=Ii=o ,T::,֙ ::q:VYٷ[:]W*+,-:*+,ܙJ8VYW:ݶx\]W]Wc]W]W ]Wc>V "&#)'+2,<-E/N2S3\4d5n6x89:>A?\ \)u@ADEjGkIrI I2suE`IS=6 *>E?  jG=B*>J? jG=6 *>N?  jG=6 *>R?  jG=5L*-*M>,6 ,6,L+>& VW XZ\]%^+a3c?4#IYZ[Z5jG3rI= Y*L+W+W+W+W+M, +MYN-,W+-W-+W Y!"-"$->>klmn"o'p,q1r@vHwNxUy\zh|}?*jGq1XIHA=C*_*>? I=AYL*M,*,NY--:+W+>""3<??4"3 A92=2*>? rV=> Y!"*"$>? rI=6 Y*>?  =# Y>=6 Y* >?  =9+ M,* W,* W, W,Y*W,>%7? 994=-<*dM,!,,eN--<> "&+?*" -jG+ $=-<*dM,!,,eN--<> "&+?*" -jG+ $=I+N*+,:-: Y!",""-"$>G?> /I@AIDEIjGB=WL LL+> ?pIo=H *+,ܸ>?  @A DE jG =D *+>  ? I =s Y!") Y#"+ Y$"-%Y&/ Y'"1 Y("9 Y)"7 Y*"@ Y+"A>& 7 89':1;>=K>X?e@ywxPK UsY<FWEB-INF/classes/com/learningobjects/content/bb/BbCourseAdapter$1.class1 +X ,Y +Z [\ ]^ [_ V` Va Vb Vc def +g hi +j kl men Vo pqr st u vw xy z{ |} ~   # #  )YcountIthis$00Lcom/learningobjects/content/bb/BbCourseAdapter;3(Lcom/learningobjects/content/bb/BbCourseAdapter;)VCodeLineNumberTableLocalVariableTablethis InnerClasses2Lcom/learningobjects/content/bb/BbCourseAdapter$1;hasNext()Znext()Ljava/lang/Object;e)Lblackboard/persist/PersistenceException; staffInfo)Lcom/learningobjects/content/ContentNode;child-Lcom/learningobjects/content/FileContentNode;.Lcom/learningobjects/content/ContentException;loggerLjava/util/logging/Logger;cjn7Lcom/learningobjects/content/journal/CourseJournalNode;typeLjava/lang/String;contentDirectoryLjava/io/File; logWarning(Ljava/lang/Exception;)VLjava/lang/Exception;remove()V SourceFileBbCourseAdapter.javaEnclosingMethod 01 2R ./  <  'blackboard/persist/PersistenceException NO =>  loi-teams  +com/learningobjects/content/FileContentNode 2  course_id   is_package ,com/learningobjects/content/ContentException loi-journal 5com/learningobjects/content/journal/CourseJournalNode 2    'java/lang/UnsupportedOperationException0com/learningobjects/content/bb/BbCourseAdapter$1java/lang/Objectjava/util/Iterator.com/learningobjects/content/bb/BbCourseAdapterlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;@com/learningobjects/content/bb/BbCourseAdapter$CourseContentTypeCourseContentTypevaluesE()[Lcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType;0com/learningobjects/content/bb/BbCourseAdapter$2K$SwitchMap$com$learningobjects$content$bb$BbCourseAdapter$CourseContentType[Iordinal()IisIndexOnlyLOContent access$000m(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; access$100[(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lblackboard/persist/BbPersistenceManager; access$200Q(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lblackboard/data/course/Course;4com/learningobjects/content/bb/BbAnnouncementAdapterloadCourseRootFolder(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/persist/BbPersistenceManager;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;1com/learningobjects/content/bb/BbStaffInfoAdapter(Lblackboard/persist/BbPersistenceManager;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;5com/learningobjects/content/bb/BbCalendarEntryAdapter(Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;5com/learningobjects/content/bb/BbCourseContentAdapter access$300@(Lcom/learningobjects/content/bb/BbCourseAdapter;)Ljava/io/File;8com/learningobjects/wiki/container/WikiFilesystemStoragegetWikiStoreDirectory1(Ljava/io/File;Ljava/lang/String;Z)Ljava/io/File; java/io/FilegetName()Ljava/lang/String;L(Ljava/io/File;Ljava/lang/String;Lcom/learningobjects/content/ContentNode;)V9com/learningobjects/search/crawler/parsers/WikiPageParsernewWikiFilenameFilter()Ljava/io/FilenameFilter;setFileNameFilter(Ljava/io/FilenameFilter;)Vblackboard/data/course/CoursegetId()Lblackboard/persist/Id;blackboard/persist/IdtoExternalStringsetStructuredData((Ljava/lang/String;Ljava/lang/Object;Z)Vjava/lang/BooleanFALSELjava/lang/Boolean;&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;s(Lcom/learningobjects/content/ContentNode;Ljava/util/logging/Logger;Lblackboard/data/course/Course;Ljava/io/File;)V'(Ljava/lang/String;Ljava/lang/String;)Vjava/util/logging/LevelWARNINGLjava/util/logging/Level;java/lang/Exception getMessagejava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V +,-./01234=*+**5  ]6 7:;<4;*5_6 7:=>4*YZ`2.&V;*W** * * L*+ 1*'* * *L++*L*+ ** ** *L*+ ** * *L*+ L*+M,Y*,*N--* --N*- L*!<"N#Y*-* *$:* %Fbc v  GH 5)b<dFfcgdhiilmvopqstuvz|}~ !(<FHINQae6z d?@ AB?@?@?@!'CDI?Ee3FGHIJKLM7:NO4G"&+'+(5 67:?PQR42)Y*56 7:STUVW9+[V@]VPK UsY()VCodeLineNumberTableLocalVariableTableexLjava/lang/NoSuchFieldError; SourceFileBbCourseAdapter.javaEnclosingMethod)* ,-  ./ 01java/lang/NoSuchFieldError 2/ 3/ 4/ 5/ 6/0com/learningobjects/content/bb/BbCourseAdapter$2 InnerClassesjava/lang/Object.com/learningobjects/content/bb/BbCourseAdapter@com/learningobjects/content/bb/BbCourseAdapter$CourseContentTypeCourseContentTypevaluesE()[Lcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType; ANNOUNCEMENTBLcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType;ordinal()I STAFF_INFOCOURSE_CALENDARCOURSE_CONTENT_AREA WIKI_TOOL BLOG_TOOL  e OKOKOKOK OK OK #&'256ADEPST`cb>'6ETd' +@PK UsY ?@ ANNOUNCEMENTCourseContentType InnerClassesBLcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType; STAFF_INFOCOURSE_CALENDARCOURSE_CONTENT_AREA WIKI_TOOL BLOG_TOOL$VALUESC[Lcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType;valuesE()[Lcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType;CodeLineNumberTablevalueOfV(Ljava/lang/String;)Lcom/learningobjects/content/bb/BbCourseAdapter$CourseContentType;LocalVariableTablenameLjava/lang/String;(Ljava/lang/String;I)Vthis Signature()VTLjava/lang/Enum; SourceFileBbCourseAdapter.java  ABC@com/learningobjects/content/bb/BbCourseAdapter$CourseContentType $D )* )*      java/lang/Enumclone()Ljava/lang/Object;.com/learningobjects/content/bb/BbCourseAdapter5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;@0@@@@@@ !"" # $%"5 *# &  '()*"1*+# & +,-.-"{Y Y  Y  YYYY SY SY SYSYSYS# ,/01 5@PK UsY(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;Lblackboard/persist/BbPersistenceManager;)VCodeLineNumberTableLocalVariableTablethis0Lcom/learningobjects/content/bb/BbCourseAdapter;sourceparent)Lcom/learningobjects/content/ContentNode;pmgetLastModified()J getContents()Ljava/io/Reader;bodyLjava/lang/StringBuffer; getSummary()Ljava/lang/String; getCourse!()Lblackboard/data/course/Course;getIdgetTitle isDirectory()ZsetSkipButKeep(Z)V skipButKeepgetSkipButKeeplistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;dispose()VgetStructuredData()Ljava/util/HashMap;valsLjava/util/HashMap;hashLocalFieldsgetGuard,()Lcom/learningobjects/content/ContentGuard;toStringgetCourseContentDir()Ljava/io/File; access$000m(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;x0 access$100[(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lblackboard/persist/BbPersistenceManager; access$200Q(Lcom/learningobjects/content/bb/BbCourseAdapter;)Lblackboard/data/course/Course; access$300@(Lcom/learningobjects/content/bb/BbCourseAdapter;)Ljava/io/File; SourceFileBbCourseAdapter.java jk 9: ;< 78 A,com/learningobjects/content/bb/BbCourseGuard A =>  Mjava/lang/StringBuffer Aa WS  S Sjava/io/StringReader iS Ajava/lang/StringBuilder  V S ?@6com/learningobjects/content/DefaultContentNodeIterator0com/learningobjects/content/bb/BbCourseAdapter$1 A A `ajava/util/HashMap service_level  LM  f BbCourseAdapter:  .com/learningobjects/content/bb/BbCourseAdapter+com/learningobjects/content/BaseContentNode'com/learningobjects/content/GuardedNode0com/learningobjects/content/bb/BbCourseAdapter$2@com/learningobjects/content/bb/BbCourseAdapter$CourseContentType,(Lcom/learningobjects/content/ContentNode;)V](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)Vblackboard/data/course/CoursegetModifiedDate()Ljava/util/Calendar;java/util/CalendargetTimeInMillisappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;getDescription getCourseId(Ljava/lang/String;)V-(Ljava/lang/String;)Ljava/lang/StringBuilder;'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String;()Lblackboard/persist/Id;blackboard/persist/IdtoExternalString3(Lcom/learningobjects/content/bb/BbCourseAdapter;)V@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)VgetServiceLevelType ServiceLevel.()Lblackboard/data/course/Course$ServiceLevel;*blackboard/data/course/Course$ServiceLevelput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;java/lang/Object(com/learningobjects/util/bb/BBFileSystemgetContentDirectory4(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;!/01789:;<=>?@ABC#*-*+*,**Y+,D)* +,-".E4#FG#78#H:#IJ#K<LMC5 * D1E  FGNOCF Y L+* W+W+*W+W+*WY+D5678'9.::;EFFG>PQRSCQ'Y* *D?E 'FGTUC/*DCE FGVSC5 *DGE  FGWSC2* DKE FGXYC,DOE FGZ[C>*D STEFG\@]YC/*DWE FG^_C;YY** D\E FG`aCE***!D E FGbcCW"Y#L+$*%&'W+DEFGdefSC;*(*)*a+DE FGghC/*DE FGiSCX&*Y,**-D!E &FGjkC6 *.DE  FGlmC/*DE nGopC/*DE nGqrC/*DE nGstC/*DE nGuv4"2/5/6@PK UsY<>Vh  ^WEB-INF/classes/com/learningobjects/content/bb/BbCourseContainer$BbCourseAdapterProvider.class1 ,V -W XY ,Z ,[\ ]^ _` a bc ]d ef ,gh ]i jklm Wn o p q r ]s ]t uv ]w ]x; ]y ]z ]{|B }~  statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder;loggerLjava/util/logging/Logger;prevPercentCompleteFthis$02Lcom/learningobjects/content/bb/BbCourseContainer;o(Lcom/learningobjects/content/bb/BbCourseContainer;Lcom/learningobjects/search/status/IndexingStatusRecorder;)VCodeLineNumberTableLocalVariableTablethisBbCourseAdapterProvider InnerClassesJLcom/learningobjects/content/bb/BbCourseContainer$BbCourseAdapterProvider; createAdapterf(Ljava/lang/Object;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;cidLblackboard/persist/Id;cLblackboard/data/course/Course;exLjava/lang/Exception;objLjava/lang/Object;parent)Lcom/learningobjects/content/ContentNode;cf-Lcom/learningobjects/util/bb/db/CourseFacade; ExceptionsupdateProgress()VnumberOfCoursesIpercentComplete SourceFileBbCourseContainer.java 56 7P 12 /0+com/learningobjects/util/bb/db/CourseFacade    OP.com/learningobjects/content/bb/BbCourseAdapter 7java/lang/Exception,com/learningobjects/content/ContentExceptionjava/lang/StringBuilderError processing course 7  percent complete  numcourses:  visited:    Hcom/learningobjects/content/bb/BbCourseContainer$BbCourseAdapterProviderjava/lang/Object6com/learningobjects/content/ContentNodeAdapterProvider&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;0com/learningobjects/content/bb/BbCourseContainer access$000](Lcom/learningobjects/content/bb/BbCourseContainer;)Lblackboard/persist/BbPersistenceManager;blackboard/data/course/Course DATA_TYPELblackboard/persist/DataType;getId()Ljava/lang/String;'blackboard/persist/BbPersistenceManager generateIdH(Lblackboard/persist/DataType;Ljava/lang/String;)Lblackboard/persist/Id; access$100^(Lcom/learningobjects/content/bb/BbCourseContainer;)Lblackboard/persist/course/CourseDbLoader;(blackboard/persist/course/CourseDbLoaderloadById8(Lblackboard/persist/Id;)Lblackboard/data/course/Course; access$200o(Lcom/learningobjects/content/bb/BbCourseContainer;)Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;Lblackboard/persist/BbPersistenceManager;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getCourseIdtoString*(Ljava/lang/String;Ljava/lang/Throwable;)V access$3085(Lcom/learningobjects/content/bb/BbCourseContainer;)I access$400\(Lcom/learningobjects/content/bb/BbCourseContainer;)Lcom/learningobjects/util/SizedIterator;&com/learningobjects/util/SizedIteratorsize()I access$300 access$5005(Lcom/learningobjects/content/bb/BbCourseContainer;)F access$600 access$5026(Lcom/learningobjects/content/bb/BbCourseContainer;F)F access$6026(Lcom/learningobjects/content/bb/BbCourseContainer;I)I(F)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/util/logging/Loggerinfo(Ljava/lang/String;)V$com/learningobjects/util/MemoryUtils getMemoryInfo8com/learningobjects/search/status/IndexingStatusRecorderindexing(F)V ,-./0123456789V*+***,:k hlm;<?/0@A9k+N*-  :*  :* Y*,*:YY-FG:suv*x.yGzI{;H-BC*DEI"FGk<?kHIkJKfLMNOP9*W*<*n E*&$*f** db*$!W**"W*Y#$$j%&'(*')**)*$+:* )W`o; <?QR)S4TU> ,]=PK UsY<X$FWEB-INF/classes/com/learningobjects/content/bb/BbCourseContainer.class1 z { | } ~   '           '   BbCourseAdapterProvider InnerClassesUIDLjava/lang/String; ConstantValueentitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;_pm)Lblackboard/persist/BbPersistenceManager;_cl*Lblackboard/persist/course/CourseDbLoader;_statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder;_courses(Lcom/learningobjects/util/SizedIterator;LOG_STATUS_PERCENTF; LOG_STATUS_NUMBERI_numberVisited_loggedPercent _loggedNumber_listedZ(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/status/IndexingStatusRecorder;)VCodeLineNumberTableLocalVariableTablethis2Lcom/learningobjects/content/bb/BbCourseContainer;pmparent)Lcom/learningobjects/content/ContentNode;statusRecorder ExceptionsloadAllCourses(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lcom/learningobjects/content/bb/BbCourseContainer;exLjava/lang/Exception; getContents()Ljava/io/Reader; getSummary()Ljava/lang/String;getIdgetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;dispose()VgetTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String;fullPathLjava/util/Stack;hashLocalFields access$000](Lcom/learningobjects/content/bb/BbCourseContainer;)Lblackboard/persist/BbPersistenceManager;x0 access$100^(Lcom/learningobjects/content/bb/BbCourseContainer;)Lblackboard/persist/course/CourseDbLoader; access$200o(Lcom/learningobjects/content/bb/BbCourseContainer;)Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; access$3085(Lcom/learningobjects/content/bb/BbCourseContainer;)I access$400\(Lcom/learningobjects/content/bb/BbCourseContainer;)Lcom/learningobjects/util/SizedIterator; access$300 access$5005(Lcom/learningobjects/content/bb/BbCourseContainer;)F access$600 access$5026(Lcom/learningobjects/content/bb/BbCourseContainer;F)Fx1 access$6026(Lcom/learningobjects/content/bb/BbCourseContainer;I)I SourceFileBbCourseContainer.java ?; >8 56 =; -. 12 /0 BCourseDbLoader (blackboard/persist/course/CourseDbLoader 34 0com/learningobjects/content/bb/BbCourseContainer BCjava/lang/Exception,com/learningobjects/content/ContentExceptionError loading all courses B Coursescourses @Ajava/lang/IllegalStateExceptionChild nodes already listed B6com/learningobjects/content/DefaultContentNodeIteratorHcom/learningobjects/content/bb/BbCourseContainer$BbCourseAdapterProvider B B ]^  c +com/learningobjects/content/BaseContentNode'blackboard/persist/PersistenceException,(Lcom/learningobjects/content/ContentNode;)V'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader;,com/learningobjects/util/bb/db/CourseFactory getInstance0()Lcom/learningobjects/util/bb/db/CourseFactory;getNonSystemCourses*()Lcom/learningobjects/util/SizedIterator;*(Ljava/lang/String;Ljava/lang/Throwable;)V'com/learningobjects/content/ContentNodeNO_SEARCHABLE_CONTENT_READERLjava/io/Reader;(Ljava/lang/String;)Vo(Lcom/learningobjects/content/bb/BbCourseContainer;Lcom/learningobjects/search/status/IndexingStatusRecorder;)V'com/learningobjects/search/SearchConfig+()Lcom/learningobjects/search/SearchConfig;getContentNodeFilter1()Lcom/learningobjects/content/ContentNodeFilter;(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNodeAdapterProvider;Lcom/learningobjects/content/ContentNodeFilter;)VgetLastModified()J resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;!' *+,-./012345678,9:;,<=;>8?;@ABCD-*-*+*,*, * * E/0 123"4,5F4-GH--.-I0-JK-L4MN OPD|Y*+,-:Y E; <=F4 QR-.I0JKL4MSTD.EBF GHUVD-EFF GHWVD-EJF GHXVD-ENF GHYZD,ERF GH[\Dk5* Y*Y**Y**  !EXY[\F 5GH]^DN****"E`a bcdF GH_`D7EFGHabcVD;*#*$%a&EF GHdeD/*EF fHghD/*EF fHijD/*EF fHklD6 *YZ`EF  fHmnD/*EF fHolD/*EF fHpqD/*EF fHrlD/*EF fHstD;*#ZEFfHu8vwD;*ZEFfHu;xy) (PK UsY<7 ZWEB-INF/classes/com/learningobjects/content/bb/BbCourseContentAdapter$CCFileIterator.class1j 8 9 : ; <= >? @AB C DE FG HI J KLM NPQ_courseLblackboard/data/course/Course; _contentIdLblackboard/persist/Id;this$07Lcom/learningobjects/content/bb/BbCourseContentAdapter;(Lcom/learningobjects/content/bb/BbCourseContentAdapter;Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;Lblackboard/persist/Id;)VCodeLineNumberTableLocalVariableTablethisCCFileIterator InnerClassesFLcom/learningobjects/content/bb/BbCourseContentAdapter$CCFileIterator;childrenLjava/util/Iterator;parent)Lcom/learningobjects/content/ContentNode; targetCoursetargetContentId toContentNode=(Ljava/lang/Object;)Lcom/learningobjects/content/ContentNode;e4Lblackboard/platform/filesystem/FileSystemException;objLjava/lang/Object; contentDirLjava/io/File;fs2Lblackboard/platform/filesystem/FileSystemService; Exceptions SourceFileBbCourseContentAdapter.java  R   ST0blackboard/platform/filesystem/FileSystemServiceU VW XY6com/learningobjects/content/bb/BbFileAttachmentAdapter#blackboard/data/content/ContentFile Z[ \2blackboard/platform/filesystem/FileSystemException] ^_` ab cde fg,com/learningobjects/content/ContentException hiDcom/learningobjects/content/bb/BbCourseContentAdapter$CCFileIterator6com/learningobjects/content/DefaultContentNodeIterator()Vinit@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V$blackboard/platform/BbServiceManagersafeLookupService<(Ljava/lang/Class;)Lblackboard/platform/CorePlatformService;getContentDirectoryF(Lblackboard/data/course/Course;Lblackboard/persist/Id;)Ljava/io/File; getParentNode+()Lcom/learningobjects/content/ContentNode;(Lblackboard/data/content/ContentFile;Ljava/io/File;Lblackboard/persist/Id;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;)V&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level; getMessage()Ljava/lang/String;java/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V(Ljava/lang/Throwable;)V5com/learningobjects/content/bb/BbCourseContentAdapter *+****,-  4!$%&'()*+,PMN-**M Y+ ,** * :Y 34  46F 46-.P!$P/0N12 D34567# O"PK UsY(Lcom/learningobjects/content/bb/BbCourseContentAdapter;Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis CCIterator InnerClassesBLcom/learningobjects/content/bb/BbCourseContentAdapter$CCIterator;childrenLjava/util/Iterator;parent)Lcom/learningobjects/content/ContentNode; targetCourse toContentNode=(Ljava/lang/Object;)Lcom/learningobjects/content/ContentNode;objLjava/lang/Object; SourceFileBbCourseContentAdapter.java  - ./5com/learningobjects/content/bb/BbCourseContentAdapterblackboard/data/content/Content 01 2@com/learningobjects/content/bb/BbCourseContentAdapter$CCIterator6com/learningobjects/content/DefaultContentNodeIterator()Vinit@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V getParentNode+()Lcom/learningobjects/content/ContentNode;l(Lblackboard/data/content/Content;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)V   n*+***,- * HY+** !"  PK UsYl(Lblackboard/data/content/Content;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/bb/BbCourseContentAdapter;source targetCourseparent)Lcom/learningobjects/content/ContentNode;getId()Ljava/lang/String;getLastModified()J isDirectory()Zdispose()V getContents()Ljava/io/Reader;bodyLjava/lang/StringBuffer;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator; otherChildren1Lcom/learningobjects/content/ContentNodeIterator; embeddedFiles childNodes ExceptionsgetEmbeddedFilesstoreDirLjava/io/File;dirchild-Lcom/learningobjects/content/FileContentNode; getContentTypeSpecificChildNodesf Lblackboard/data/content/Folder;e.Lcom/learningobjects/content/ContentException; getCourseIdgetTextCourseIdlistJournalChildNodesLjava/io/IOException;iI journalFolderentries[Ljava/io/File;childrenLjava/util/List; getSummarygetTitletitlegetStructuredData()Ljava/util/HashMap;valLjava/lang/Object; parentMapisLessonLjava/lang/Boolean; isInLessonhashLocalFieldsgetGuard,()Lcom/learningobjects/content/ContentGuard; isTeamsSiteZ isJournal getContentDir()Ljava/io/File;loadCourseRootFolder(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/persist/BbPersistenceManager;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;nexttoc&Lblackboard/data/navigation/CourseToc;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;pm)Lblackboard/persist/BbPersistenceManager; tocLoader1Lblackboard/persist/navigation/CourseTocDbLoader; contentListLblackboard/base/BbList;itrLjava/util/Iterator; container2Lcom/learningobjects/content/ContentNodeContainer;loadCourseContent(Lblackboard/persist/BbPersistenceManager;Lblackboard/persist/Id;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;listcLjava/lang/Exception;targetContentIdLblackboard/persist/Id;loader,Lblackboard/persist/content/ContentDbLoader; loadHeavy loadUidPathk(Lblackboard/persist/BbPersistenceManager;Lblackboard/persist/Id;Lblackboard/persist/Id;)Ljava/lang/String;courseId contentIdbbListuidPathitbuildContentTreeR(Lblackboard/base/BbList;Lblackboard/persist/Id;)Lblackboard/data/content/Content; newFolder7Lcom/learningobjects/content/bb/BbGenericContentFolder; nextChildparentId rootNodeIdtempLjava/util/Hashtable; enumerationLjava/util/Enumeration;logNonFatalSearchError(Ljava/lang/Exception;)V SourceFileBbCourseContentAdapter.java java/lang/NullPointerException 3com/learningobjects/content/bb/BbCourseContentGuard      java/lang/StringBuffer          java/io/StringReader   5com/learningobjects/content/JoinedContentNodeIterator     loi-teams  java/io/Fileattach   loi-journaljava/lang/StringBuilder     +com/learningobjects/content/FileContentNode  course_id parent_content_id  is_package  campus_packteamsjournal6com/learningobjects/content/DefaultContentNodeIterator  !" #$ %blackboard/data/content/Folder@com/learningobjects/content/bb/BbCourseContentAdapter$CCIterator &'( ) *' +,Dcom/learningobjects/content/bb/BbCourseContentAdapter$CCFileIterator - . /0 12 34 ,com/learningobjects/content/ContentException <= 5 67java/util/ArrayList4com/learningobjects/content/journal/JournalEntryNode 89 :;java/io/IOException< =>java/lang/String ? @;no title blackboard/data/content/Lesson A BC DEjava/lang/Boolean Fjava/util/HashMap GH IJK , LM Nresource/x-lobj-teams-groupresource/x-lobj-journalO PQCourseTocDbLoaderR ST/blackboard/persist/navigation/CourseTocDbLoader UV0com/learningobjects/content/ContentNodeContainer coursecontentCourse ContentsFolder of top level contents.? @BCD(E*))))5 * H  5 * L  ,P E*** TU VW KYL** *%+*W+W+*WY+Z[\,]3^?bKCj*L*MY,+N-fg hi* M~L** !M"Y,#$L[*,*%M*%&C*'!M"Y,#$L+*$"Y*(Y)*+#+,$L+ +-./Y+*0M,1*23,4*53,673,8*9*:3;Y,<=*>Nmn opq(r9sCtNuQvXwyyz{|}~4 C RMr*?"*?L@Y*+AB**C*/*DE"FY**DB*** G*`* !L/Y*+H*IM,JK,1*L3,4*53,673;Y,<=*>L*+N**O.cMN )=\cm~4mJ~95 *P   2*Q k*'!L+JRMSYTN,A6,7*UY,2***V%-*%WW :*NȻ;Y-Y*>(KNX2 (@KNPV\>P!;k aYQ8*Z >[Y\L** *"*L++]^_`+L+%<>60*a*a7L7M*b cL:*deN-,-fg: hM-ig: hM+j ,j)*kYla*af+mW*ai,mW*aR %/3;@IQV\ju4;!/-~;*n*opaq /* G*rs_<     7 *rt_    ?*Q* u   W +vwx:,Py:B:SYT:zY{-|}~Y*,:B:  ( + ,:   WW:   (BLXky~p y X0  }v(mBS  !g*w:6+:+:Y,-:(Y)++ ++-++,./"% &(*#-/.1/e1\ "# #14$gg%&gg \'(Y)  *+r*wN-,:Y:W+ WWB:(:W W6 5 689$:.;6<==G>S?[@iAlBRS#rr,&r-& h'(_.V/=50 12f*E *Y*EM*BN--:, W*BN--: +:,:)(Y)+ +,b?Z(Y)+ ++++,Y:, WA,:D: +:,:?,+!OQTU"V+W6XBYE[J\S]^^j`mbtcdfgikl n prs(t4v7x>yIzN{Z}] 6  34^5t6&(25>6&If"f7&I89"DT:;<=Y!(Y)+++,+  !!$>?F@PK UsY< /R  RWEB-INF/classes/com/learningobjects/content/bb/BbCourseContentContainerGuard.class1 2d 1ef gh ijk d 1lm n opq nr d ost d uvw d uxy d uz{ 1| }~ d d o "d $d u '} u 3 g  . oVIEW_ENTITLEMENT_KEY_COURSELjava/lang/String; ConstantValueVIEW_ENTITLEMENT_KEY_ORGCOURSE_APP_KEY _targetCourseLblackboard/data/course/Course; _decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/bb/BbCourseContentContainerGuard;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; targetCourseapp8Lblackboard/data/navigation/CourseNavigationApplication;nmsbr6Lcom/learningobjects/content/decisiontree/YesNoBranch;cbrcsgbrnglistNewCredentials+()[Lcom/learningobjects/content/Credential;getMyEntitlementKey()Ljava/lang/String; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionId credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; Exceptions SourceFile"BbCourseContentContainerGuard.java = 9:content  0com/learningobjects/content/ActionMustBeReadRule ;<Icom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule = Kcom/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRulecom/learningobjects/content/bb/auth/AllowCourseCredentialsRule 7com/learningobjects/content/bb/auth/IsSystemGuestBranch>com/learningobjects/content/bb/auth/AllowSystemCredentialsRule Dcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule  course.content.VIEW=com/learningobjects/content/bb/auth/AllowCourseAccessQuestion = ? **,*N*Y* Y- : Y- :Y:Y:YWY:Y+* :Y :Y !WY:"Y#:  $Y%&W 'Y+*():  $Y%!W@N,- /1!223A4O6]7j9x:;<>?@ABGAp BCDEF:GH2I<OJK]LKxxM<<N<.OK P< QR?.*@JA BCST?E*+,--@N OQA BCUV?|.Y+,-*/:*0@ UVA>BCWXYZ[5\] ^_`abc gPK UsY<>̷ IWEB-INF/classes/com/learningobjects/content/bb/BbCourseContentGuard.class1U 8 9 :; 8 <= 8 >?@ 8A 8 >B CD E >FGHI_targetContent!Lblackboard/data/content/Content; _targetCourseLblackboard/data/course/Course; _decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;C(Lblackboard/data/course/Course;Lblackboard/data/content/Content;)VCodeLineNumberTableLocalVariableTablethis5Lcom/learningobjects/content/bb/BbCourseContentGuard; targetCourse targetContentrlistNewCredentials+()[Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; ExceptionsJ SourceFileBbCourseContentGuard.java K  Ocom/learningobjects/content/bb/auth/DenyGuestsIfCourseContentGuestsDisabledRule Zcom/learningobjects/content/bb/auth/DenyCourseRolesExceptInstructorIfContentNotVisibleRuleL MN7com/learningobjects/content/DenyIfDeniedInParentAclRule7com/learningobjects/content/decisiontree/DefaultToAllow MO PQDcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion R ST3com/learningobjects/content/bb/BbCourseContentGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException()V4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule;NULL_CREDENTIAL_LIST)[Lcom/learningobjects/content/Credential;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;Lblackboard/data/content/Content;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;!A**+*,*Y*Y N- Y N- Y W" "(#4$@% *A!"A#A$(%&'.( !"() Y+,-**:* ,- > !" *+ ,- ./ 01 234567PK UsY<,AABWEB-INF/classes/com/learningobjects/content/bb/BbCourseGuard.class1 ?s >t uvwx yz { y| y} y~ y y > s > s  s  s  s  s  s "s > $ 's  *s ,s .s 0s 2s 4  8 u VIEW_ENTITLEMENT_KEY_COURSELjava/lang/String; ConstantValueVIEW_ENTITLEMENT_KEY_ORG _credentials)[Lcom/learningobjects/content/Credential; _targetCourseLblackboard/data/course/Course; _decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;](Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis.Lcom/learningobjects/content/bb/BbCourseGuard;entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry; targetCoursecourseIdLblackboard/persist/Id; credentialssbr6Lcom/learningobjects/content/decisiontree/YesNoBranch;cbrcsgbrgnglistNewCredentials+()[Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionId credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; ExceptionsgetMyEntitlementKey()Ljava/lang/String; SourceFileBbCourseGuard.java K GH &com/learningobjects/content/Credential9com/learningobjects/content/bb/CourseMembershipCredential K EF0com/learningobjects/content/ActionMustBeReadRule IJcom/learningobjects/content/bb/auth/AllowCourseCredentialsRule \com/learningobjects/content/bb/auth/DenySystemRolesExceptSystemAdminIfCourseNotAvailableRule7com/learningobjects/content/DenyIfDeniedInParentAclRule7com/learningobjects/content/bb/auth/IsSystemGuestBranchLcom/learningobjects/content/bb/auth/DenySystemGuestIfCourseGuestDisabledRule>com/learningobjects/content/bb/auth/AllowSystemCredentialsRuleDcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule course.VIEW =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion K  organization.VIEW,com/learningobjects/content/bb/BbCourseGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException()Vblackboard/data/course/CoursegetId()Lblackboard/persist/Id;,blackboard/data/course/CourseMembership$RoleRole InnerClassesSTUDENT.Lblackboard/data/course/CourseMembership$Role;H(Lblackboard/persist/Id;Lblackboard/data/course/CourseMembership$Role;)V INSTRUCTORTEACHING_ASSISTANTCOURSE_BUILDERGRADERGUEST4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;4com/learningobjects/content/decisiontree/YesNoBranch linkNoBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule; linkYesBranchn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;P(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Ljava/lang/String;)V(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;getServiceLevelType ServiceLevel.()Lblackboard/data/course/Course$ServiceLevel;*blackboard/data/course/Course$ServiceLevel COMMUNITY,Lblackboard/data/course/Course$ServiceLevel;'blackboard/data/course/CourseMembership!>?@ABC5DBC=EFGHIJKLMT d**,*NYY-SYY-SYY- SYY- SYY- SYY- S:* *Y*Y:Y:YWY:Y: Y!:"Y#:$Y+*%&:'Y()W*Y+:,Y-:.Y/:  0Y1:  2Y3)W 4Y+567:  2Y3)WN^12 34l:r<}=?@BCDEFGIJK*L8MENVXcYOz dPQdRSdTHSUVlWFXYZY[JV\J*:]Y 8,^J V_J `aM/* N\O PQbcM|8Y+,-*9:*:N `aO>PQdefghBij klmnopME*;<=5Ne fhO PQqryuPK UsY<ݤBWEB-INF/classes/com/learningobjects/content/bb/BbDataSession.class1 getContent5(Ljava/lang/String;)Lblackboard/data/content/Content; Exceptions getCourse3(Ljava/lang/String;)Lblackboard/data/course/Course;8(Lblackboard/persist/Id;)Lblackboard/data/course/Course;getCourseMembershipY(Lblackboard/persist/Id;Lblackboard/persist/Id;)Lblackboard/data/course/CourseMembership;getCurrentUser)()Lcom/learningobjects/content/bb/BbUser;getContentPath;(Ljava/lang/String;Lblackboard/persist/Id;)Ljava/util/List; SourceFileBbDataSession.java,com/learningobjects/content/bb/BbDataSessionjava/lang/Object'blackboard/persist/PersistenceException'blackboard/persist/KeyNotFoundException      PK UsY(Lblackboard/data/content/ContentFile;Ljava/io/File;Lblackboard/persist/Id;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/bb/BbFileAttachmentAdapter;source contentDirLjava/io/File;parentContentIdLblackboard/persist/Id;parent)Lcom/learningobjects/content/ContentNode; parentCourseLblackboard/data/course/Course;fileNameLjava/lang/String;linkName ExceptionsgetLastModified()J getContents()Ljava/io/Reader; getSummary()Ljava/lang/String;getIdgetTitledispose()VlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;lLjava/util/List; isDirectory()ZgetStructuredData()Ljava/util/HashMap;hashLocalFields isViewable SourceFileBbFileAttachmentAdapter.java < 45   67java/lang/StringBuilder <Zdir_ V V V+com/learningobjects/content/FileContentNode < :; course_id V parent_content_id Vcontent_file_id W is_packagejava/lang/Boolean < ab java/util/HashMap 89  R  YZjava/util/LinkedList 6com/learningobjects/content/DefaultContentNodeIterator < QR  c d`6com/learningobjects/content/bb/BbFileAttachmentAdapter+com/learningobjects/content/BaseContentNode,com/learningobjects/content/ContentException,(Lcom/learningobjects/content/ContentNode;)V#blackboard/data/content/ContentFile getActionAction InnerClasses.()Lblackboard/data/content/ContentFile$Action;*blackboard/data/content/ContentFile$ActionPACKAGE,Lblackboard/data/content/ContentFile$Action;java/lang/Objectequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getNametoString getLinkNameL(Ljava/io/File;Ljava/lang/String;Lcom/learningobjects/content/ContentNode;)Vblackboard/data/course/Course getCourseIdsetStructuredData((Ljava/lang/String;Ljava/lang/Object;Z)Vblackboard/persist/IdtoExternalString()Lblackboard/persist/Id;(Z)Vclone()Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;getModifiedDate()Ljava/util/Calendar;java/util/CalendargetTimeInMillis'com/learningobjects/content/ContentNodeNO_SEARCHABLE_CONTENT_READERLjava/io/Reader;'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String;java/util/Listadditerator()Ljava/util/Iterator;@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;!23456789:; <=>h**+***Y + + :+ :*Y,***-*+*Y**** W*! W?:$% &'B(H)W*f+t,-./01@RABC5DEFGHIJKBLMH|NMOPQR>5 *"#?4@  ABST>.$?8@ ABUV>5 * %?@@  ABWV>5 *?D@  ABXV>2* ?H@ ABYZ>E***&?LM NO@ AB[\>^"'Y(L+*)W*Y++*,?RST@"AB]^_`>,?X@ ABab>/*?\@ ABcV>;*-*./a0?`@ ABd`>2*1?d@ ABef kiPK UsY<   KWEB-INF/classes/com/learningobjects/content/bb/BbGenericContentFolder.class1 E D  D  E E E E E E E D E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  DATA_TYPELblackboard/persist/DataType;_source!Lblackboard/data/content/Content; _childrenLblackboard/base/BbList;$(Lblackboard/data/content/Content;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/bb/BbGenericContentFolder;source addContentcontent%(Lblackboard/data/content/Content;I)VnPosI getChildren()Lblackboard/base/BbList;addContentFile((Lblackboard/data/content/ContentFile;)Vcf%Lblackboard/data/content/ContentFile;getAllowGuests()ZgetAllowObserversgetBody!()Lblackboard/base/FormattedText;getContentFilesgetContentHandler()Ljava/lang/String; getCourseId()Lblackboard/persist/Id; getDataType()Lblackboard/persist/DataType; getEndDate()Ljava/util/Calendar;getIsAvailablegetIsDescribed getIsFoldergetIsFromCartridge getIsLessongetIsSequential getIsTrackedgetLaunchInNewWindowgetOfflineNamegetOfflinePath getParentId getPosition()IgetRemovedFiles getRenderType RenderType InnerClasses.()Lblackboard/data/content/Content$RenderType; getStartDategetTitle getTitleColorgetUrlremoveContentFile(Lblackboard/persist/Id;)VidLblackboard/persist/Id;setAllowGuests(Z)V bAllowGuestsZsetAllowObserversbAllowObserverssetBody"(Lblackboard/base/FormattedText;)VtextLblackboard/base/FormattedText;setContentHandler(Ljava/lang/String;)VhandlerLjava/lang/String; setCourseId iCourseId setEndDate(Ljava/util/Calendar;)VcalLjava/util/Calendar;setIsAvailable bIsAvailablesetIsDescribed bIsDescribed setIsFolderisFoldersetIsFromCartridgebIsFromCartridge setIsLessonisLessonsetIsSequential sequential setIsTracked bIsTrackedsetLaunchInNewWindow newWindowsetOfflineNamestrOfflineNamesetOfflinePathstrOfflinePath setParentId iParentId setPosition(I)V setRenderType/(Lblackboard/data/content/Content$RenderType;)V eRenderType,Lblackboard/data/content/Content$RenderType; setStartDatesetTitlestrTitle setTitleColor strTitleColorsetUrlstrUrlgetBbAttributes ()Lblackboard/data/BbAttributes;getCreatedDategetIdgetModifiedDatesetCreatedDate cCreatedDatesetIdiIdsetModifiedDate cModifiedDatetoStringvalidate()V Exceptions SourceFileBbGenericContentFolder.java M IJblackboard/base/BbList KL  \] `a ba cd e[ fg hi GH lm na oa qa ra sa ta ua vg wg xi yz {[ | m g g g ] m i m g 5com/learningobjects/content/bb/BbGenericContentFolderblackboard/data/content/Contentblackboard/data/content/Folder*blackboard/data/content/Content$RenderType#blackboard/data/ValidationExceptionadd(Ljava/lang/Object;)Z%blackboard/data/content/ContentFolder!DEFGHIJKLBMNOU**+*YP QRSTJUNOB *+WP  Q RS VJUWOL *+WP ! "Q  RS VJ XYZ[O/*P%Q RS\]OA *+P +,Q RS ^_`aO2*P/Q RSbaO2* P3Q RScdO2* P7Q RSe[O2* P;Q RSfgO2* P?Q RShiO2* PCQ RSjkO.PGQ RSlmO2*PKQ RSnaO2*POQ RSoaO2*PSQ RSpaO,PWQ RSqaO2*P[Q RSraO2*P_Q RSsaO2*PcQ RStaO2*PgQ RSuaO2*PkQ RSvgO2*PoQ RSwgO2*PsQ RSxiO2*PwQ RSyzO2*P{Q RS{[O2*PQ RS|O2*PQ RSmO2*PQ RSgO2*PQ RSgO2*PQ RSgO2* PQ RS]OA *+!P Q RS ^_OA *+"P Q RS OA *#P Q RS OA *$P Q RS OA *+%P Q RS OA *+&P Q RS OA *+'P Q RS OA *+(P Q RS OA *)P Q RS OA **P Q RS OA *+P Q RS OA *,P Q RS OA *-P Q RS OA *.P Q RS OA */P Q RS OA *0P Q RS OA *+1P Q RS OA *+2P Q RS OA *+3P Q RS OA *4P Q RS XYOA *+5P Q RS OA *+6P Q RS OA *+7P Q RS OA *+8P Q RS OA *+9P Q RS O2*:PQ RSmO2*;PQ RSiO2*<PQ RSmO2*=P Q RSOA *+>P Q RS OA *+?P Q RS OA *+@P Q RS gO2*APQ RSO6*BP Q RSOCP }E~PK UsY<(jjPWEB-INF/classes/com/learningobjects/content/bb/BbInstitutionRoleCredential.class14 " #$ "% & ' ()*INST_ROLE_NODELjava/lang/String; ConstantValue+ _instRole-InstRole InnerClasses$Lblackboard/data/user/User$InstRole;'(Lblackboard/data/user/User$InstRole;)VCodeLineNumberTableLocalVariableTablethis(Lcom/learningobjects/content/bb/BbStaffInfoAdapter;Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethisStaffInfoIterator InnerClassesELcom/learningobjects/content/bb/BbStaffInfoAdapter$StaffInfoIterator;childrenLjava/util/Iterator;parent)Lcom/learningobjects/content/ContentNode; targetCourse toContentNode=(Ljava/lang/Object;)Lcom/learningobjects/content/ContentNode;objLjava/lang/Object; SourceFileBbStaffInfoAdapter.java  - ./1com/learningobjects/content/bb/BbStaffInfoAdapter!blackboard/data/content/StaffInfo 01 2Ccom/learningobjects/content/bb/BbStaffInfoAdapter$StaffInfoIterator6com/learningobjects/content/DefaultContentNodeIterator()Vinit@(Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;)V getParentNode+()Lcom/learningobjects/content/ContentNode;n(Lblackboard/data/content/StaffInfo;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)V   n*+***,- * HY+** !"  PK UsYn(Lblackboard/data/content/StaffInfo;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis3Lcom/learningobjects/content/bb/BbStaffInfoAdapter;source targetCourseparent)Lcom/learningobjects/content/ContentNode;getLastModified()J getContents()Ljava/io/Reader;bodyLjava/lang/StringBuffer; getSummary()Ljava/lang/String;getIdgetTitle isDirectory()ZlistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;f)Lblackboard/data/content/StaffInfoFolder;dispose()VhashLocalFieldsloadCourseRootFolder(Lblackboard/persist/BbPersistenceManager;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/content/ContentNode;pm)Lblackboard/persist/BbPersistenceManager;loader.Lblackboard/persist/content/StaffInfoDbLoader;folder ExceptionsgetGuard,()Lcom/learningobjects/content/ContentGuard; SourceFileBbStaffInfoAdapter.java < 67 89/com/learningobjects/content/bb/BbStaffInfoGuard < :;  Hjava/lang/StringBuffer <X N  N  N N Njava/io/StringReader N <java/lang/StringBuilder  O N QR PN R'blackboard/data/content/StaffInfoFolderCcom/learningobjects/content/bb/BbStaffInfoAdapter$StaffInfoIterator  < WX GH  Y StaffInfoDbLoader ,blackboard/persist/content/StaffInfoDbLoader 1com/learningobjects/content/bb/BbStaffInfoAdapter <=+com/learningobjects/content/BaseContentNode'com/learningobjects/content/GuardedNode'blackboard/persist/PersistenceException'blackboard/persist/KeyNotFoundException,(Lcom/learningobjects/content/ContentNode;)V"(Lblackboard/data/course/Course;)V!blackboard/data/content/StaffInfogetModifiedDate()Ljava/util/Calendar;java/util/CalendargetTimeInMillis getGivenNameappend,(Ljava/lang/String;)Ljava/lang/StringBuffer; getFamilyName getBiography!()Lblackboard/base/FormattedText;blackboard/base/FormattedTextgetTextgetEmailgetOfficeAddresstoString(Ljava/lang/String;)V-(Ljava/lang/String;)Ljava/lang/StringBuilder;'com/learningobjects/content/ContentUtil cleanSummary&(Ljava/lang/String;)Ljava/lang/String;()Lblackboard/persist/Id;blackboard/persist/IdtoExternalString getIsFolder getChildren()Lblackboard/base/BbList;blackboard/base/BbListiterator()Ljava/util/Iterator;(Lcom/learningobjects/content/bb/BbStaffInfoAdapter;Ljava/util/Iterator;Lcom/learningobjects/content/ContentNode;Lblackboard/data/course/Course;)V/com/learningobjects/content/ContentNodeIteratorEMPTY_CHILD_ITERATOR1Lcom/learningobjects/content/ContentNodeIterator; resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(J)Ljava/lang/String;'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader;blackboard/data/course/CourseloadFolderByCourseIdB(Lblackboard/persist/Id;)Lblackboard/data/content/StaffInfoFolder;!0236789:; <=>t*-*+*,*Y,?-. /01@*ABC7D9EFGH>5 *?4@  ABIJ>| Y L+* W+ W+* W+ W*+* W+ W+* W+ W+* WY+?2 :;<='>.?;@JAQC]DdEpF@|ABtKLMN>Q'Y*  *?J@ 'ABON>5 *?N@  ABPN>e3* *Y*  *?RSU@ 3ABQR>2*?]@ ABST>k+* * L!Y*+"#**$%?a bc'e@UV+ABWX>E***&?jk lm@ ABYN>;*'*()a*?p@ AB Z[>)*+,-N-+./:0Y+,1?v wxyz@4)\])D9)EF ^_`7abcde>/*?@ ABfg5 !04PK UsY<4EWEB-INF/classes/com/learningobjects/content/bb/BbStaffInfoGuard.class1 &P %QR ST UVW P %XY Z [\] Z^ P [_` P abc P ade P afg Ph P [ij P 'kl "m [nopqCOURSE_APP_KEYLjava/lang/String; ConstantValue _targetCourseLblackboard/data/course/Course; _decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;"(Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis1Lcom/learningobjects/content/bb/BbStaffInfoGuard; targetCourseapp8Lblackboard/data/navigation/CourseNavigationApplication;nmsbr6Lcom/learningobjects/content/decisiontree/YesNoBranch;cbrcslistNewCredentials+()[Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionId credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; Exceptionsr SourceFileBbStaffInfoGuard.java /s +,staff_informationt uvw xy0com/learningobjects/content/ActionMustBeReadRule -.Icom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule /z{ |}Kcom/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRulecom/learningobjects/content/bb/auth/AllowCourseCredentialsRule |>com/learningobjects/content/bb/auth/AllowSystemCredentialsRule =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion / /com/learningobjects/content/bb/BbStaffInfoGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException()Vblackboard/data/course/CoursegetId()Lblackboard/persist/Id;2com/learningobjects/content/bb/BbAuthorizationUtilloadNavApplicationc(Ljava/lang/String;Lblackboard/persist/Id;)Lblackboard/data/navigation/CourseNavigationApplication;;(Lblackboard/data/navigation/CourseNavigationApplication;)V4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;n(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;4com/learningobjects/content/decisiontree/YesNoBranch linkNoBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule; linkYesBranchNULL_CREDENTIAL_LIST)[Lcom/learningobjects/content/Credential;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;!%&'()*+,-./01S**+*M*Y* Y, N- Y, N-Y:Y:YWY:Y :YWY:Y W2>"# %'!(1)>*K,Y-f/t2378=3R456,781z9.K`:;YR<;t7=.>.?@1.!2@3 45AB1|"Y+,-*#:*$2 DE3>45CDEFG)HI JKLMNOPK UsY<BjjKWEB-INF/classes/com/learningobjects/content/bb/BbSystemRoleCredential.class14 " #$ "% & ' ()*SYSTEM_ROLE_NODELjava/lang/String; ConstantValue+ _systemRole- SystemRole InnerClasses&Lblackboard/data/user/User$SystemRole;)(Lblackboard/data/user/User$SystemRole;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/bb/BbSystemRoleCredential; systemRole getSystemRole(()Lblackboard/data/user/User$SystemRole; getUidImpl()Ljava/lang/String; SourceFileBbSystemRoleCredential.java . java/lang/StringBuildersystem- /0 1 25com/learningobjects/content/bb/BbSystemRoleCredential*com/learningobjects/content/BaseCredentialsystem3$blackboard/data/user/User$SystemRole()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; toFieldNametoStringblackboard/data/user/User!   F **+    /* DY*  ! ,PK UsY()VCodeLineNumberTableLocalVariableTablethis2Lcom/learningobjects/content/bb/BbSystemRootGuard; credentialsbranch6Lcom/learningobjects/content/decisiontree/YesNoBranch;nextlistNewCredentials+()[Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential;question3Lcom/learningobjects/content/decisiontree/Question; Exceptionsi SourceFileBbSystemRootGuard.java *+&com/learningobjects/content/Credential5com/learningobjects/content/bb/BbSystemRoleCredentialk no *p qo ro so to uo vo wo &'0com/learningobjects/content/ActionMustBeReadRule ()com/learningobjects/content/bb/auth/AllowSystemCredentialsRule y}6com/learningobjects/content/AllowContentAccessQuestion * 0com/learningobjects/content/bb/BbSystemRootGuardjava/lang/Object(com/learningobjects/content/ContentGuardjava/lang/ClassCastException$blackboard/data/user/User$SystemRole SystemRole InnerClasses SYSTEM_ADMIN&Lblackboard/data/user/User$SystemRole;)(Lblackboard/data/user/User$SystemRole;)VSYSTEM_SUPPORTCOURSE_CREATORCOURSE_SUPPORT ACCOUNT_ADMINGUESTUSEROBSERVER4com/learningobjects/content/decisiontree/ChainedRulelinkNextn(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;4com/learningobjects/content/decisiontree/YesNoBranch linkNoBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule; linkYesBranchn(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Vperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;blackboard/data/user/User!#$%&'()*+,0*YYSYYSYYSYYSYY SYY SYY SYY SL*+ *Y*YM,YW,YN-YN-YW-* t(y*+,-./0.*/0tP1'1234)56,/* -3. /078,x Y+,-!:*"- 78.>/09:;<=>?@ ABCDEFm JjlPK UsY(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis1Lcom/learningobjects/content/bb/BbUserCredential; getUserName()Ljava/lang/String; getUidImpl SourceFileBbUserCredential.java $  java/lang/StringBuilderuser- %& '/com/learningobjects/content/bb/BbUserCredential*com/learningobjects/content/BaseCredentialuser()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString!     F **+     /* AY* PK UsYWEB-INF/classes/com/learningobjects/content/bb/BbVersion.class1 C D EF GHI JK LM N O P QRS TU VW VX YZ [\] J^_BB_62_VERSION_CLASSNAMELjava/lang/String; ConstantValueBB_63_VERSION_CLASSNAMEBB_71_VERSION_CLASSNAMEloggerLjava/util/logging/Logger;instance*Lcom/learningobjects/content/bb/BbVersion;()VCodeLineNumberTableLocalVariableTablethis getInstance,()Lcom/learningobjects/content/bb/BbVersion; Exceptions`abcisBbVersionAtLeast(III)ZmajorIminorpatchplatformVersion$Lblackboard/platform/plugin/Version;specifiedVersion loadBbVersion>(Ljava/lang/String;)Lcom/learningobjects/content/bb/BbVersion;bbVersionClassnameloaderLjava/lang/ClassLoader;bbVersionClassLjava/lang/Class;getContentModel1()Lcom/learningobjects/content/bb/BbContentModel; SourceFileBbVersion.java !"  ./*com.learningobjects.content.bb.Bb71Version 78*com.learningobjects.content.bb.Bb63Version*com.learningobjects.content.bb.Bb62Versiond ef gh"blackboard/platform/plugin/Version !i jk l mn#Using BbVersion implementation: {0}o pqr st uvw xyz {|(com/learningobjects/content/bb/BbVersion }~java/lang/Object java/lang/ClassNotFoundException java/lang/InstantiationException java/lang/IllegalAccessException+blackboard/platform/plugin/VersionException&com/learningobjects/util/ExtensionUtil getBbVersion()Ljava/lang/String;parse8(Ljava/lang/String;)Lblackboard/platform/plugin/Version;(III)Vcompare'(Lblackboard/platform/plugin/Version;)Ijava/util/logging/LevelCONFIGLjava/util/logging/Level;java/util/logging/Loggerlog@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)Vjava/lang/Thread currentThread()Ljava/lang/Thread;getContextClassLoader()Ljava/lang/ClassLoader;java/lang/ClassLoader loadClass%(Ljava/lang/String;)Ljava/lang/Class;java/lang/Class newInstance()Ljava/lang/Object;getLog()Ljava/util/logging/Logger;!  !"#/*$% & '(#l<5  $.012%30588) *+,- ./#}# N Y :- $<=>%4#01#21#314565)- 78#k! *L+*M,$B CDE% !9:;<=)*+,>?@"# $ABPK UsY?@Amodel/Lcom/learningobjects/content/bb/BbContentModel;session.Lcom/learningobjects/content/bb/BbDataSession;(Lcom/learningobjects/content/bb/BbContentModel;Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/content/bb/ContentChildSearchResult;node)Lcom/learningobjects/content/ContentNode; isAvailableTo*(Lcom/learningobjects/content/bb/BbUser;)Zuser'Lcom/learningobjects/content/bb/BbUser; ExceptionsBisStudentViewAvailableTogetParentResult3()Lcom/learningobjects/search/results/SearchResult;contentparentContentIdLjava/lang/String; SourceFileContentChildSearchResult.java C   &'D  % EFG HIparent_content_idJ KLjava/lang/String:com/learningobjects/search/results/GenericSearchResultType M NOP QR7com/learningobjects/content/bb/ContentChildSearchResult3com/learningobjects/search/results/BaseSearchResult*com/learningobjects/search/SearchException,(Lcom/learningobjects/content/ContentNode;)V/com/learningobjects/search/results/SearchResultgetContentNode+()Lcom/learningobjects/content/ContentNode;'com/learningobjects/content/ContentNodegetStructuredData()Ljava/util/HashMap;java/util/HashMapget&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)VcreateSearchResult(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/search/results/SearchResult;-com/learningobjects/content/bb/BbContentModelcreateCourseContentSearchResults(Lcom/learningobjects/content/bb/BbDataSession;Ljava/lang/String;)Lcom/learningobjects/search/results/SearchResult;!d*-*+*, * ? *+  !"#$% ? *+  !"#$&'6*L+ M, Y *+**,)! 61(")*+,PK UsYD(Lcom/learningobjects/content/bb/BbContentModel;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/content/bb/ContentChildSearchResultType; displayNameLjava/lang/String;createSearchResult(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/search/results/SearchResult;session.Lcom/learningobjects/content/bb/BbDataSession; contentNode)Lcom/learningobjects/content/ContentNode; SourceFile!ContentChildSearchResultType.java 7com/learningobjects/content/bb/ContentChildSearchResult !;com/learningobjects/content/bb/ContentChildSearchResultType7com/learningobjects/search/results/BaseSearchResultType(Ljava/lang/String;)V(Lcom/learningobjects/content/bb/BbContentModel;Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)V!  Q *,*+       LY*+,  PK UsY(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis InnerClasses 4 YC  4 YH  4 YM  4 YR   4 Y W  !"4 Y \  #$%&'  PK UsY<6/NWEB-INF/classes/com/learningobjects/content/bb/CourseContentSearchResult.class1 "N !O !P !Q RS !T !UVW X !Y !Z [\ R] ^_ `a bc bde f ^gh k !l ^m nop ^q rs tu !v wlxysession.Lcom/learningobjects/content/bb/BbDataSession;Z(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/content/bb/CourseContentSearchResult; contentNode)Lcom/learningobjects/content/ContentNode;C(Lcom/learningobjects/content/bb/BbDataSession;Ljava/lang/String;)VparentContentIdLjava/lang/String; isAvailableTo*(Lcom/learningobjects/content/bb/BbUser;)Ze)Lblackboard/persist/PersistenceException;user'Lcom/learningobjects/content/bb/BbUser; ExceptionsisStudentViewAvailableTocontent*Lcom/learningobjects/content/bb/BbContent;iterLjava/util/Iterator; contentPathLjava/util/List;student getContent#()Lblackboard/data/content/Content;createFakeContentNode=(Ljava/lang/String;)Lcom/learningobjects/content/ContentNode;isCourseAvailable()Z)Lblackboard/persist/KeyNotFoundException;isInstructorOfContainingCourse membership)Lblackboard/data/course/CourseMembership; getCourseId()Lblackboard/persist/Id; SourceFileCourseContentSearchResult.java %z #$ BC %&{ |E G2 82'blackboard/persist/PersistenceException*com/learningobjects/search/SearchException %} DE ~ K   E (com/learningobjects/content/bb/BbContent E @:com/learningobjects/content/bb/CourseContentSearchResult$1 InnerClasses % JK  E'blackboard/persist/KeyNotFoundException   @A8com/learningobjects/content/bb/CourseContentSearchResult3com/learningobjects/search/results/BaseSearchResult,(Lcom/learningobjects/content/ContentNode;)V%com/learningobjects/content/bb/BbUserisAdministrator(Ljava/lang/Throwable;)VgetContentNode+()Lcom/learningobjects/content/ContentNode;'com/learningobjects/content/ContentNodegetId()Ljava/lang/String;,com/learningobjects/content/bb/BbDataSessiongetContentPath;(Ljava/lang/String;Lblackboard/persist/Id;)Ljava/util/List;java/util/Listiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;isStudentViewAvailable5(Ljava/lang/String;)Lblackboard/data/content/Content;(Ljava/lang/String;)V getCourse8(Lblackboard/persist/Id;)Lblackboard/data/course/Course;blackboard/data/course/CoursegetIsAvailablegetCourseMembershipY(Lblackboard/persist/Id;Lblackboard/persist/Id;)Lblackboard/data/course/CourseMembership;'blackboard/data/course/CourseMembershipgetRoleRole0()Lblackboard/data/course/CourseMembership$Role;,blackboard/data/course/CourseMembership$Role INSTRUCTOR.Lblackboard/data/course/CourseMembership$Role;blackboard/data/content/Content!!"#$ %&'Q *,*+( )  *+ #$ ,-%.'L *+,(  )  *+ #$ /012'w)+*+ *+M Y, ( !)  34)*+)567 82'[* ** +M,N--: M Y, O HOILO(2 '( *"+2,=-G.I0L3O1P2Y4)>= 9:)#;<"*=>P 34[*+[?67 @A'=** (8) *+7 BC'3 Y*(<)  /0DE'X**L(cde)3F*+7G2''*+*M,M#$(kl$m%n)*HI%3F'*+'567JK'2* (s) *+7LMjtrPK UsY<+RWEB-INF/classes/com/learningobjects/content/bb/CourseContentSearchResultType.class1  ()VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/bb/CourseContentSearchResultType;createSearchResult(Lcom/learningobjects/content/bb/BbDataSession;Lcom/learningobjects/content/ContentNode;)Lcom/learningobjects/search/results/SearchResult;session.Lcom/learningobjects/content/bb/BbDataSession; contentNode)Lcom/learningobjects/content/ContentNode; SourceFile"CourseContentSearchResultType.javaCourse Content 8com/learningobjects/content/bb/CourseContentSearchResult  4 ? @A B C DE FGHI _courseIdLblackboard/persist/Id;_roleKRole InnerClasses.Lblackboard/data/course/CourseMembership$Role;H(Lblackboard/persist/Id;Lblackboard/data/course/CourseMembership$Role;)VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/content/bb/CourseMembershipCredential;courseIdroleC(Ljava/lang/String;Lblackboard/data/course/CourseMembership$Role;)Ve)Lblackboard/persist/PersistenceException;Ljava/lang/String; Exceptions getCourseId()Lblackboard/persist/Id; getCourseRole0()Lblackboard/data/course/CourseMembership$Role; getUidImpl()Ljava/lang/String;getNodeUidPath getRoleId SourceFileCourseMembershipCredential.java L  M NOP QR'blackboard/persist/PersistenceException,com/learningobjects/content/ContentException Sjava/lang/StringBuilder 0/ TU_ 1/ V/W XY Z/9com/learningobjects/content/bb/CourseMembershipCredential*com/learningobjects/content/BaseCredential4com/learningobjects/content/NodeMembershipCredential[,blackboard/data/course/CourseMembership$Role()Vblackboard/data/course/Course DATA_TYPELblackboard/persist/DataType;#com/learningobjects/util/CourseUtil generateBbIdH(Lblackboard/persist/DataType;Ljava/lang/String;)Lblackboard/persist/Id;(Ljava/lang/Throwable;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString-com/learningobjects/content/bb/BbContentModelgetUidPathToCourse+(Lblackboard/persist/Id;)Ljava/lang/String; toFieldName'blackboard/data/course/CourseMembership!Y**+*,  !"#$%"**+*, NY-! * &'"!""#("$)*+/*# !",-/*' !"./H Y *  * , !"0/2*1 !"1/2*5 !"23 JPK UsY<юIWEB-INF/classes/com/learningobjects/content/bb/auth/AllowAdminsRule.class10    !"#$()VCodeLineNumberTableLocalVariableTablethis5Lcom/learningobjects/content/bb/auth/AllowAdminsRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zc7Lcom/learningobjects/content/bb/BbSystemRoleCredential;question3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileAllowAdminsRule.java 6com/learningobjects/content/AllowContentAccessQuestion %&5com/learningobjects/content/bb/BbSystemRoleCredential( +, -.3com/learningobjects/content/bb/auth/AllowAdminsRule4com/learningobjects/content/decisiontree/ChainedRule(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;)VCodeLineNumberTableLocalVariableTablethis?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential; SourceFileAllowCourseAccessQuestion.java  =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion6com/learningobjects/content/AllowContentAccessQuestion1com/learningobjects/content/decisiontree/Question(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)V!  t*+,-*   > PK UsY(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;Lblackboard/data/course/Course;Lblackboard/data/content/Content;)VCodeLineNumberTableLocalVariableTablethisFLcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential(Lcom/learningobjects/content/Credential; SourceFile%AllowCourseContentAccessQuestion.java "  Dcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion6com/learningobjects/content/AllowContentAccessQuestion1com/learningobjects/content/decisiontree/Question(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)V!   *+,-** H PK UsY<&TWEB-INF/classes/com/learningobjects/content/bb/auth/AllowCourseCredentialsRule.class1  ()VCodeLineNumberTableLocalVariableTablethis@Lcom/learningobjects/content/bb/auth/AllowCourseCredentialsRule; SourceFileAllowCourseCredentialsRule.java >com/learningobjects/content/bb/auth/AllowCourseCredentialsRule7com/learningobjects/content/decisiontree/DefaultToAllow!/*    PK UsY<.CCNWEB-INF/classes/com/learningobjects/content/bb/auth/AllowInstructorsRule.class10    !"#$()VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/content/bb/auth/AllowInstructorsRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zc;Lcom/learningobjects/content/bb/CourseMembershipCredential;question3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileAllowInstructorsRule.java 6com/learningobjects/content/AllowContentAccessQuestion %&9com/learningobjects/content/bb/CourseMembershipCredential( +, -.8com/learningobjects/content/bb/auth/AllowInstructorsRule4com/learningobjects/content/decisiontree/ChainedRule()VCodeLineNumberTableLocalVariableTablethis@Lcom/learningobjects/content/bb/auth/AllowSystemCredentialsRule; SourceFileAllowSystemCredentialsRule.java >com/learningobjects/content/bb/auth/AllowSystemCredentialsRule7com/learningobjects/content/decisiontree/DefaultToAllow!/*    PK UsY()VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/content/bb/auth/Bb6xEntitlementRegistry;initexLjava/lang/Exception; Exceptionshas'(Ljava/lang/Object;Ljava/lang/Object;)Z entitlementsLjava/lang/Object; entitlementresultLjava/lang/Boolean;systemRoleHasEntitlement SystemRole InnerClasses;(Lblackboard/data/user/User$SystemRole;Ljava/lang/String;)Zeelist systemRole&Lblackboard/data/user/User$SystemRole;entitlementKeyLjava/lang/String;courseRoleHasEntitlementRoleC(Lblackboard/data/course/CourseMembership$Role;Ljava/lang/String;)Z courseRole.Lblackboard/data/course/CourseMembership$Role; SourceFileBb6xEntitlementRegistry.java 89 348blackboard/platform/security/persist/EntitlementDbLoaderloadByEntitlementUidjava/lang/Classjava/lang/String 54loadBySystemRole$blackboard/data/user/User$SystemRole 64loadByCourseRole,blackboard/data/course/CourseMembership$Role 74;blackboard.platform.security.authorization.data.Entitlement 01*?9:YS Y S  Y SKYSFVY;6 1FNV YZbj!"< Z@ABCD:d+Y,SN-; %&<*=>EFGFHIBJM:aY,SN Y+S:*-N !-"#Y$Y%&'+()','*+/0;+,-(.0/10=1<>NF(OF10@Aa=>aPQaRSTV:aY,SNY+S:*-N ,-"#Y$Y%-'+()','*+/0;789(:0;1<==<>NF(OF10@Aa=>aWXaRSYZL dK hUPK UsY<LLOWEB-INF/classes/com/learningobjects/content/bb/auth/BbEntitlementRegistry.class1systemRoleHasEntitlement SystemRole InnerClasses;(Lblackboard/data/user/User$SystemRole;Ljava/lang/String;)ZcourseRoleHasEntitlementRoleC(Lblackboard/data/course/CourseMembership$Role;Ljava/lang/String;)Z SourceFileBbEntitlementRegistry.java9com/learningobjects/content/bb/auth/BbEntitlementRegistryjava/lang/Object$blackboard/data/user/User$SystemRole,blackboard/data/course/CourseMembership$Roleblackboard/data/user/User'blackboard/data/course/CourseMembership     PK UsY()VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/bb/auth/DenyAllGuestsRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion; SourceFileDenyAllGuestsRule.java  =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion  ! "#5com/learningobjects/content/bb/auth/DenyAllGuestsRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential;2com/learningobjects/content/bb/BbAuthorizationUtilisGuest+(Lcom/learningobjects/content/Credential;)Z!  /*    O +M,    PK UsY< W _WEB-INF/classes/com/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule.class1"    _targetApp8Lblackboard/data/navigation/CourseNavigationApplication;;(Lblackboard/data/navigation/CourseNavigationApplication;)VCodeLineNumberTableLocalVariableTablethisKLcom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule; targetApphasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question; SourceFile*DenyAllRolesIfApplicationDisabledRule.java   !Icom/learningobjects/content/bb/auth/DenyAllRolesIfApplicationDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision()V6blackboard/data/navigation/CourseNavigationApplication getIsEnabled()Z!  F **+       K* *  PK UsY()VCodeLineNumberTableLocalVariableTablethisNLcom/learningobjects/content/bb/auth/DenyCourseGuestIfCourseGuestDisabledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c;Lcom/learningobjects/content/bb/CourseMembershipCredential; SourceFile-DenyCourseGuestIfCourseGuestDisabledRule.java =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion *+9com/learningobjects/content/bb/CourseMembershipCredential- 01 23 456 78Lcom/learningobjects/content/bb/auth/DenyCourseGuestIfCourseGuestDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential;9,blackboard/data/course/CourseMembership$RoleRole InnerClassesGUEST.Lblackboard/data/course/CourseMembership$Role; getCourseRole0()Lblackboard/data/course/CourseMembership$Role; targetCourseLblackboard/data/course/Course;blackboard/data/course/CoursegetAllowGuests()Z'blackboard/data/course/CourseMembership!   /*  w'+M,N-,  *''" / !,.PK UsY<frrbWEB-INF/classes/com/learningobjects/content/bb/auth/DenyCourseGuestIfSystemGuestDisabledRule.class1I !" #$ %& ' ()* +, - ./012()VCodeLineNumberTableLocalVariableTablethisNLcom/learningobjects/content/bb/auth/DenyCourseGuestIfSystemGuestDisabledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c;Lcom/learningobjects/content/bb/CourseMembershipCredential; SourceFile-DenyCourseGuestIfSystemGuestDisabledRule.java =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion 349com/learningobjects/content/bb/CourseMembershipCredential6 9: ;< => content.read5com/learningobjects/content/bb/BbSystemRoleCredential@ 9B CD EFLcom/learningobjects/content/bb/auth/DenyCourseGuestIfSystemGuestDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential;G,blackboard/data/course/CourseMembership$RoleRole InnerClassesGUEST.Lblackboard/data/course/CourseMembership$Role; getCourseRole0()Lblackboard/data/course/CourseMembership$Role; parentAcl/Lcom/learningobjects/content/AccessControlList;H$blackboard/data/user/User$SystemRole SystemRole&Lblackboard/data/user/User$SystemRole;)(Lblackboard/data/user/User$SystemRole;)V-com/learningobjects/content/AccessControlList hasPermission=(Ljava/lang/String;Lcom/learningobjects/content/Credential;)Z'blackboard/data/course/CourseMembershipblackboard/data/user/User! /* 3+M,N-, Y  *33. & 8%57+?APK UsY()VCodeLineNumberTableLocalVariableTablethis\Lcom/learningobjects/content/bb/auth/DenyCourseRolesExceptInstructorIfContentNotVisibleRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zc;Lcom/learningobjects/content/bb/CourseMembershipCredential;question3Lcom/learningobjects/content/decisiontree/Question;qFLcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion; SourceFile;DenyCourseRolesExceptInstructorIfContentNotVisibleRule.java Dcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion *+9com/learningobjects/content/bb/CourseMembershipCredential ,/1 23 456 78Zcom/learningobjects/content/bb/auth/DenyCourseRolesExceptInstructorIfContentNotVisibleRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential; getCourseRoleRole InnerClasses0()Lblackboard/data/course/CourseMembership$Role;9,blackboard/data/course/CourseMembership$Role INSTRUCTOR.Lblackboard/data/course/CourseMembership$Role; targetContent!Lblackboard/data/content/Content;blackboard/data/content/ContentgetIsAvailable()Z'blackboard/data/course/CourseMembership!   /*  3+M,%,N-, 1*33.. "0-PK UsY<l..qWEB-INF/classes/com/learningobjects/content/bb/auth/DenyCourseRolesExceptInstructorIfCourseNotAvailableRule.class1:   ! "# $% &'()()VCodeLineNumberTableLocalVariableTablethis]Lcom/learningobjects/content/bb/auth/DenyCourseRolesExceptInstructorIfCourseNotAvailableRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c;Lcom/learningobjects/content/bb/CourseMembershipCredential; SourceFileP(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisFLcom/learningobjects/content/bb/auth/DenyCourseRolesIfNotEntitledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c;Lcom/learningobjects/content/bb/CourseMembershipCredential; SourceFile%DenyCourseRolesIfNotEntitledRule.java - =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion ./9com/learningobjects/content/bb/CourseMembershipCredential 045 67Dcom/learningobjects/content/bb/auth/DenyCourseRolesIfNotEntitledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision()V credential(Lcom/learningobjects/content/Credential; getCourseRole9Role InnerClasses0()Lblackboard/data/course/CourseMembership$Role;9com/learningobjects/content/bb/auth/BbEntitlementRegistrycourseRoleHasEntitlementC(Lblackboard/data/course/CourseMembership$Role;Ljava/lang/String;)Z:,blackboard/data/course/CourseMembership$Role'blackboard/data/course/CourseMembership!   Y**+*,   w'+M,N*-* *''"  3 182PK UsY<7jjaWEB-INF/classes/com/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRule.class10    ! "#$%& _targetApp8Lblackboard/data/navigation/CourseNavigationApplication;;(Lblackboard/data/navigation/CourseNavigationApplication;)VCodeLineNumberTableLocalVariableTablethisMLcom/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRule; targetApphasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion; SourceFile,DenyGuestsIfApplicatonGuestDisabledRule.java ' =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion ()* +,- ./Kcom/learningobjects/content/bb/auth/DenyGuestsIfApplicatonGuestDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision()V credential(Lcom/learningobjects/content/Credential;2com/learningobjects/content/bb/BbAuthorizationUtilisGuest+(Lcom/learningobjects/content/Credential;)Z6blackboard/data/navigation/CourseNavigationApplicationgetAllowGuests()Z!   F **+    k!+M,* !!PK UsY<:eWEB-INF/classes/com/learningobjects/content/bb/auth/DenyGuestsIfCourseContentGuestsDisabledRule.class1.      !"#()VCodeLineNumberTableLocalVariableTablethisQLcom/learningobjects/content/bb/auth/DenyGuestsIfCourseContentGuestsDisabledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;qFLcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion; SourceFile0DenyGuestsIfCourseContentGuestsDisabledRule.java Dcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion $%& '( )*+ ,-Ocom/learningobjects/content/bb/auth/DenyGuestsIfCourseContentGuestsDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential;2com/learningobjects/content/bb/BbAuthorizationUtilisGuest+(Lcom/learningobjects/content/Credential;)Z targetContent!Lblackboard/data/content/Content;blackboard/data/content/ContentgetAllowGuests()Z!   /*    a+M,,  PK UsY<݊WW]WEB-INF/classes/com/learningobjects/content/bb/auth/DenyGuestsIfSystemGuestDisabledRule.class1 GH IJ K LM NO PQR STUV WXY Z[\ ]^_ `a bcd Ge f g h ijk glmnSYSTEM_REG_GUEST_INDLjava/lang/String; ConstantValueSYSTEM_REG_GUEST_COURSE_INDSYSTEM_REG_GUEST_ORG_IND()VCodeLineNumberTableLocalVariableTablethisILcom/learningobjects/content/bb/auth/DenyGuestsIfSystemGuestDisabledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)ZbbPm)Lblackboard/persist/BbPersistenceManager; sysRegLoader9Lblackboard/persist/registry/SystemRegistryEntryDbLoader;guestInd(Lblackboard/data/registry/RegistryEntry;guestCourseInd guestOrgIndsystemGuestDeniedZsystemCourseGuestDeniedsystemOrgGuestDeniede)Lblackboard/persist/KeyNotFoundException;)Lblackboard/persist/PersistenceException;question3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion;c7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFile(DenyGuestsIfSystemGuestDisabledRule.java '(6com/learningobjects/content/AllowContentAccessQuestion op5com/learningobjects/content/bb/BbSystemRoleCredential qtv wxy z{| }~SystemRegistryEntryDbLoader 7blackboard/persist/registry/SystemRegistryEntryDbLoaderovr_allow_guest ovr_allow_guest_courseovr_allow_guest_org Y 'blackboard/persist/KeyNotFoundException  java/lang/StringBuilderBError in system guest permissions. disabling system guest access.  'blackboard/persist/PersistenceExceptionGcom/learningobjects/content/bb/auth/DenyGuestsIfSystemGuestDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential; getSystemRole SystemRole InnerClasses(()Lblackboard/data/user/User$SystemRole;$blackboard/data/user/User$SystemRoleGUEST&Lblackboard/data/user/User$SystemRole;$blackboard/platform/BbServiceManagergetPersistenceService6()Lblackboard/platform/persistence/PersistenceService;2blackboard/platform/persistence/PersistenceServicegetDbPersistenceManager+()Lblackboard/persist/BbPersistenceManager;'blackboard/persist/BbPersistenceManager getLoader/(Ljava/lang/String;)Lblackboard/persist/Loader; loadByKeyB(Ljava/lang/String;)Lblackboard/data/registry/SystemRegistryEntry;&blackboard/data/registry/RegistryEntrygetValue()Ljava/lang/String;java/lang/StringequalsIgnoreCase(Ljava/lang/String;)Z&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder; getMessagetoStringjava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vblackboard/data/user/User! !"#$ %#$&#$'()/**+ ,-./) +M,N-׸: : : : :6 6 6    :Y:Y*N ! -!8"C#N$b%v&'()*+,-0+!~01-r238g45C\65NQ75b=89 v):9 ;9 $<=$<>,-?@AB CDEFs LurPK UsY<@@]WEB-INF/classes/com/learningobjects/content/bb/auth/DenyMismatchedCourseCredentialsRule.class15   ! " #$ %&'()()VCodeLineNumberTableLocalVariableTablethisILcom/learningobjects/content/bb/auth/DenyMismatchedCourseCredentialsRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c;Lcom/learningobjects/content/bb/CourseMembershipCredential; SourceFile(DenyMismatchedCourseCredentialsRule.java =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion *+9com/learningobjects/content/bb/CourseMembershipCredential ,- ./0 1-2 34Gcom/learningobjects/content/bb/auth/DenyMismatchedCourseCredentialsRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential; getCourseId()Lblackboard/persist/Id; targetCourseLblackboard/data/course/Course;blackboard/data/course/CoursegetIdblackboard/persist/Idequals(Ljava/lang/Object;)Z!   /*  t$+M,N-,  *$$ PK UsY<5 bWEB-INF/classes/com/learningobjects/content/bb/auth/DenySystemGuestIfCourseGuestDisabledRule.class1:   !" # $ %&'()()VCodeLineNumberTableLocalVariableTablethisNLcom/learningobjects/content/bb/auth/DenySystemGuestIfCourseGuestDisabledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFile-DenySystemGuestIfCourseGuestDisabledRule.java =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion *+5com/learningobjects/content/bb/BbSystemRoleCredential- 01 23 456 78Lcom/learningobjects/content/bb/auth/DenySystemGuestIfCourseGuestDisabledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential;9$blackboard/data/user/User$SystemRole SystemRole InnerClassesGUEST&Lblackboard/data/user/User$SystemRole; getSystemRole(()Lblackboard/data/user/User$SystemRole; targetCourseLblackboard/data/course/Course;blackboard/data/course/CoursegetAllowGuests()Zblackboard/data/user/User!   /*  }%+M,N-,  !#*%%  / !,.PK UsY<%gzQWEB-INF/classes/com/learningobjects/content/bb/auth/DenySystemObserversRule.class10    !"#$()VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/content/bb/auth/DenySystemObserversRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion;c7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFileDenySystemObserversRule.java 6com/learningobjects/content/AllowContentAccessQuestion %&5com/learningobjects/content/bb/BbSystemRoleCredential '*, -.;com/learningobjects/content/bb/auth/DenySystemObserversRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential; getSystemRole SystemRole InnerClasses(()Lblackboard/data/user/User$SystemRole;/$blackboard/data/user/User$SystemRoleOBSERVER&Lblackboard/data/user/User$SystemRole;blackboard/data/user/User!   /*    s+M,N-  * )  +(PK UsY<  rWEB-INF/classes/com/learningobjects/content/bb/auth/DenySystemRolesExceptSystemAdminIfCourseNotAvailableRule.class1:   ! "# $% &'()()VCodeLineNumberTableLocalVariableTablethis^Lcom/learningobjects/content/bb/auth/DenySystemRolesExceptSystemAdminIfCourseNotAvailableRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFile=DenySystemRolesExceptSystemAdminIfCourseNotAvailableRule.java =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion *+5com/learningobjects/content/bb/BbSystemRoleCredential ,-. /02 56 78\com/learningobjects/content/bb/auth/DenySystemRolesExceptSystemAdminIfCourseNotAvailableRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision credential(Lcom/learningobjects/content/Credential; targetCourseLblackboard/data/course/Course;blackboard/data/course/CoursegetIsAvailable()Z9$blackboard/data/user/User$SystemRole SystemRole InnerClasses SYSTEM_ADMIN&Lblackboard/data/user/User$SystemRole; getSystemRole(()Lblackboard/data/user/User$SystemRole;blackboard/data/user/User!   /*  w'+M,N,-  *''" 4 $13PK UsY<*WLZWEB-INF/classes/com/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule.class1; ! " #$ %& ' ()*+,entitlementRegistry;Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;entitlementKeyLjava/lang/String;P(Lcom/learningobjects/content/bb/auth/BbEntitlementRegistry;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisFLcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q?Lcom/learningobjects/content/bb/auth/AllowCourseAccessQuestion;c7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFile%DenySystemRolesIfNotEntitledRule.java - =com/learningobjects/content/bb/auth/AllowCourseAccessQuestion ./5com/learningobjects/content/bb/BbSystemRoleCredential 045 67Dcom/learningobjects/content/bb/auth/DenySystemRolesIfNotEntitledRule4com/learningobjects/content/decisiontree/ChainedRule;com/learningobjects/content/decisiontree/DenyActionDecision()V credential(Lcom/learningobjects/content/Credential; getSystemRole9 SystemRole InnerClasses(()Lblackboard/data/user/User$SystemRole;9com/learningobjects/content/bb/auth/BbEntitlementRegistrysystemRoleHasEntitlement;(Lblackboard/data/user/User$SystemRole;Ljava/lang/String;)Z:$blackboard/data/user/User$SystemRoleblackboard/data/user/User!   Y**+*,   w'+M,N*-* *''"  3 182PK UsY()VCodeLineNumberTableLocalVariableTablethisELcom/learningobjects/content/bb/auth/DenyUnrecognizedCredentialsRule; SourceFile$DenyUnrecognizedCredentialsRule.java Ccom/learningobjects/content/bb/auth/DenyUnrecognizedCredentialsRule6com/learningobjects/content/decisiontree/DefaultToDeny!/*    PK UsY<0ӄrrRWEB-INF/classes/com/learningobjects/content/bb/auth/IsCourseCredentialBranch.class1  ()VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/bb/auth/IsCourseCredentialBranch;doCheck6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileIsCourseCredentialBranch.java 6com/learningobjects/content/AllowContentAccessQuestion 9com/learningobjects/content/bb/CourseMembershipCredential()VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/bb/auth/IsSystemCredentialBranch;doCheck6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;q8Lcom/learningobjects/content/AllowContentAccessQuestion; SourceFileIsSystemCredentialBranch.java 6com/learningobjects/content/AllowContentAccessQuestion 5com/learningobjects/content/bb/BbSystemRoleCredential()VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/content/bb/auth/IsSystemGuestBranch;doCheck6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question;;(Lcom/learningobjects/content/AllowContentAccessQuestion;)Z8Lcom/learningobjects/content/AllowContentAccessQuestion;isSystemGuestCredential:(Lcom/learningobjects/content/bb/BbSystemRoleCredential;)Z credential7Lcom/learningobjects/content/bb/BbSystemRoleCredential; SourceFileIsSystemGuestBranch.java 6com/learningobjects/content/AllowContentAccessQuestion   -5com/learningobjects/content/bb/BbSystemRoleCredential  .13 45 677com/learningobjects/content/bb/auth/IsSystemGuestBranch ? @ 8 AB CDE 8 FGH _nextRule/Lcom/learningobjects/content/decisiontree/Rule;()VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/content/decisiontree/ChainedRule;linkNext`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule;nextRulen(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;n(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch;6Lcom/learningobjects/content/decisiontree/YesNoBranch;appendg(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/ChainedRule;ruleperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question;delegateToNextRulehasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Z SourceFileChainedRule.java  "java/lang/IllegalArgumentException'Next rule in chain has already been set I4com/learningobjects/content/decisiontree/ChainedRule ()java/lang/IllegalStateExceptionjava/lang/StringBuilder*Rule chain has already been terminated by (J (K LM 011com/learningobjects/content/decisiontree/Decision /,java/lang/RuntimeException6Malformed decision tree: chained rule must have child. +,java/lang/Object-com/learningobjects/content/decisiontree/Rule(Ljava/lang/String;)V-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;!/*   !"#X* Y*++ !$"%X* Y*++ !#$ !$!"&X* Y*+++,./ !$'()H* *+:**+W!Y Y  * *4567(9F;H !H*+,O*+**+BC F !-./,X* Y*+NOR !-.0123PK UsY()VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/content/decisiontree/DecisionTreeRoot;hasReachedDecision6(Lcom/learningobjects/content/decisiontree/Question;)Zquestion3Lcom/learningobjects/content/decisiontree/Question; SourceFileDecisionTreeRoot.java 9com/learningobjects/content/decisiontree/DecisionTreeRoot4com/learningobjects/content/decisiontree/ChainedRule!/*   6  PK UsY()VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/content/decisiontree/DefaultToAllow;performh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question; SourceFileDefaultToAllow.java 7com/learningobjects/content/decisiontree/DefaultToAllowjava/lang/Object-com/learningobjects/content/decisiontree/Rule()VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/content/decisiontree/DefaultToDefer;performh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question; SourceFileDefaultToDefer.java 7com/learningobjects/content/decisiontree/DefaultToDeferjava/lang/Object-com/learningobjects/content/decisiontree/Rule1com/learningobjects/content/decisiontree/Decision!/*    6*   PK UsY< )LWEB-INF/classes/com/learningobjects/content/decisiontree/DefaultToDeny.class1 ()VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/decisiontree/DefaultToDeny;performh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question; SourceFileDefaultToDeny.java 6com/learningobjects/content/decisiontree/DefaultToDenyjava/lang/Object-com/learningobjects/content/decisiontree/Rule;com/learningobjects/content/decisiontree/DenyActionDecision!/*    6*   PK UsY?_yesRule/Lcom/learningobjects/content/decisiontree/Rule;_noRule()VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/content/decisiontree/YesNoBranch; linkYesBranch`(Lcom/learningobjects/content/decisiontree/Rule;)Lcom/learningobjects/content/decisiontree/Rule;yesRulen(Lcom/learningobjects/content/decisiontree/ChainedRule;)Lcom/learningobjects/content/decisiontree/ChainedRule;6Lcom/learningobjects/content/decisiontree/ChainedRule;n(Lcom/learningobjects/content/decisiontree/YesNoBranch;)Lcom/learningobjects/content/decisiontree/YesNoBranch; linkNoBranchnoRuleperformh(Lcom/learningobjects/content/decisiontree/Question;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question; branchOnYes branchOnNodoCheck6(Lcom/learningobjects/content/decisiontree/Question;)Z SourceFileYesNoBranch.java  "java/lang/IllegalArgumentException*Branch on yes rule in has already been set @ )Branch on no rule in has already been set1com/learningobjects/content/decisiontree/Decisionjava/lang/ClassCastException*Branches not allowed to implement Decesion +, )& *& %&4com/learningobjects/content/decisiontree/YesNoBranchjava/lang/Object-com/learningobjects/content/decisiontree/Rule(Ljava/lang/String;)V! /* X* Y*++ X* Y*++!"X* Y*++%&()#X* Y*++0134$#"X* Y*++;<>?$# X* Y*++FGIJ$!%&i%* Y *+ *+ *+NOQRU%%'()&? *+Z  '(*&? *+^  '(+,-.PK UsYs(Lcom/learningobjects/content/ContentNode;Ljava/util/logging/Logger;Lblackboard/data/course/Course;Ljava/io/File;)VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/content/journal/CourseJournalNode;parent)Lcom/learningobjects/content/ContentNode;getId()Ljava/lang/String; isDirectory()Z getSummarygetTitlehashLocalFields getContents()Ljava/io/Reader;setStructuredData'(Ljava/lang/String;Ljava/lang/String;)VkeyLjava/lang/String;valuegetStructuredData()Ljava/util/HashMap;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;eLjava/io/IOException;iI journalFolderentries[Ljava/io/File;childrenLjava/util/List;logJournalEntryError&(Ljava/io/File;Ljava/io/IOException;)V entryFile SourceFileCourseJournalNode.java 3java/util/HashMap 3 12 +, -. /0journal A=Course Journaljava/lang/StringBuilder  B =  loi-journal   java/util/ArrayList4com/learningobjects/content/journal/JournalEntryNode 3 java/io/IOException WX6com/learningobjects/content/DefaultContentNodeIterator 3 3Encountered an error while indexing Journal entry:  ; skipping 5com/learningobjects/content/journal/CourseJournalNode+com/learningobjects/content/BaseContentNode,(Lcom/learningobjects/content/ContentNode;)V()V resolveAcl1()Lcom/learningobjects/content/AccessControlList;-com/learningobjects/content/AccessControlList()Ijava/lang/StringvalueOf(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;hashCode(I)Ljava/lang/StringBuilder;toStringNO_SEARCHABLE_CONTENT_READERLjava/io/Reader;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8com/learningobjects/wiki/container/WikiFilesystemStoragegetWikiStoreDirectory0(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;?5,6$7 89@=5/* 6(7 89A=5- 6,7 89B=5L" Y * *607 "89CD5.647 89EF5M *+,W6 : ;7  89 GH IHJK5/*6>7 89LM5c*L+MYN,96,/-Y,2**W:*,2 л!Y-"*#(?B6. B CDEF(H?KBIDJNFTN7>D NO!3PQc89 YR0QSTIUVWX5f$*$ Y %+&',(6 R#S7 $89$Y0$NOZ[PK UsY<&  LWEB-INF/classes/com/learningobjects/content/journal/JournalEntryNode$1.class1[ 2 34 05 67 89 0:; 0< => ? 0@ ABCDEthis$06Lcom/learningobjects/content/journal/JournalEntryNode;9(Lcom/learningobjects/content/journal/JournalEntryNode;)VCodeLineNumberTableLocalVariableTablethis InnerClasses8Lcom/learningobjects/content/journal/JournalEntryNode$1;listNewCredentials+()[Lcom/learningobjects/content/Credential;c(Lcom/learningobjects/content/Credential; checkAction(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/AccessControlList;Ljava/lang/String;Lcom/learningobjects/content/Credential;)Lcom/learningobjects/content/decisiontree/Decision;question3Lcom/learningobjects/content/decisiontree/Question; guardedNode)Lcom/learningobjects/content/ContentNode; parentAcl/Lcom/learningobjects/content/AccessControlList;actionIdLjava/lang/String; credential SourceFileJournalEntryNode.javaEnclosingMethodF GH  I/com/learningobjects/content/bb/BbUserCredential JKL MN O&com/learningobjects/content/Credential PQDcom/learningobjects/content/bb/auth/AllowCourseContentAccessQuestion RS T=com/learningobjects/content/bb/auth/AllowCourseAccessQuestion U VWX YZ6com/learningobjects/content/journal/JournalEntryNode$1java/lang/Object(com/learningobjects/content/ContentGuard4com/learningobjects/content/journal/JournalEntryNodegetGuard,()Lcom/learningobjects/content/ContentGuard;()V access$000v(Lcom/learningobjects/content/journal/JournalEntryNode;)Lcom/learningobjects/search/crawler/parsers/JournalPageParser;xH&$%KK&'K()K*+K,!> $%-./01 PK UsY<i.JWEB-INF/classes/com/learningobjects/content/journal/JournalEntryNode.class1 1m 1n 1o 1p 1q 2rs tu vw v xyz v{ | }~ v v   v  v 1      1 1  /JOURNAL_VENDOR_IDLjava/lang/String; ConstantValueJOURNAL_HANDLEcourseLblackboard/data/course/Course; parentContent!Lblackboard/data/content/Content;parser>Lcom/learningobjects/search/crawler/parsers/JournalPageParser; decisionTree6Lcom/learningobjects/content/decisiontree/ChainedRule;Y(Ljava/io/File;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;)VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/content/journal/JournalEntryNode;journalEntryFileLjava/io/File;parent)Lcom/learningobjects/content/ContentNode; Exceptionsz(Ljava/io/File;Lblackboard/data/course/Course;Lcom/learningobjects/content/ContentNode;Lblackboard/data/content/Content;)V isDirectory()ZisPrivateJournallistChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;getStructuredData()Ljava/util/HashMap;dataLjava/util/HashMap;getId()Ljava/lang/String; getSummarygetTitlehashLocalFields getContents()Ljava/io/Reader;getGuard,()Lcom/learningobjects/content/ContentGuard; access$000v(Lcom/learningobjects/content/journal/JournalEntryNode;)Lcom/learningobjects/search/crawler/parsers/JournalPageParser;x0 access$100Y(Lcom/learningobjects/content/journal/JournalEntryNode;)Lblackboard/data/content/Content; access$200W(Lcom/learningobjects/content/journal/JournalEntryNode;)Lblackboard/data/course/Course; access$300n(Lcom/learningobjects/content/journal/JournalEntryNode;)Lcom/learningobjects/content/decisiontree/ChainedRule; SourceFileJournalEntryNode.java @A :; <= >? BO B?@ABCDU *+,-E ,-F* GH IJ :; KLMNBOD**-*,**Y+* Y * Y W*Y W*Y* W*Y W*Y W*Y* W*Y WE:01 234'5,6;8J9`:o;~<=>F4GHIJ:;KL<=MNPQD,EAF GHRQD:*EEF GHSTD.EIF GHUVD>YL+* !W+"*#$!W*+%*&$!W+EMNO$P+Q<SF>GH6WXYZD2*'EWF GH[ZD2*(E[F GH\ZD2*)E_F GH]ZD;***+,a-EcF GH^_D2*.EgF GH`aD3 /Y*0EkF  GHbcD/*E#F dHefD/*E#F dHghD/*E#F dHijD/*E#F dHkl /PK UsYM(Lorg/apache/lucene/index/IndexReader;Lorg/apache/lucene/document/Document;)VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/content/lucene/LuceneContentNodeAdapter;index%Lorg/apache/lucene/index/IndexReader;doc getParentPath()Ljava/lang/String; getTypeUidgetLastModified()J isDirectory()Zdispose()VgetId getContents()Ljava/io/Reader; getSummarygetTitle getBreadcrumbgetStructuredData()Ljava/util/HashMap;loadStructuredDatabuffer[BinLjava/io/ObjectInputStream;reteLjava/lang/Exception;valLjava/lang/String;getTitleForBreadcrumb%(Ljava/util/Stack;)Ljava/lang/String;fullPathLjava/util/Stack; resolveAcl1()Lcom/learningobjects/content/AccessControlList;hashLocalFieldshashPropagatedFieldsdebugAclpair entitlementdecisioncolortokensLjava/util/StringTokenizer;bLjava/lang/StringBuffer; getRawAcl getGrants isViewable SourceFileLuceneContentNodeAdapter.javauidpath U OP parentpathtypemodified java/lang/RuntimeExceptionmethod not implemented Uidsummarytitle breadcrumb QR podata java/io/ObjectInputStreamjava/io/ByteArrayInputStream U U java/util/HashMap Ugjava/lang/Exception ST java/lang/StringBuilder#Unable to load structured data for ` ` SStructured data: S l` localhashprophashdebugacl ` (none)java/util/StringTokenizerjava/lang/StringBuffer 7 e `;    Allow#88ee88#ee8888 
entitlementdecision
 
keywords hidden     ;com/learningobjects/content/lucene/LuceneContentNodeAdapterY  Z[l`W4 *XBY  Z[m`W4 *XFY  Z[noWF* ***XJKMY Z[poW *L+p+MYY,N-: YMY !*"!#,$Y%!+!#&Y=>X* Q RTU#V,W>X?Y_Z{]Y>+qr#st,uR?<vwZ[ yxyz{W9*'XaYZ[|}~W,XfY Z[`W4 *(XjY  Z[`W4 *)XnY  Z[`W**L+++,-./Y++0M1Y2N-34W-54W-64W,7,8:9:9;<:9;`=:>:?@:-YA!!B!#4W-4W-C4W-D4W-4W-E4Wq-F4W-GXbr stv)w1y8z?{F|M}S~^apYRSypeyUyAyZ[ xy)1`W4 **XY  Z[`W4 *HXY  Z[eWG*HIJXY Z[gWKXPK UsY<;+1hhRWEB-INF/classes/com/learningobjects/content/lucene/LuceneContentTreeLocation.class1K / 0 1 23 4 56 789 :;<= > ?@ABindex%Lorg/apache/lucene/index/IndexReader;uidPathLjava/lang/String;:(Lorg/apache/lucene/index/IndexReader;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/content/lucene/LuceneContentTreeLocation; getUidPath()Ljava/lang/String;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;hitsLorg/apache/lucene/search/Hits;eLjava/io/IOException;directChildren Lorg/apache/lucene/search/Query; ExceptionsgetDirectChildrenQuery"()Lorg/apache/lucene/search/Query; SourceFileLuceneContentTreeLocation.java C   +,&org/apache/lucene/search/IndexSearcher D EF@com/learningobjects/content/lucene/LuceneHitsContentNodeIterator Gjava/io/IOException,com/learningobjects/content/ContentException H"org/apache/lucene/search/TermQueryorg/apache/lucene/index/Term parentpath I JG(Lorg/apache/lucene/index/IndexReader;Lorg/apache/lucene/search/Hits;)VCodeLineNumberTableLocalVariableTablethisBLcom/learningobjects/content/lucene/LuceneHitsContentNodeIterator;next+()Lcom/learningobjects/content/ContentNode;eLjava/io/IOException; ExceptionshasNext()ZskipNext()V SourceFile"LuceneHitsContentNodeIterator.java $   ;com/learningobjects/content/lucene/LuceneContentNodeAdapter6 78 9java/io/IOException,com/learningobjects/content/ContentException : ;<@com/learningobjects/content/lucene/LuceneHitsContentNodeIteratorjava/lang/Object/com/learningobjects/content/ContentNodeIteratororg/apache/lucene/search/Hitsdoc((I)Lorg/apache/lucene/document/Document;M(Lorg/apache/lucene/index/IndexReader;Lorg/apache/lucene/document/Document;)V(Ljava/lang/Throwable;)Vlength()I0 b***+*,  l(Y***YZ`L Y+  (  !">**  #$9 *Y` ! "  %&PK UsY<6ILWEB-INF/classes/com/learningobjects/content/visitors/DeleteNodeVisitor.class1H %& ' ()* %+ , -. / 01 -2 3456()VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/content/visitors/DeleteNodeVisitor;visit,(Lcom/learningobjects/content/ContentNode;)Znode)Lcom/learningobjects/content/ContentNode;leave,(Lcom/learningobjects/content/ContentNode;)VfileNode-Lcom/learningobjects/content/FileContentNode;parent Exceptions7 SourceFileDeleteNodeVisitor.java +com/learningobjects/content/FileContentNode 89: ;<java/lang/StringBuilder -> deleting node: =>? @A BAC DE FA GE6com/learningobjects/content/visitors/DeleteNodeVisitorjava/lang/Object.com/learningobjects/content/ContentNodeVisitor,com/learningobjects/content/ContentException getParentNode+()Lcom/learningobjects/content/ContentNode;&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;'com/learningobjects/content/ContentNode getUidPath()Ljava/lang/String;toStringjava/util/logging/Loggerinfo(Ljava/lang/String;)VgetIddeleteChildById!3*  66+M,NY+  -+   +5*661 ) !"#$PK UsY<:c9WEB-INF/classes/com/learningobjects/search/HtmlUtil.class1w ABC A DE DFG HIJK L M NOPQ RSTU V WX A Y Z[\] ^_`()VCodeLineNumberTableLocalVariableTablethis%Lcom/learningobjects/search/HtmlUtil; escapeHTML&(Ljava/lang/String;)Ljava/lang/String;cCiIsLjava/lang/String;sbLjava/lang/StringBuffer;njavascriptEncode parameter urlEncoded Exceptionsa extractTextparserLorg/htmlparser/Parser;textExtractingVisitor/Lorg/htmlparser/visitors/TextExtractingVisitor;e%Lorg/htmlparser/util/ParserException;html SourceFile HtmlUtil.java !java/lang/StringBufferb cd ef< gh>&" gi jkl m(%27\'n oporg/htmlparser/Parserorg/htmlparser/lexer/Lexer q r-org/htmlparser/visitors/TextExtractingVisitor st uk#org/htmlparser/util/ParserException(com/learningobjects/util/ParserExceptionError parsing HTML v#com/learningobjects/search/HtmlUtiljava/lang/Object)org/apache/commons/codec/EncoderExceptionjava/lang/Stringlength()IcharAt(I)Cappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(C)Ljava/lang/StringBuffer;toString()Ljava/lang/String;%com/learningobjects/util/UrlGeneratorencode#org/apache/commons/lang/StringUtilsreplaceJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;(Ljava/lang/String;)V(Lorg/htmlparser/lexer/Lexer;)VvisitAllNodesWith((Lorg/htmlparser/visitors/NodeVisitor;)VgetExtractedText*(Ljava/lang/String;Ljava/lang/Throwable;)V! !"/*# $ %&'(" *YL*=>m*6T"J&@<,>6+W(+ W+ W+ W + W+ #J"PWZadk n"u#x%)$4"])*o+,-.{/0v1,2("F*L+# -.$3. 4.567(".YY*LYM+,,LY+!"#3456"7#8$*89 :;# <=.>.5?@PK UsY<ޱEWEB-INF/classes/com/learningobjects/search/IndexLockedException.class1   (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis1Lcom/learningobjects/search/IndexLockedException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFileIndexLockedException.java   /com/learningobjects/search/IndexLockedExceptionjava/lang/Exception!>*+    >*+    I*+,     PK UsY<LWEB-INF/classes/com/learningobjects/search/IndexNotConfiguredException.class1   (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/search/IndexNotConfiguredException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFile IndexNotConfiguredException.java   6com/learningobjects/search/IndexNotConfiguredException*com/learningobjects/search/SearchException!>*+    >*+    I*+,     PK UsY<9OWEB-INF/classes/com/learningobjects/search/IndexVersionOutOfDateException.class1    ()VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/search/IndexVersionOutOfDateException;(Ljava/lang/String;)VmsgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFile#IndexVersionOutOfDateException.javaWSearch LX was recently upgraded. Searching is disabled until the index is regenerated.   9com/learningobjects/search/IndexVersionOutOfDateException*com/learningobjects/search/SearchException!  5*    >*+     >*+     I*+,   PK UsY()VCodeLineNumberTableLocalVariableTablethisALcom/learningobjects/search/IndexingServerNotConfiguredException; SourceFile)IndexingServerNotConfiguredException.javacAdministrator has not configured an Indexing Server. Please see the Search LX Administrator Guide. ?com/learningobjects/search/IndexingServerNotConfiguredException*com/learningobjects/search/SearchException(Ljava/lang/String;)V!  5*    PK UsY ? 3@AB C DEF G HI JKL M NO PQ RST UVWX rY rZ[\BACKGROUND_TRIGGER_NAMELjava/lang/String; ConstantValue_indexingService,Lcom/learningobjects/search/IndexingService;_logLjava/util/logging/Logger;_config)Lcom/learningobjects/search/SearchConfig; _schedulerLorg/quartz/Scheduler;_statusPublisher;Lcom/learningobjects/search/status/IndexingStatusPublisher; _jobDetailLorg/quartz/JobDetail; getInstance.()Lcom/learningobjects/search/IndexingService;CodeLineNumberTable setInstance/(Lcom/learningobjects/search/IndexingService;)VLocalVariableTableindexingService()Vthis1(Lcom/learningobjects/search/SchedulingService;)VschedulingService.Lcom/learningobjects/search/SchedulingService;statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder; Exceptions initConfig+()Lcom/learningobjects/search/SearchConfig;configinitIndexProviderinitStatusPublishing<()Lcom/learningobjects/search/status/IndexingStatusRecorder;initIndexingSchedulerk(Lcom/learningobjects/search/SchedulingService;Lcom/learningobjects/search/status/IndexingStatusRecorder;)VeLorg/quartz/SchedulerException;initIndexingServercheckForAbortedIndexingJobmerger0Lcom/learningobjects/search/crawler/IndexMerger; deltaBaseDirLjava/io/File; mainIndex&Lcom/learningobjects/search/MainIndex;requestIncrementalUpdateperformIncrementalUpdatepublishIncrementalUpdateRequest deleteIndexeslockFile%Lcom/learningobjects/nlocks/LockFile;_ isConfigured()ZdeleteDeltaIndex(Ljava/io/File;)VLjava/io/IOException; deltaIndexDirisMainIndexLockedexLjava/lang/Exception; DeprecatedgetCurrentStatus4()Lcom/learningobjects/search/status/IndexingStatus;ALcom/learningobjects/search/IndexingServerNotConfiguredException;readStatusFromB(Ljava/io/File;)Lcom/learningobjects/search/status/IndexingStatus; suppressedstatus2Lcom/learningobjects/search/status/IndexingStatus;Ljava/io/FileNotFoundException; statusFileinLjava/io/InputStream;destroy,Lcom/learningobjects/search/SearchException;isThisServerIndexinglogResumeIndexingError(Ljava/lang/Exception;)VgetNextScheduledRunDate()Ljava/util/Date;triggerLorg/quartz/Trigger;notifyConfigChanged checkForIncrementalUpdateRequestscheduleBackgroundIndexingindexingCronSettingsLjava/text/ParseException; createTrigger((Ljava/lang/String;)Lorg/quartz/Trigger;Lorg/quartz/CronTrigger; SourceFileIndexingService.java z{*com/learningobjects/search/IndexingService ` ab |} ~ c dedisableLuceneLockstruef gh9com/learningobjects/search/status/IndexingStatusPublisher ij kl m 8com/learningobjects/search/status/IndexingStatusRecorder pq rs t uv w xyorg/quartz/SchedulerException*com/learningobjects/search/SearchException z { )Checking for interrupted indexing runs...| }~.com/learningobjects/search/crawler/IndexMerger j1com/learningobjects/search/lucene/LuceneMainIndex  (Found interrupted indexing run; resuming "No interrupted indexing runs found/Inside IndexingService.requestIncrementalUpdate   ?com/learningobjects/search/IndexingServerNotConfiguredException/Inside IndexingService.performIncrementalUpdate   6Inside IndexingService.publishIncrementalUpdateRequest     j   j java/lang/StringBuilderDeleting delta index:   java/io/IOException Error deleting delta index:  java/lang/Exception j      java/io/FileNotFoundException )Indexing aborted; will resume on restart. HAn error occurred while attempting to set indexing to resume on restart.trigger1  +Inside IndexingService.notifyConfigChanged. 8Inside IndexingService.checkForIncrementalUpdateRequest. 2inside IndexingService.scheduleBackgroundIndexing.%About to unschedule the job: trigger1    adding cron trigger '' for background indexing job 8not adding cron trigger background indexing is disabled.java/text/ParseExceptionorg/quartz/CronTrigger  java/lang/Object0com/learningobjects/search/SearchConfig$ObserverObserver InnerClasses(com/learningobjects/nlocks/LockException&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;'com/learningobjects/search/SearchConfigregisterConfigObserver5(Lcom/learningobjects/search/SearchConfig$Observer;)Vjava/lang/System setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;lookupThisServerStatusFile()Ljava/io/File;getLockTimeout()J,(Ljava/io/File;JLjava/util/logging/Logger;)VStatusListenerL(Lcom/learningobjects/search/status/IndexingStatusRecorder$StatusListener;)V,com/learningobjects/search/SchedulingServicegetQuartzScheduler()Lorg/quartz/Scheduler;.com/learningobjects/search/crawler/IndexingJobinstantiateJobDetailR(Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lorg/quartz/JobDetail;org/quartz/ScheduleraddJob(Lorg/quartz/JobDetail;Z)V(Ljava/lang/Throwable;)VisConfiguredIndexingServerjava/util/logging/Loggerinfo(Ljava/lang/String;)VlookupDeltaIndexDirF(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)VisMergeRequired`(Ljava/io/File;Lcom/learningobjects/search/MainIndex;Lcom/learningobjects/search/SearchConfig;)ZgetIndexingServerHostname()Ljava/lang/String;#org/apache/commons/lang/StringUtils isNotEmpty(Ljava/lang/String;)Zorg/quartz/JobDetailgetNamegetGrouptriggerJobWithVolatileTrigger'(Ljava/lang/String;Ljava/lang/String;)VsetIncrementalUpdateRequested(Z)V commitChangeslookupCentralIndexLockFile'()Lcom/learningobjects/nlocks/LockFile;#com/learningobjects/nlocks/LockFileacquire(J)VlookupCentralIndexDir!com/learningobjects/util/FileUtildeleteFolderRecursivelyreleaselookupLastCourseIdFile java/io/Filedeleteappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/LevelWARNINGLjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VisLockedlookupIndexingServerStatusFile0com/learningobjects/search/status/IndexingStatusINITIAL_STATUS#com/learningobjects/nlocks/LockedIOgetInputStream&(Ljava/io/File;J)Ljava/io/InputStream;readFromI(Ljava/io/InputStream;)Lcom/learningobjects/search/status/IndexingStatus;java/io/InputStreamclosesuppressedException2(Ljava/util/logging/Logger;Ljava/lang/Throwable;)V isIndexing getTrigger:(Ljava/lang/String;Ljava/lang/String;)Lorg/quartz/Trigger;org/quartz/TriggergetNextFireTimeisIncrementalUpdateRequested unscheduleJob'(Ljava/lang/String;Ljava/lang/String;)ZgetIndexingCronSettingsjava/lang/Stringequals(Ljava/lang/Object;)Z scheduleJob&(Lorg/quartz/Trigger;)Ljava/util/Date;](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VsetMisfireInstruction(I)VGcom/learningobjects/search/status/IndexingStatusRecorder$StatusListener!uvwxy^ z{|}~)4 Y()+)3* /0 {> **34 5  {~$*** * * M*+, * *"89 :;<>?#@ ${$!G L+*+CD E {7 W IJ  {W)*Y* * *Y* MN ){!,*+*,** N!Y-"! RSUX!V"W+Y*" ,{,,!A* #*$\ ]_ {!P*%&'Y(L* )M*Y* *+N+,-* ,*-&*. */&& e fgh)l6m?nFqOs*P{?7)'!y7*0&* # *.* 12 *3 4Y5~ '.6 7{!~.*6&**7*89 L!Y+" #  #$-$ .{!O*:&* ;* <  {!A* =L+* >* ?@+A M+A,* )@* BCW$$%$& !$+5@A{9J!@* 1 { ?DYEFG*HI&*@!LKDYELG*HI+M J !>!?Y* =NL!Y+" O  {!U** PQLR 4  {J!ymM+* SM,TN,U-:,,U:*VNR:,,U:*V:,,U:*V"%O3W9ADOR39RT\_ORTRj"%'0349=ADFORTX\_ajR'  F 4a m{mkJ(*X *Y& L+L*+Z*[!O* #' ({!9** Q\ {J!F*K]+M  {X *^*8_L+ +`  {  H*a&*b*c   {!o1*d&* # * e* ;* <*. %,0 1{!"2*f&*g&*^*8hW* iL* #?+jk6*+lM*DYEmG+GnGI&*,oW *p&L!Y+"L!Y+"| |qB! %&%'-(@)F*e+p,s-|3/01244F*-Ox  {!m'rY^*8*7*8+sM,t,7 8%9 '{'x q^v] no PK UsY<<:WEB-INF/classes/com/learningobjects/search/MainIndex.class1search(Lblackboard/platform/context/Context;Lcom/learningobjects/search/SearchQuery;)Lcom/learningobjects/search/results/SearchResults; ExceptionsindexP(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/Indexer;)Vupdate(Ljava/io/File;Z)V SourceFileMainIndex.java$com/learningobjects/search/MainIndexjava/lang/Object*com/learningobjects/search/SearchException,com/learningobjects/content/ContentExceptionjava/io/IOExceptionCcom/learningobjects/search/crawler/InvalidDeletedNodesFileException   PK UsY()VCodeLineNumberTableLocalVariableTablethis RunnableJob InnerClasses:Lcom/learningobjects/search/SchedulingService$RunnableJob;execute#(Lorg/quartz/JobExecutionContext;)VdataLorg/quartz/JobDataMap;jobLjava/lang/Runnable;eLjava/lang/Exception;context Lorg/quartz/JobExecutionContext; Exceptions SourceFileSchedulingService.java 4 567 89: ;<java/lang/Runnable =java/lang/Exception org/quartz/JobExecutionException >?8com/learningobjects/search/SchedulingService$RunnableJobjava/lang/Objectorg/quartz/Joborg/quartz/JobExecutionContext getJobDetail()Lorg/quartz/JobDetail;org/quartz/JobDetail getJobDataMap()Lorg/quartz/JobDataMap;org/quartz/JobDataMapget&(Ljava/lang/Object;)Ljava/lang/Object;run(Ljava/lang/Exception;)V,com/learningobjects/search/SchedulingService!  /*: &+M,N- M Y, =>?B@A%C4 && ! "#  0 PK UsY<˒ BWEB-INF/classes/com/learningobjects/search/SchedulingService.class1 5^_ ^`a ^b c def g hijklmno pq rst puv pw rxyz{ | }~ 4  " &^S & " 4  .` . RunnableJob InnerClassesEACH_MINUTE_TRIGGERLorg/quartz/SimpleTrigger; DATA_KEY_JOBLjava/lang/String; ConstantValue schedulerLorg/quartz/Scheduler;,(Lcom/learningobjects/search/SearchConfig;)VCodeLineNumberTableLocalVariableTablethis.Lcom/learningobjects/search/SchedulingService;config)Lcom/learningobjects/search/SearchConfig;propsLjava/util/Properties; schedFactoryLorg/quartz/SchedulerFactory; ExceptionsgetQuartzScheduler()Lorg/quartz/Scheduler; runEachMinute)(Ljava/lang/String;Ljava/lang/Runnable;)VjobNamejobLjava/lang/Runnable; jobDetailLorg/quartz/JobDetail;dataLorg/quartz/JobDataMap;destroy()V SourceFileSchedulingService.java ?Zjava/util/Properties!org.quartz.scheduler.instanceNamejava/lang/StringBuilderLOI-  -SchedulingService org.quartz.scheduler.rmi.exportfalseorg.quartz.scheduler.rmi.proxy!org.quartz.scheduler.xaTransactedorg.quartz.threadPool.class!org.quartz.simpl.SimpleThreadPool!org.quartz.threadPool.threadCount  $org.quartz.threadPool.threadPriority $org.quartz.jobStore.misfireThreshold org.quartz.jobStore.classorg.quartz.simpl.RAMJobStore#org/quartz/impl/StdSchedulerFactory ? O => Zorg/quartz/JobDetailDEFAULT8com/learningobjects/search/SchedulingService$RunnableJob ?org/quartz/JobDataMap 89 org/quartz/SimpleTrigger eachMinute ?,com/learningobjects/search/SchedulingServicejava/lang/Objectorg/quartz/SchedulerExceptionappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;&com/learningobjects/util/ExtensionUtilgetExtensionName()Ljava/lang/String;toString setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;'com/learningobjects/search/SearchConfiggetIndexingThreadCount()Ijava/lang/StringvalueOf(I)Ljava/lang/String;getIndexingThreadPriority$getSchedulerMisfireThresholdInMillis()J(J)Ljava/lang/String;(Ljava/util/Properties;)Vorg/quartz/SchedulerFactory getSchedulerorg/quartz/Schedulerstart8(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; setJobDataMap(Lorg/quartz/JobDataMap;)V scheduleJob<(Lorg/quartz/JobDetail;Lorg/quartz/Trigger;)Ljava/util/Date;shutdown(Z)VREPEAT_INDEFINITELYI)(Ljava/lang/String;Ljava/lang/String;IJ)V!4589:;<(=>?@A!*YM,Y   W,  W, W, W, W,+ W,+ W,+ W, WY,N*- * !B> -6?HQ _!m"{#$%&'C*DEFG HIJKLMNOA/* B*C DEPQA5"Y+#$%N&Y':(,)W-** -+,WB./0 1&243C45DE5R;5ST'UVWXLMYZAB* -* B6 78C DELM[ZA-.Y/#013+B\]7 $46 PK UsY<0?WEB-INF/classes/com/learningobjects/search/SearchConfig$1.class1,    !" #$%&this$0)Lcom/learningobjects/search/SearchConfig;,(Lcom/learningobjects/search/SearchConfig;)VCodeLineNumberTableLocalVariableTablethis InnerClasses+Lcom/learningobjects/search/SearchConfig$1;run()VeLjava/lang/Exception; SourceFileSearchConfig.javaEnclosingMethod' ()  * java/lang/Exceptionjava/lang/RuntimeException +)com/learningobjects/search/SearchConfig$1java/lang/Objectjava/lang/Runnable'com/learningobjects/search/SearchConfigregisterPropertyUpdateJob1(Lcom/learningobjects/search/SchedulingService;)V access$000(Ljava/lang/Throwable;)V    4 *+*  a* LY+    PK UsY<#^1ss?WEB-INF/classes/com/learningobjects/search/SearchConfig$2.class1-   !"#$%this$0)Lcom/learningobjects/search/SearchConfig;,(Lcom/learningobjects/search/SearchConfig;)VCodeLineNumberTableLocalVariableTablethis InnerClasses+Lcom/learningobjects/search/SearchConfig$2;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String; SourceFileSearchConfig.javaEnclosingMethod& '(  ).status* +,)com/learningobjects/search/SearchConfig$2java/lang/Objectjava/io/FilenameFilter'com/learningobjects/search/SearchConfig listServers()[Ljava/lang/String;()Vjava/lang/StringendsWith(Ljava/lang/String;)Z    4 *+*    E,   PK UsY<ԇ  BWEB-INF/classes/com/learningobjects/search/SearchConfig$Keys.class1p MOPDYNAMIC_DEFAULTLjava/lang/String; ConstantValueQIS_SEARCH_SERVICE_SUSPENDEDRIS_INDEX_CANCELLEDS INDEX_CANCELLED_MERGE_OR_DISCARDTINDEX_CANCELLED_KEEP_DELTASUINDEXING_THREAD_PRIORITYV5PAUSE_BEFORE_LAUNCHING_SCHEDULER_ON_STARTUP_IN_MILLISWINDEXING_CRON_SETTINGSXSLEEP_BETWEEN_DOCS_IN_MILLISYCENTRAL_PLUGIN_CONTENT_DIRZMACHINE_LOCAL_PLUGIN_TEMP_DIR[TEAMS_VENDOR_ID\TEAMS_PLUG_IN_HANDLE]*INDEX_UNKNOWN_TYPES_WITH_BINARY_FILEPARSER^INDEXING_THREAD_COUNT_%SCHEDULER_MISFIRE_THRESHOLD_IN_MILLIS`MAX_NUM_INDEX_TERMS_PER_FIELDaCENTRAL_INDEX_DIRbCENTRAL_PLUG_IN_TEMP_DIRcINDEXING_SERVER_HOSTNAMEdINCREMENTAL_UPDATE_REQUESTEDe INDEX_VERSIONfCOURSE_ID_INDEX_PATTERNgINDEXING_LAST_STARTED_DATEhINDEXING_LAST_FINISHED_DATEiSTORE_DEBUG_ACLjMERGE_DURING_INDEXkAUTO_FILTER_SCANlAUTO_FILTER_PURGEmIS_INDEX_ONLY_LO_CONTENTn()VCodeLineNumberTableLocalVariableTablethisKeys InnerClasses.Lcom/learningobjects/search/SearchConfig$Keys; SourceFileSearchConfig.java BCo,com/learningobjects/search/SearchConfig$Keysjava/lang/ObjectDEFAULTisSearchServiceSuspendedisIndexCancelledindexCancelledMergeOrDiscardindexCancelledKeepDeltasindexingThreadPriority.pauseBeforeLaunchingSchedulerOnStartupInMillisindexingCronSettingssleepBetweenDocsInMilliscentralPluginContentDirmachineLocalPluginTempDir teamsVendorIdteamsPluginHandle%indexUnknownTypesWithBinaryFileParserindexingThreadCount!schedulerMisfireThresholdInMillismaxNumIndexTermsPerFieldcentralIndexDircentralPluginTempDirindexingServerHostnameincrementalUpdateRequested indexVersioncourseIdIndexPatternindexingLastStartedDateindexingLastFinishedDate storeDebugAclmergeDuringIndexautoFilterScanautoFilterPurgeisIndexOnlyLOContent'com/learningobjects/search/SearchConfig       !"#$%&'()*+,-./0123456789:;<=>?@ABCD/*E~F GJKLI NH PK UsY? @A @BCDEF ?GH ,IJK ,LMNOPb ?7 ,Q R Se TU TVWXYZ[ \]^_`a ?b c d e f gh  ij klmnopqrstuvwxy z{ | .}~6     ,             7        #    ,     7   6 #  ?Observer InnerClassesKeysNULL_CRON_STRINGLjava/lang/String; ConstantValueDEFAULT_NUM_HITSI STALE_LOCK_FILEJHEADERSTATUS_FILE_EXT LOCK_TIMEOUT_servletConfigLjavax/servlet/ServletConfig;_isFirstRunAfterInstallZ _instance)Lcom/learningobjects/search/SearchConfig; _defaults _propsFileLjava/io/File;_valsLjava/util/Properties;_propsLastLoaded _observersLjava/util/List; _hostname _contentModel/Lcom/learningobjects/content/bb/BbContentModel;_defaultCronStringsLjava/util/HashMap;DEFAULT_CRON_SCHEDULELAST_COURSE_ID_FILENAMEFULL_RUN_FILENAMELATEST_INDEX_VERSION getInstance+()Lcom/learningobjects/search/SearchConfig;CodeLineNumberTable setInstance,(Lcom/learningobjects/search/SearchConfig;)VLocalVariableTableinstance getDefaultsinit2(Ljavax/servlet/ServletConfig;Ljava/lang/String;)VoutLjava/io/OutputStream; suppressedLjava/lang/Exception;confighostname defaultValsliveConfigFilerafLjava/io/RandomAccessFile; Exceptions+(Ljava/util/Properties;Ljava/lang/String;)Vthisvals.(Ljavax/servlet/ServletConfig;Ljava/io/File;)V propsFilerefreshProperties()VpropsinLjava/io/InputStream;propsLastModifiedregisterPropertyUpdateJob1(Lcom/learningobjects/search/SchedulingService;)VschedulingService.Lcom/learningobjects/search/SchedulingService;registerConfigObserver5(Lcom/learningobjects/search/SearchConfig$Observer;)Vobserver2Lcom/learningobjects/search/SearchConfig$Observer;removeConfigObservernotifyObserversitrLjava/util/Iterator; getHostname()Ljava/lang/String;getIsSearchServiceSuspended()ZgetCentralPluginContentDir()Ljava/io/File;valcentralPluginContentDirgetMachineLocalPluginTempDirtmpDirmachineLocalPluginTempDirgetSearchLicense'()Lcom/learningobjects/license/License;getTeamsVendorIdgetTeamsPluginHandlegetIndexingCronSettings1getPauseBeforeLaunchingSchedulerOnStartupInMillis()J(getIndexUnknownTypesWithBinaryFileParsergetIndexingThreadPriority()IgetIndexingThreadCount$getSchedulerMisfireThresholdInMillisgetSleepBetweenDocsInMillisgetMaxNumIndexTermsPerFieldgetIndexingServerHostnameindexingServerHostnameisConfiguredIndexingServerisIncrementalUpdateRequestedincrementalUpdateRequestedgetIsIndexOnlyLOContentgetIsIndexCancelledgetIndexCancelledMergeOrDiscardgetIndexCancelledKeepDeltasgetStoreDebugACLgetMergeDuringIndexgetAutoFilterScangetAutoFilterPurgesetCentralPluginContentDir(Ljava/lang/String;)VnewValsetMachineLocalPluginTempDirsetIndexingCronSettingssetIsSearchServiceSuspended(Z)V suspendedsetMergeDuringIndex(J)VmergesetAutoFilterPurgepurgesetAutoFilterScanscansetIsIndexCancelled cancelledsetIndexCancelledMergeOrDiscardsetIndexCancelledKeepDeltas1setPauseBeforeLaunchingSchedulerOnStartupInMillis(setIndexUnknownTypesWithBinaryFileParsersetIndexingThreadPriority(I)VsetIndexingThreadCount$setSchedulerMisfireThresholdInMillissetSleepBetweenDocsInMillissetMaxNumIndexTermsPerFieldsetIndexingServerHostnamesetIncrementalUpdateRequestedsetIsIndexOnlyLOContentnewValsgetLockTimeoutgetDefaultCronStrings()Ljava/util/HashMap;lookupCentralIndexDirlookupCentralIndexLockFile'()Lcom/learningobjects/nlocks/LockFile;lockFilelookupDeltaIndexDirlookupThisServerStatusFilelookupIndexingServerStatusFilelookupServerStatusFile"(Ljava/lang/String;)Ljava/io/File;lookupStatusDirlookupLastCourseIdFilelookupFullRunFilelookupIsFirstRunAfterInstall listServers()[Ljava/lang/String;i statusDir statusFiles[Ljava/lang/String;serversgetContentModel1()Lcom/learningobjects/content/bb/BbContentModel;isIndexVersionOutOfDateisIndexCancelledisIndexOnlyLOContentupdateIndexVersiongetIndexVersionsetIndexVersion indexVersiongetInt(Ljava/lang/String;)IkeysetInt(Ljava/lang/String;I)Vvalue getProperty&(Ljava/lang/String;)Ljava/lang/String; setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; getProperties()Ljava/util/Properties; commitChangesexegetContentNodeFilter1()Lcom/learningobjects/content/ContentNodeFilter; classNameclassNameFromConfigcontentNodeFilter/Lcom/learningobjects/content/ContentNodeFilter;$getAllowedCourseIdPatternFromLicensepattern7Lcom/learningobjects/util/PropertyPersistenceException;license%Lcom/learningobjects/license/License;getAllowedCourseIdPatternsetAllowedCourseIdPatterngetIndexingLastStartedDate()Ljava/util/Date;retvalLjava/util/Date;getIndexingLastFinishedDatelastFinishedDatesetIndexingLastStartedDate(Ljava/util/Date;)VdatesetIndexingLastFinishedDate access$000x0 SourceFileSearchConfig.java 56 java/lang/IllegalStateException0Search LX configuration has not been initialized /o  java/io/File //WEB-INF/defaultConfig/defaultConfig.properties 'com/learningobjects/search/SearchConfig /3 MliveConfig.properties /  Y /search is starting for first time after install o 63com/learningobjects/io/RandomAccessFileOutputStream /java/io/BufferedOutputStream / 5Search LX Configuration File. Learning Objects, Inc.  6java/lang/Exception       false }o o 6java/lang/StringBuilder /6finished config init for:  I  java/util/ArrayList   Yproperties updated; reloadingjava/util/Properties Y java/io/BufferedInputStream /  E6propertyUpdateJob)com/learningobjects/search/SearchConfig$1 /     K 0com/learningobjects/search/SearchConfig$Observer 6isSearchServiceSuspended  DEFAULT content  Kjava.io.tmpdir   I/ I- I  I_temp   T teamsVendorIdteamsPluginHandleindexingCronSettings 0 0 1 * * ? .pauseBeforeLaunchingSchedulerOnStartupInMillis  %indexUnknownTypesWithBinaryFileParserindexingThreadPriority indexingThreadCount!schedulerMisfireThresholdInMillissleepBetweenDocsInMillismaxNumIndexTermsPerField   aI  KindexCancelledMergeOrDiscardindexCancelledKeepDeltas storeDebugAclmergeDuringIndex60 autoFilterScan7autoFilterPurge0        java/util/LinkedHashMap0 0/30 * * * ? continuously   0 0 0/6 * * ?every six hours 0 0 23 * * ?%once per day at 11:00 PM, server time$once per day at 1:00 AM, server time 0 0 3 * * ?$once per day at 3:00 AM, server time0 0 23 ? * SAT%every Friday at 11:00 PM, server time 0 0 1 ? * SAT&every Saturday at 1:00 AM, server time 0 0 3 ? * SAT&every Saturday at 3:00 AM, server time LMindex M !.lck#com/learningobjects/nlocks/LockFile /" PMdeltas HI  #?com/learningobjects/search/IndexingServerNotConfiguredException M.statusstatus courseId.txt fullRun.txt)com/learningobjects/search/SearchConfig$2 $%java/lang/String & '( \ gItrue fI   ) *+  *com/learningobjects/search/SearchException2illegal usage: can't modify configuration defaults ,- .6/ 01 2I 34 /4com/learningobjects/content/DefaultContentNodeFilter5 6IcontentNodeFilterClassName 7%Getting ContentNodeFilter from configContentNodeFilter using: 89 :-com/learningobjects/content/ContentNodeFilter Unable to load contentNodeFilter 3; STcourseIdIndexPattern<5com/learningobjects/util/PropertyPersistenceException= >?indexingLastStartedDate @A BC DEindexingLastFinishedDate FG Hjava/lang/Object,com/learningobjects/search/SearchConfig$Keysjava/io/FileNotFoundExceptionjava/io/IOException(com/learningobjects/nlocks/LockException java/lang/ClassNotFoundException java/lang/InstantiationException java/lang/IllegalAccessException+blackboard/platform/plugin/VersionExceptionorg/quartz/SchedulerExceptionjavax/servlet/ServletConfiggetServletContext ()Ljavax/servlet/ServletContext;javax/servlet/ServletContext getRealPath&com/learningobjects/util/ExtensionUtilgetMainConfigDirectory#(Ljava/io/File;Ljava/lang/String;)V#com/learningobjects/nlocks/LockedIOgetOrCreateRandomAccessFile+(Ljava/io/File;J)Ljava/io/RandomAccessFile;java/io/RandomAccessFilelengthgetLog()Ljava/util/logging/Logger;java/util/logging/LoggerinfosetExtensionName(Ljava/io/RandomAccessFile;)V(Ljava/io/OutputStream;)Vstore+(Ljava/io/OutputStream;Ljava/lang/String;)Vjava/io/OutputStreamclosesuppressedException(Ljava/lang/Throwable;)V(com/learningobjects/content/bb/BbVersion,()Lcom/learningobjects/content/bb/BbVersion;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString lastModifiedgetInputStream&(Ljava/io/File;J)Ljava/io/InputStream;(Ljava/io/InputStream;)Vloadjava/io/InputStream,com/learningobjects/search/SchedulingService runEachMinute)(Ljava/lang/String;Ljava/lang/Runnable;)Vjava/util/Listadd(Ljava/lang/Object;)Zremoveiterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;notifyConfigChanged$com/learningobjects/util/StringUtils getBoolean+(Ljava/lang/String;Ljava/util/Properties;)Z getString<(Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/String;equals!com/learningobjects/util/FileUtil normalizeFilemkdirsjava/lang/System(Ljava/io/File;)Ljava/io/File;getAbsolutePathgetPluginVendorIdgetPluginHandlegetVirtualInstallId*com/learningobjects/license/LicenseManager.()Lcom/learningobjects/license/LicenseManager; getLicensegetLong+(Ljava/lang/String;Ljava/util/Properties;)J+(Ljava/lang/String;Ljava/util/Properties;)I isNotEmpty(Ljava/lang/String;)Zjava/lang/BooleanvalueOf'(Ljava/lang/String;)Ljava/lang/Boolean; booleanValuejava/lang/Long parseLong(Ljava/lang/String;)J8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;(Z)Ljava/lang/String;(J)Ljava/lang/String;(I)Ljava/lang/String;&(Ljava/lang/Object;)Ljava/lang/String;java/util/HashMapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;$(Ljava/io/File;Ljava/lang/String;J)VisEmptylist-(Ljava/io/FilenameFilter;)[Ljava/lang/String; lastIndexOf substring(II)Ljava/lang/String;(org/apache/commons/lang/math/NumberUtils stringToInt(Ljava/lang/String;I)IgetTruncatingOutputStream'(Ljava/io/File;J)Ljava/io/OutputStream;flushjava/util/logging/LevelSEVERELjava/util/logging/Level; getMessagelogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/lang/ClassgetName trimToNullforName%(Ljava/lang/String;)Ljava/lang/Class; newInstance.(Ljava/util/logging/Level;Ljava/lang/String;)V#com/learningobjects/license/Licensejava/text/DateFormatgetDateTimeInstance()Ljava/text/DateFormat;parse$(Ljava/lang/String;)Ljava/util/Date;errLjava/io/PrintStream;printStackTrace(Ljava/io/PrintStream;)Vformat$(Ljava/util/Date;)Ljava/lang/String;&(Ljava/lang/Object;)Ljava/lang/Object;! +        l\ 4 Y>?@3* DE  H Y*  M Y*, YN-: =Y:Y: !""!:$:" :$ Y*- +%&'()*+,-.Y/01+12#7#!LM!O.Q7SATEUMVPW[XfYsZx[{\`cabd_`cabcefglmnqrR[  !"#.$7%&'()*+,-./0r *3*46*+7*8Y9:,%u8 vwxy  1 2 "/3{%*3*46*+;*,<*8Y9:*{8 |}~ $ %1%!%4')*56My*<=@*6j>?Y@N*<*AB:CYD:-EFF!:$:F :$*-7*6*GDIL#.DVX]`#VXV^!.9?DILNSVX]`bgjotx>N b !W7.J89y1q:')*;<G+HIY*JK 1=>'?@AD *:+LW   1 BCDAD *:+MW   1 BCE6e%*:NL+O+PQR $%1 FG'HI.% 1JK4 S*7T  1LM1U*7VLM+WXYYM+ZM,[W, %*/ 11 'N %OPMu\*7VLM+WXWY]^ N-_NY.Y/-`1a1b1c1d1c1e1f12 M+ZM,[W,* "'fins*"DQu1 kN iRST1gh 1UI4 i*7V  1VI4 j*7V  1WI6 *7klm  1XY4 n*7o  1ZK4 p*7T  1[\4 q*7r   1]\4 s*7r  1^Y4 t*7o  1_Y4 u*7o  1`\4 v*7r  1aIj"*7wxL+y+*z% !"#$ &"1 bcK5 %*{X,  1dKJ*7|xL+}~ 0 11 efI4 *7V5  1gI4 *7V:  1hI4 *7V>  1iI4 *7VC  1jK4 *7TH  1kY9*7mL 1lY9*7mP 1mY9*7mT 1noD *7U+W Z [ 1 pqoD *7\+W ^ _ 1 proD *7k+W b c 1 pstG*7SW fg1uvwG*7W jk1xywG*7W op1z{wG*7W tu1|}oD *7+W z { 1 ~oD *7+W ~  1 poD *7+W   1 pwG*7nW 1ptG*7pW 1pG*7qW 1pG*7sW 1pwG*7tW 1pwG*7uW 1pwG*7vW 1poD *7w+W   1 ptG*7|W 1pob"+*7+W*7)W!"1"Y. 1 leYWWWlWWWWW. &1<GR]hM8Y* 1e-Y.Y/*12 LY+% -1M8Y* 1M3 **  1'MZ*{L+ Y*+ 1b'SY*.Y/+1121"'M7 Y  1M8Y* 1M8Y*  1K. 1?*L+Y*M,N6,-,2,2S-"7=4"?1:-'.(  1K8*& 1KI**X,.1 1KI**X679 16< **->? @  1'\1*÷ĬC 1@*ű GH1> *+ǬK 1 M *+W O P  1  = *7+xS 1 K *7+,W  1  /*7[ 16]*ɦ Y˷̿*<*ALY+L*7+ +**<=6+!+!M,$N+! :$-L++ѻY+ҿ*GCGJ#CRSWZ#RSRcf#f`adf&g0i4j?lCoGrJpKqOsRnSoWrZp\qarcwftguuv~xy4K \ Fg 1'jӶL*7նxM, ׶,L.Y/ض1+12N+ٶN :ܶݸ-=HK#6  ";=HKMXh4M j1cV=-It*L+߶M,ְM * 1I4 *7߶x  1oD *7+W   1 pyL*7xL M,+#  1%L*7xM, ,L M,+#" #*  %1#X*7+W*7W1J*7+W 1/** ')*"Q  IPK UsY<$!@WEB-INF/classes/com/learningobjects/search/SearchException.class1   (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis,Lcom/learningobjects/search/SearchException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFileSearchException.java   *com/learningobjects/search/SearchExceptionjava/lang/Exception!>*+    >*+    I*+,     PK UsY<_>2o''<WEB-INF/classes/com/learningobjects/search/SearchQuery.class1a \ W W W W W W W W W W W W W W W W W W W W   W     W  . . -  .   W   : :   W !"# $%&' ()* : +,-. X X/ X01guidLjava/lang/String;queryAll queryExact querySome queryNone startIndexI maxResults credentialsLjava/util/List; coursePathsorganizationPaths specialPathstypes pathLabel isAdvancedZuserIdLblackboard/persist/Id; uiEntryId contentId recallUrl recallTarget_debug(Ljava/util/List;)VCodeLineNumberTableLocalVariableTablethis(Lcom/learningobjects/search/SearchQuery;setDebug(Z)VvalgetDebug()Z setQueryAll(Ljava/lang/String;)V getQueryAll()Ljava/lang/String; setQueryExact getQueryExact setQuerySome getQuerySome setQueryNone getQueryNone setStartIndex(I)V getStartIndex()I setMaxResults getMaxResultssetCoursePathsgetCoursePaths()Ljava/util/List;setOrganizationPathsgetOrganizationPathssetSpecialPathsgetSpecialPathssetTypesgetTypes setPathLabel getPathLabel setUserId(Lblackboard/persist/Id;)V getUserId()Lblackboard/persist/Id; setUiEntryId getUiEntryId setContentId getContentId setRecallUrl getRecallUrlsetRecallTargetgetRecallTargetgetShowSelectBoxbisEmptygetGuidscrubStringList"(Ljava/util/List;)Ljava/util/List;silist scrubbedListdecodeSpecialPathsdlgetExternalIdsFromCourseBbListcLblackboard/data/course/Course; externalIdsgetDisplayableQueryvalue generateQueryG(Lorg/apache/lucene/analysis/Analyzer;)Lorg/apache/lucene/search/Query;analyzer%Lorg/apache/lucene/analysis/Analyzer;query Lorg/apache/lucene/search/Query; Exceptions2buildQueryStringwords[Ljava/lang/String;allPathsLjava/lang/StringBuffer; equals_OLD(Ljava/lang/Object;)Zsqeb/Lorg/apache/commons/lang/builder/EqualsBuilder;oLjava/lang/Object;equals SourceFileSearchQuery.java v3 ]^ _^ `^ a^ b^ cd ed fg hg ig jg kg l^ mn op q^ r^ s^ t^ un4 5java/util/ArrayList  null6 789 : ;<java/lang/String =8, >?@ AB CD x_allCourses E8F GH x_allOrganizations IHx_googleblackboard/data/course/Coursejava/lang/StringBuilderblackboard/courses/ JK LM N O P(advanced search) contentsQ RSjava/lang/StringBuffer$allparentdirs:(blackboard) JT$ UVkeywords:(" content.read&com/learningobjects/content/CredentialW XY OR )  AND  parentdirstype(("") AND NOT  AND NOT keywords:(hidden)Z [\Query: ] ^&com/learningobjects/search/SearchQuery-org/apache/commons/lang/builder/EqualsBuilder J_ `java/lang/Object,org/apache/lucene/queryParser/ParseException()V!com/learningobjects/util/GuidUtil generateGuid#org/apache/commons/lang/StringUtilsisBlank(Ljava/lang/String;)Zjava/util/Listsizeget(I)Ljava/lang/Object; isNotEmptysplit'(Ljava/lang/String;)[Ljava/lang/String;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;addAll(Ljava/util/Collection;)Z startsWith#com/learningobjects/util/CourseUtilloadCourseList1(Lblackboard/persist/Id;)Lblackboard/base/BbList;loadOrganizationListappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getIdblackboard/persist/IdtoExternalStringtoStringadd)org/apache/lucene/queryParser/QueryParserparsek(Ljava/lang/String;Ljava/lang/String;Lorg/apache/lucene/analysis/Analyzer;)Lorg/apache/lucene/search/Query;,(Ljava/lang/String;)Ljava/lang/StringBuffer; substring(I)Ljava/lang/String;.com/learningobjects/content/GenericEntitlementwriteEntitlementU(Ljava/lang/StringBuffer;Ljava/lang/String;Lcom/learningobjects/content/Credential;)V&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LoggerinfoU(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/lang/builder/EqualsBuilder;isEquals!W\]^_^`^a^b^cdedfghgigjgkgl^mnopq^r^s^t^un0vwxA********* * * * * *********+ **Y *Y *Y *Y yr, "',16 ;!@"E#J$O&T'Y(^)c*h-m.t/0123z{|fg}~x>*y 67z{|nx/*y:z {|x>*+y >?z{|_^x/*yBz {|x>*+y FGz{|`^x/*yJz {|x>*+y NOz{|a^x/*yRz {|x>*+y VWz{|b^x/*yZz {|x>*y ^_z{|cdx/*ybz {|x>*y fgz{|edx/*yjz {|wxB **+ y n oz {| hgx/* yrz {|wxB **+ y v wz {| igx/* yzz {|wxB **+ y ~ z {| jgx/* yz {|wxB **+ y  z {| kgx/* yz {|x>*+y z{|l^x/*yz {|m~x>*y z{|mnmx/*yz {|x>*+y z{|opx/*yz {|x>*+y z{|q^x/*yz {|x>*+y z{|r^x/*yz {|x>*+y z{|s^x/*yz {|x>*+y z{|t^x/*yz {|xe%<***<y!#z%{|#nxn.<*#***<y*,z.{|,nx/*yz {|xNYM+C+:>+.+ :!,"#$%W,y"!-5FLz4-^5dN{|NgFgxQ+M+G+ N-&'**()M$-*'**+)M -,',y&  .7FOz*9^Q{|QgOgxVYM+K+B>+6+-:,.Y/0123145W,y  !-NTz4-!=dV{|VgNgxfL* 6L**L+y z{|^xUM*78+9M,y!" #z {| x:Y;L*<' +=>W*?'+*@>W* v+A>W+B>W+C>W+D* EF+C>W=* 1+G>W+C>W+D* EF+C>W+H>WYM,* %W,* %W,** I%W,r+J>W+K>W+B>W+C>W+, >W+C>W>,-+G>W+C>W+, >W+C>W+H>W* {+J>W+L>W+B>W+C>W+*  >W+C>W>* 0+G>W+C>W+*  >W+C>W+H>W*T*H+J>W+M>W*NN+-2>W6-+J>W+-2>W+H>W*-*!+J>W+O>W+*>W+P>W*-*!+J>W+M>W+*>W+H>W*-*!+Q>W+M>W+*>W+H>W+R>W*S.Y/T1+U14V+Uy>O(*-.*1:5F6M7T8[9n:u;<=>?;AFHIJLNOPR ST!U-V4X;YJZQUW\^`jaqbxcdefghijkgmpqrs tuv$w-u3y:|M}T~[dk~zRw;d#4d:dd / g{|x#=+W+WNXYY:*-ZW*-ZW*-ZW*-ZW* - ZW* - ZW* - ZW* - ZW[=yB  '5CQ_m{z4|z{|nx3=+W+WNXYY:*7-7ZW[=y&   '/1z4!|3{|31nPK UsY
WEB-INF/classes/com/learningobjects/search/SearchService.class1u A BC DE FG H I JK A LMN O BP QR QSTU O BVW A XYZ [ B\ ]^ ]_`_searchService*Lcom/learningobjects/search/SearchService;_config)Lcom/learningobjects/search/SearchConfig; mainIndex&Lcom/learningobjects/search/MainIndex;()VCodeLineNumberTableLocalVariableTablethis getInstance,()Lcom/learningobjects/search/SearchService; getConfig+()Lcom/learningobjects/search/SearchConfig; runSearch(Lblackboard/platform/context/Context;Lcom/learningobjects/search/SearchQuery;)Lcom/learningobjects/search/results/SearchResults;context%Lblackboard/platform/context/Context;query(Lcom/learningobjects/search/SearchQuery; ExceptionsainstantiateSearchQuery:(Ljava/util/List;)Lcom/learningobjects/search/SearchQuery; credentialsLjava/util/List;sq isSuspended()Z SourceFileSearchService.java %&b +. !"1com/learningobjects/search/lucene/LuceneMainIndexc de %f #$  (com/learningobjects/search/SearchService <=6com/learningobjects/search/SearchingSuspendedExceptionSearch service is suspended. %g hij k= l=6com/learningobjects/search/IndexNotConfiguredExceptionIAdministrator has not configured index. Please see Search LX Users Guide m=9com/learningobjects/search/IndexVersionOutOfDateExceptionn o0&com/learningobjects/search/SearchQuery %p q=r +s t=java/lang/Object*com/learningobjects/search/SearchException'com/learningobjects/search/SearchConfig&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;F(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)V(Ljava/lang/String;)VlookupCentralIndexDir()Ljava/io/File; java/io/FileexistscanReadisIndexVersionOutOfDate$com/learningobjects/search/MainIndexsearch(Ljava/util/List;)VgetIsSearchServiceSuspended*com/learningobjects/search/IndexingService.()Lcom/learningobjects/search/IndexingService;isMainIndexLocked!   !"#$%&'T***Y*( ) * +,'4 Y (-.'/*() * /0'S* Y ** Y* Y*+,( !+"5$?%G') S* S12S345678'M Y+M,( - .)  * 9: ;4<='C* (2) * 56>&'( ?@PK UsY<6<WEB-INF/classes/com/learningobjects/search/SearchStats.class1   ()VCodeLineNumberTableLocalVariableTablethis(Lcom/learningobjects/search/SearchStats;toString()Ljava/lang/String; SourceFileSearchStats.java   &com/learningobjects/search/SearchStatsjava/lang/Object'com/learningobjects/search/SearchConfig getInstance+()Lcom/learningobjects/search/SearchConfig;1com/learningobjects/search/lucene/LuceneMainIndex getIndexInfo=(Lcom/learningobjects/search/SearchConfig;)Ljava/lang/String;!/*    1   PK UsY()VCodeLineNumberTableLocalVariableTablethis(Lcom/learningobjects/search/SearchUtils;instantiateDocumenta(Lcom/learningobjects/content/ContentNode;Ljava/util/Stack;)Lorg/apache/lucene/document/Document; docProvider)Lcom/learningobjects/content/ContentNode;parentsLjava/util/Stack;doc%Lorg/apache/lucene/document/Document;dateJlastModcontentsLjava/io/Reader;entlbytesLjava/io/ByteArrayOutputStream;outLjava/io/ObjectOutputStream;b64str Exceptions formatDate(J)Ljava/lang/String;time decodeTime(Ljava/lang/String;)J encodedTime SourceFileSearchUtils.java Z[#org/apache/lucene/document/Document   wmodified +com/learningobjects/content/FileContentNode [ java/io/StringReader Z%com/learningobjects/io/SequenceReaderjava/lang/StringBuilder Z summary  id uidpath  parentpath type title parentdirs  breadcrumb  localhash prophash  debugacl hiddenkeywordsjava/io/ByteArrayOutputStreamjava/io/ObjectOutputStream Z [  datajava/util/Date Z z&com/learningobjects/search/SearchUtilsjava/lang/Objectjava/io/IOException'com/learningobjects/content/ContentNodegetLastModified()Jjava/lang/SystemcurrentTimeMillis$org/apache/lucene/document/DateField timeToString org/apache/lucene/document/FieldKeywordH(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/lucene/document/Field;add%(Lorg/apache/lucene/document/Field;)VinitFileParser getContents()Ljava/io/Reader;(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getTitle()Ljava/lang/String;toString#(Ljava/io/Reader;Ljava/io/Reader;)VTextF(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/document/Field; getSummary#com/learningobjects/search/HtmlUtil escapeHTML&(Ljava/lang/String;)Ljava/lang/String; UnIndexedgetId getUidPath getParentPath getTypeUid'com/learningobjects/content/ContentUtilsplitParentIdsgenerateBreadcrumbN(Lcom/learningobjects/content/ContentNode;Ljava/util/Stack;)Ljava/lang/String;hashLocalFieldshashPropagatedFields'com/learningobjects/search/SearchConfig getInstance+()Lcom/learningobjects/search/SearchConfig;getStoreDebugACL()ZencodeFullListEntitlements=(Lcom/learningobjects/content/ContentNode;)Ljava/lang/String;splitEntitlements isViewable(Ljava/io/OutputStream;)VgetStructuredData()Ljava/util/HashMap; writeObject(Ljava/lang/Object;)Vflush toByteArray()[B#com/learningobjects/util/Base64Utilencode([B)Ljava/lang/String;(J)V stringToTime!FGHIJKIJLIJ'MIJ"NIJ OIJPIJ$QIJ&RIJSIJ*TIJAUIJ7VIJ,WIJ.XIJ2YIJ6Z[\/*]^ _`ab\ YM*B! B!:, * * * : Y:Y YY*:, ,* ,* , *! ,"*# ,$*% ,&* ,'*!() ,**++ ,,*- ,.*/ 01,2*3 *4:*5Y6:,7) 8Y9::Y;:  *<= >?@: ,A  ,]$@BDEGH*L1M8O@PEQPTzUX[^abehknq#t,u9{?}H~^ir}^f cdefghijkI@dlm?enIr2op}'qr  sI tuvw\6 BYCD]^  xjyz\/*E]^ {I|}PK UsY<LWEB-INF/classes/com/learningobjects/search/SearchingSuspendedException.class1   (Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/search/SearchingSuspendedException;msgLjava/lang/String;(Ljava/lang/Throwable;)VcauseLjava/lang/Throwable;*(Ljava/lang/String;Ljava/lang/Throwable;)V SourceFile SearchingSuspendedException.java   6com/learningobjects/search/SearchingSuspendedException*com/learningobjects/search/SearchException!>*+    >*+    I*+,     PK UsYU =V =W XY Z[\]^_` ab ac de df gh dijklmnopqrstuvwxyz{|}~H STOP_TABLELjava/util/Hashtable; STOP_WORDS[Ljava/lang/String;()VCodeLineNumberTableLocalVariableTablethis3Lcom/learningobjects/search/analysis/KStemAnalyzer; tokenStreamL(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analysis/TokenStream;result(Lorg/apache/lucene/analysis/TokenStream; fieldNameLjava/lang/String;readerLjava/io/Reader; SourceFileKStemAnalyzer.java CD ?@ AB  parentdirs uidpath parentpathtypekeywordsmodified.org/apache/lucene/analysis/WhitespaceTokenizer C5org/apache/lucene/analysis/standard/StandardTokenizer2org/apache/lucene/analysis/standard/StandardFilter C*org/apache/lucene/analysis/LowerCaseFilter%org/apache/lucene/analysis/StopFilter C+org/apache/lucene/analysis/PorterStemFilterjava/lang/Stringaallandareasatbebutbyforifinintoisitnonotofonorssuchtthatthetheirthentherethesetheytowaswillwithnull1com/learningobjects/search/analysis/KStemAnalyzer#org/apache/lucene/analysis/Analyzer makeStopTable*([Ljava/lang/String;)Ljava/util/Hashtable;equals(Ljava/lang/Object;)Z(Ljava/io/Reader;)V+(Lorg/apache/lucene/analysis/TokenStream;)V@(Lorg/apache/lucene/analysis/TokenStream;Ljava/util/Hashtable;)V!=> ?@ABCDEJ* F "G HIJKEq+0+'++ +  +  Y, Y,NY-NY-NY-NY-N-F".6/?1H2Q3Z4f5o6G*H)LMqHIqNOqPQRDE$YSYSYSYSYSYSYSY SY!SY "SY #SY $SY %SY &SY'SY(SY)SY*SY+SY,SY-SY.SY/SY0SY1SY2SY3SY4SY5SY6SY7SY8SY 9SY!:SY";SY#(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/search/crawler/AbandonIndexError;msgLjava/lang/String; SourceFileAbandonIndexError.java 4com/learningobjects/search/crawler/AbandonIndexErrorjava/lang/Error!>*+    PK UsY()VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/search/crawler/FileParserFactory;initDefaultParsers ExceptionsinstantiateFileParser?(Ljava/io/File;)Lcom/learningobjects/search/crawler/FileParser;mimeTypeLjava/lang/String;nametargetLjava/lang/Class;parser/Lcom/learningobjects/search/crawler/FileParser;e"Ljava/lang/InstantiationException;"Ljava/lang/IllegalAccessException;Ljava/io/IOException; targetFileLjava/io/File;registerFileParser(Ljava/lang/String;)V fullClassName(Ljava/lang/Class;)ViI parserClassexts[Ljava/lang/String;mimeslistKnownTypes()Ljava/util/Iterator; SourceFileFileParserFactory.java 45java/util/HashMap 12 326com/learningobjects/search/crawler/parsers/HTMLParser2 LP7com/learningobjects/search/crawler/parsers/MSWordParser4com/learningobjects/search/crawler/parsers/PDFParser5com/learningobjects/search/crawler/parsers/TextParser8com/learningobjects/search/crawler/parsers/TextCsvParser8com/learningobjects/search/crawler/parsers/TextTsvParser8com/learningobjects/search/crawler/parsers/TextRtfParser0D1J2P3<$& =>6*L++M,<*N*N--M,M,N-*-L !+"+#L !+%+#L !+'+#mnm$m&7b:; >? A$B,C;D>FBGMMQQ]TeUlVnWoX}YZ[\]^_8R,1?@`A@ NBCe DEoFGFHFIJK LM66*(7 de8 N@< O$& LP6a*L+)M>,,2**W++N6--2**W+,76 hi klm n.m4p;qErTqZt`u8>QR>QRaSCPDEITU;&VU<$&WX66 -.7{8  9:Y56% 7 #$Z[PK UsY<@jQWEB-INF/classes/com/learningobjects/search/crawler/IncrementalIndexingRun$1.class1   SourceFileIncrementalIndexingRun.javaEnclosingMethod ;com/learningobjects/search/crawler/IncrementalIndexingRun$1 InnerClassesjava/lang/Object9com/learningobjects/search/crawler/IncrementalIndexingRun  PK UsY<а  dWEB-INF/classes/com/learningobjects/search/crawler/IncrementalIndexingRun$IndexingStatusThread.class1K ) * +: , -./0 12 34 5 6789this$0;Lcom/learningobjects/search/crawler/IncrementalIndexingRun;>(Lcom/learningobjects/search/crawler/IncrementalIndexingRun;)VCodeLineNumberTableLocalVariableTablethisIndexingStatusThread InnerClassesPLcom/learningobjects/search/crawler/IncrementalIndexingRun$IndexingStatusThread;run()V interrupted Ljava/lang/InterruptedException;eLjava/lang/Exception;:{(Lcom/learningobjects/search/crawler/IncrementalIndexingRun;Lcom/learningobjects/search/crawler/IncrementalIndexingRun$1;)Vx0x1=Lcom/learningobjects/search/crawler/IncrementalIndexingRun$1; SourceFileIncrementalIndexingRun.java    ;<= >?java/lang/InterruptedExceptionjava/lang/Exception@ ABC DE FGH IJNcom/learningobjects/search/crawler/IncrementalIndexingRun$IndexingStatusThreadjava/lang/Thread;com/learningobjects/search/crawler/IncrementalIndexingRun$1sleep(J)V9com/learningobjects/search/crawler/IncrementalIndexingRun access$100>(Lcom/learningobjects/search/crawler/IncrementalIndexingRun;)Z&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level; getMessage()Ljava/lang/String;java/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V 4 *+*%  '*LL + +  ")*/+/-.&0  '#D*+% $%&'(-!-PK UsY? r@ ABC DEF GHIJKL InnerClassesIndexingStatusThreadSTATUS_UPDATE_INTERVALJ ConstantValue:NODES_TO_DELETE_FILENAMELjava/lang/String; _deltaRunDirLjava/io/File;_deltaIndexDir_nodesToDelete _cmsRootNode)Lcom/learningobjects/content/ContentNode;_addedDocCountI_deltaIndexWriter%Lorg/apache/lucene/index/IndexWriter; _parentStackLjava/util/Stack; _deleteOutLjava/io/PrintWriter;_config)Lcom/learningobjects/search/SearchConfig; _statusThreadLjava/lang/Thread;_statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder;_logLjava/util/logging/Logger;STATE_NEW_NODEdSTATE_CURRENT_LEAFeSTATE_CURRENT_DIRECTORYfSTATE_STALE_LOCALgSTATE_STALE_PROPAGATEh nodeCount _mainIndex&Lcom/learningobjects/search/MainIndex; _lastCourseId _lastMerge _statusNode_previousStatusNode_statusAncestry _statusTitle_statusUidPath _completedZ(Ljava/io/File;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/SearchConfig;Lcom/learningobjects/search/status/IndexingStatusRecorder;)VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/search/crawler/IncrementalIndexingRun; deltaRunDir cmsRootNodeconfigstatusRecorder Exceptionsgo()Vreader%Lorg/apache/lucene/index/IndexReader;exLjava/io/IOException;Ljava/lang/Exception;ignored luceneLockDirerr6Lcom/learningobjects/search/crawler/AbandonIndexError; indexExists courseIdFileMNOcheckIndexVersioncheckChildrenForUpdates](Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentTreeLocation;)Vsourcetarget1Lcom/learningobjects/content/ContentTreeLocation;checkNodesForUpdatese(Lcom/learningobjects/content/ContentNodeIterator;Lcom/learningobjects/content/ContentNodeIterator;)VbbNode0Lcom/learningobjects/content/bb/BbCourseAdapter;courseIdtLjava/lang/Throwable;uidPath targetNode sourceNode sourceNodes1Lcom/learningobjects/content/ContentNodeIterator; targetNodes targetWalker/Lcom/learningobjects/content/ContentNodeWalker;handleNodeProcessed,(Lcom/learningobjects/content/ContentNode;)V mergeEverythnodepauseBetweenDocse Ljava/lang/InterruptedException;checkForPriorityChangedeleteRemainingNodes(Ljava/util/Collection;)ViterLjava/util/Iterator;remainingNodesLjava/util/Collection;compareU(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;)IsdLjava/util/HashMap;targetLocalHashtargetPropHashhandleNodeStateV(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/content/ContentNode;I)VstatehandleAddSubtreenode2itrhandleUpdateSubtree handleNewNodedoc%Lorg/apache/lucene/document/Document;handleUpdatedNodemarkSubtreeForDeletion(Ljava/lang/String;)VmarkNodeForDeletion updateStatuscurrentlyProcessing publishStatus()Z statusMessagecreateStatusMessage()Ljava/lang/String;msgLjava/lang/StringBuffer; logMemoryInfo access$100>(Lcom/learningobjects/search/crawler/IncrementalIndexingRun;)Zx0 SourceFileIncrementalIndexingRun.java de P QR java/util/Stack  Sejava/io/IOExceptionjava/lang/StringBuilder%Error, delta run dir already exists: TU Vh Wh `  java/io/Fileindex X Yenodes-to-delete.txt Starting index runZ [` k *\ ]^_ %` ab cd ef gh ij8The main index has become corrupt; recreating index file klm no pjava/lang/Exception$Error establishing presence of indexStarting full index run q^ re s^UTF-8t uv  we xy z {Creating Lucene lock dir: T| }`Create directory failed!#org/apache/lucene/index/IndexWriter1com/learningobjects/search/analysis/KStemAnalyzer ~ Ncom/learningobjects/search/crawler/IncrementalIndexingRun$IndexingStatusThread    d 1com/learningobjects/search/lucene/LuceneMainIndex  java/io/PrintWriterjava/io/FileWriter    4com/learningobjects/search/crawler/AbandonIndexError  b@Finished index run e
    Virtual Path: 1

    Location:  <unavailable> h9com/learningobjects/search/crawler/IncrementalIndexingRunjava/lang/Object"com/learningobjects/search/Indexer;com/learningobjects/search/crawler/IncrementalIndexingRun$1,com/learningobjects/content/ContentException*com/learningobjects/search/SearchException(com/learningobjects/nlocks/LockException&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;existsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getAbsolutePathtoString#(Ljava/io/File;Ljava/lang/String;)Vmkdirsjava/util/logging/Loggerinfo'com/learningobjects/search/SearchConfiglookupCentralIndexDir()Ljava/io/File;#org/apache/lucene/index/IndexReader(Ljava/io/File;)Zopen5(Ljava/io/File;)Lorg/apache/lucene/index/IndexReader;numDocs()Iclosejava/lang/Systemgcjava/util/logging/LevelWARNINGLjava/util/logging/Level;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V*com/learningobjects/search/IndexingService getInstance.()Lcom/learningobjects/search/IndexingService; deleteIndexeslookupFullRunFile createNewFilelookupLastCourseIdFile!com/learningobjects/util/FileUtilreadFile:(Ljava/io/File;Ljava/lang/String;)Ljava/lang/StringBuffer;deletecurrentTimeMillis()J#org/apache/lucene/store/FSDirectoryLOCK_DIR-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warning7(Ljava/io/File;Lorg/apache/lucene/analysis/Analyzer;Z)V{(Lcom/learningobjects/search/crawler/IncrementalIndexingRun;Lcom/learningobjects/search/crawler/IncrementalIndexingRun$1;)Vjava/lang/ThreadstartgetMaxNumIndexTermsPerFieldmaxFieldLengthF(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)V(Ljava/io/File;Z)V(Ljava/io/Writer;)V$com/learningobjects/search/MainIndexP(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/Indexer;)V interruptisIndexVersionOutOfDate isDirectorypush&(Ljava/lang/Object;)Ljava/lang/Object;listChildNodes3()Lcom/learningobjects/content/ContentNodeIterator;/com/learningobjects/content/ContentTreeLocationpop()Ljava/lang/Object;4(Lcom/learningobjects/content/ContentNodeIterator;)V/com/learningobjects/content/ContentNodeIteratorhasNextyieldisIndexCancellednext+()Lcom/learningobjects/content/ContentNode; getUidPathpullNode=(Ljava/lang/String;)Lcom/learningobjects/content/ContentNode; getCourse!()Lblackboard/data/course/Course;blackboard/data/course/Course getCourseIdjava/lang/Stringequals(Ljava/lang/Object;)ZgetSkipButKeepdisposegetRemainingNodes()Ljava/util/Collection;getMergeDuringIndexupdate writeFile5(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)VgetSleepBetweenDocsInMillissleep(J)V getMessage currentThread()Ljava/lang/Thread; getPrioritygetIndexingThreadPriority(I)Ljava/lang/StringBuilder; setPriority(I)Vjava/util/Collectioniterator()Ljava/util/Iterator;java/util/IteratorgetIdfinehashLocalFields isViewablegetStructuredData()Ljava/util/HashMap;java/lang/BooleanTRUELjava/lang/Boolean;java/util/HashMapgethashPropagatedFields&com/learningobjects/search/SearchUtilsinstantiateDocumenta(Lcom/learningobjects/content/ContentNode;Ljava/util/Stack;)Lorg/apache/lucene/document/Document; addDocument((Lorg/apache/lucene/document/Document;)VprintlnflushclearaddAll(Ljava/util/Collection;)ZgetTitle8com/learningobjects/search/status/IndexingStatusRecorderindexing,(Ljava/lang/String;)Ljava/lang/StringBuffer;'com/learningobjects/content/ContentUtilgenerateBreadcrumbN(Lcom/learningobjects/content/ContentNode;Ljava/util/Stack;)Ljava/lang/String;$com/learningobjects/util/MemoryUtils getMemoryInfo!     ****Y+ ! Y Y  +*+*Y**,*-**W*Y**Y>G= EH"I@KELVM[N`OfPnQRS4 ** *!<*"#)*"$M,%<,& N,&-)M'(),*+,M(.,*/*01W*2M*,3456 N,7W*89:=Y:;N- + Y <-=>- ?>*@Y*AYBCD*EY*FG*GH*D*IJ*KY**LM*NYOY*PQR*M**S*R2*RT(N*R *RT:*R *RT*GV*W*D *DX* :* 2:*GV*W*D *DX* :* *Y+8??@?FI Fb--N\mUN\mn@Z [ \^` a+c8e<f?eFpIhJkMlYm_pbncoosst{uz|}~$7N\cmnu\ +Jc  ! /"n#$% j&  '()*P*Z*[+,   ()+,>*+W+\2*+]W*+^,_`*aWN*aW-'2232"'/2= >>->./'01 ZbY,cN+dBe*fgUYhi*j+k:l:-m:nYn:op:*66 Y qr*6s*6ft[**uv*wx:  x xI::( Y zl{*x: x ::(|**-}~ Uy+!++-+5:U:U7:U5?y?y7?y, '15=BKS[bls!(+7:<?ANQY bO23lE4#$)56K7S8=9<#$A 56ZZ:;Z<; Q=>'?@+n+nopM*iiB! 8*9e!*RT*R*DX*D*M**@Y*AYBCD*D*IJ*NYOY*PQR Y ,*2:,3*89M(,*UYiyZ   "5=DIPUcz !#*&()+>&4"AB6CDy)* *L(++* . 0312(5EF)GxB*4 Y **894:A< BHIF+M,8,N Y -*-lű?@A8BBCED*(C>JKFFLMNO',d,N-+s_+,P+\D+:4$ Y +efe,:+sgh>GHJK*L3M;NPRnSqUtWwYZ[]>;9PQ98RSTUdh#NtѸ Y +*+ Y + Y +*+,a Y +*+*+,0 Y +*+*+Fa$dGeLfOirjunoptuvwz{|*C8V'W@*fUYhi*+W*++\~*+]W+^M,dM,kN-? Y -*-*-w-x:-x*aW:*aWIM,M*( Y ,+l,*N*(--*q{8!U!y-z !&/8?HOSqv{HO@X?SY;#$! B56CZ@U*+W*+l*+C[@k*+W*+*M*D,FM*( Y ,+l,*N*(--**Y` -MP-2  MPQ`j4\]Q! BE kkC^@U*+W*+l*+C_`^"*R Y +*R!""7a`^"*R Y +*R!""7"b@9+ */*+***W*+*+lDZ" $.899c"dew+***ȥ**µ*L*+   ! ) !f+ghOYL+ͶW+*ƶW+϶W+*ǶW+жW+**ѶW M+ҶW+5/?B-. (/?BCJ C! OGijk9 *Ӷ " #  lm/*. nopEPK UsY<5 FWEB-INF/classes/com/learningobjects/search/crawler/IndexMerger$1.class1-   !"#$%this$00Lcom/learningobjects/search/crawler/IndexMerger;3(Lcom/learningobjects/search/crawler/IndexMerger;)VCodeLineNumberTableLocalVariableTablethis InnerClasses2Lcom/learningobjects/search/crawler/IndexMerger$1;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String; SourceFileIndexMerger.javaEnclosingMethod& '(  )run_* +,0com/learningobjects/search/crawler/IndexMerger$1java/lang/Objectjava/io/FilenameFilter.com/learningobjects/search/crawler/IndexMergermergeOldDeltaDirs7(Ljava/io/File;Lcom/learningobjects/search/MainIndex;)V()Vjava/lang/String startsWith(Ljava/lang/String;)Z    4 *+* *   E, +  PK UsY3(Lcom/learningobjects/search/crawler/IndexMerger;)VCodeLineNumberTableLocalVariableTablethis InnerClasses2Lcom/learningobjects/search/crawler/IndexMerger$2;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String; SourceFileIndexMerger.javaEnclosingMethod& '(  )run_* +,0com/learningobjects/search/crawler/IndexMerger$2java/lang/Objectjava/io/FilenameFilter.com/learningobjects/search/crawler/IndexMergerisMergeRequired`(Ljava/io/File;Lcom/learningobjects/search/MainIndex;Lcom/learningobjects/search/SearchConfig;)Z()Vjava/lang/String startsWith(Ljava/lang/String;)Z    4 *+* P   E, Q  PK UsY<(z z DWEB-INF/classes/com/learningobjects/search/crawler/IndexMerger.class1 !> ?@A BC DEF I DJK LMN OPQ >R S T U BVWX I YZ D[ \]G ^_`abcd()VCodeLineNumberTableLocalVariableTablethis0Lcom/learningobjects/search/crawler/IndexMerger;mergeOldDeltaDirs7(Ljava/io/File;Lcom/learningobjects/search/MainIndex;)VeLjava/lang/Exception;iI deltaBaseDirLjava/io/File; mainIndex&Lcom/learningobjects/search/MainIndex;oldDirs[Ljava/io/File;isMergeRequired`(Ljava/io/File;Lcom/learningobjects/search/MainIndex;Lcom/learningobjects/search/SearchConfig;)Zconfig)Lcom/learningobjects/search/SearchConfig;ZindexCancelledKeepDeltas,(Lcom/learningobjects/search/SearchConfig;)Z SourceFileIndexMerger.java "#e fgInside mergeOldDeltaDirs.h ijk lm0com/learningobjects/search/crawler/IndexMerger$1 InnerClasses "n opCalling LuceneMainIndex.updateq rsjava/lang/Exceptiont uvjava/lang/StringBuilderError merging delta dir: wx wy z{ |}Inside isMergeRequired0com/learningobjects/search/crawler/IndexMerger$2 :;File found in scratch dir: ~ { false3indexCancelledKeepDeltas=false, continuing indexing=indexCancelledKeepDeltas=true, not going to continue indexing.com/learningobjects/search/crawler/IndexMergerjava/lang/Object&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/Loggerinfo(Ljava/lang/String;)V java/io/Fileexists()Z3(Lcom/learningobjects/search/crawler/IndexMerger;)V listFiles)(Ljava/io/FilenameFilter;)[Ljava/io/File;$com/learningobjects/search/MainIndexupdate(Ljava/io/File;Z)Vjava/util/logging/LevelWARNINGLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;logC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VgetAbsoluteFile()Ljava/io/File;'com/learningobjects/search/SearchConfiggetIndexCancelledKeepDeltasjava/lang/Stringequals(Ljava/lang/Object;)Z! !"#$/*%& '()*$l++Y*N-6-B ,-2 &: Y-2,?B %:$&')/!0"3,546?9B7D8e3k<&>D!+,%F-.l'(l/0l12O3456$j6+X+Y*:E?*-76) Y26%* FG MO U3W>Y^Wd[g_&H6.-. G34j'(j/0j12j78 _59:;$w3+++ %df'g)k1l&3'(378<=HPK UsY()VCodeLineNumberTableLocalVariableTablethis0Lcom/learningobjects/search/crawler/IndexingJob;!misfireIfLaunchedWhileJobsRunning()[Ljava/lang/Class;list[Ljava/lang/Class;doWork#(Lorg/quartz/JobExecutionContext;)Vmessagelicense%Lcom/learningobjects/license/License; deltaBaseDir mainIndex&Lcom/learningobjects/search/MainIndex;vmdisposeinstantiateJobDetailR(Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lorg/quartz/JobDetail;statusRecorder volatilityZ durabilityrecover jobDetail SourceFileIndexingJob.java }~? @A yz.com/learningobjects/search/crawler/IndexMerger {|java/lang/Class.com/learningobjects/search/crawler/IndexingJob5com/learningobjects/search/crawler/MergeDeltaIndexJobInside IndexingJob.doWorkB CD wx E~F GH opfalse ID J~ KLM NO POjava/lang/StringBuilder7The search license is not valid for indexing. Status: QR ST UT VD org/quartz/JobExecutionExceptionjava/lang/Exception }D }W XY1com/learningobjects/search/lucene/LuceneMainIndex }Z)Checking for existence of scratch dirs... [\*About to merge files from IndexingJob job. ]^ java/io/Filerun__ `a Qb }c qrindex scratch dir: dT e fg hi jk:blackboard/platform/vxi/service/VirtualInstallationManagerl mn oT pq*blackboard/platform/context/ContextManager rst Gu st ~ vwjava/lang/RuntimeExceptionjava/lang/Errorjava/lang/Throwable xyz {| }~ 8com/learningobjects/search/status/IndexingStatusRecorder"Inside IndexingJob.scheduleNextJob T cancelDiscard  D D  ~ cancelKeep ~ 'org/quartz/ObjectAlreadyExistsException4mergeDeltaIndexJob already exists, not rescheduling. }   org/quartz/SimpleTrigger mergeTriggergroup1 } IndexingJob.doIncrementalPass()  9com/learningobjects/search/crawler/IncrementalIndexingRun } uv ~org/quartz/JobDetail indexingJob }  com/learningobjects/core/BaseJoborg/quartz/SchedulerExceptionjava/io/IOException,com/learningobjects/content/ContentException*com/learningobjects/search/SearchException(com/learningobjects/nlocks/LockException&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/Loggerinfo(Ljava/lang/String;)VstartedIndexing'com/learningobjects/search/SearchConfig getInstance+()Lcom/learningobjects/search/SearchConfig;setIndexCancelledKeepDeltas commitChangesgetSearchLicense'()Lcom/learningobjects/license/License;#com/learningobjects/license/LicenseisValid()Z isExpiredappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getStatus()Ljava/lang/String;toStringwarning(Ljava/lang/Exception;Z)VlookupDeltaIndexDir()Ljava/io/File;F(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)VisMergeRequired`(Ljava/io/File;Lcom/learningobjects/search/MainIndex;Lcom/learningobjects/search/SearchConfig;)ZmergeOldDeltaDirs7(Ljava/io/File;Lcom/learningobjects/search/MainIndex;)Vjava/lang/SystemcurrentTimeMillis()J(J)Ljava/lang/StringBuilder;#(Ljava/io/File;Ljava/lang/String;)VgetAbsolutePathjava/lang/Thread currentThread()Ljava/lang/Thread;getIndexingThreadPriority()I setPriority(I)V$blackboard/platform/BbServiceManager lookupService<(Ljava/lang/Class;)Lblackboard/platform/CorePlatformService;getVirtualInstallIdgetVirtualInstallationByBbuidF(Ljava/lang/String;)Lblackboard/platform/vxi/data/VirtualInstallation; setContextY(Lblackboard/platform/vxi/data/VirtualInstallation;)Lblackboard/platform/context/Context;'blackboard/persist/BbPersistenceManager](Lblackboard/platform/vxi/data/VirtualInstallation;)Lblackboard/persist/BbPersistenceManager;caughtThrowable(Ljava/lang/Throwable;)V initCause,(Ljava/lang/Throwable;)Ljava/lang/Throwable;org/quartz/JobExecutionContext getJobDetail()Lorg/quartz/JobDetail; getJobDataMap()Lorg/quartz/JobDataMap;org/quartz/JobDataMapget&(Ljava/lang/Object;)Ljava/lang/Object;getIndexCancelledMergeOrDiscardjava/lang/Stringequals(Ljava/lang/Object;)ZsetIsIndexCancelledsetIndexCancelledMergeOrDiscard*com/learningobjects/search/IndexingServicedeleteDeltaIndex(Ljava/io/File;)VfinishedAfterCancelDiscardfinishedAfterCancelKeep(Ljava/lang/Exception;)V`(Ljava/io/File;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lorg/quartz/JobDetail; getContext"()Lorg/quartz/JobExecutionContext; getScheduler()Lorg/quartz/Scheduler;'(Ljava/lang/String;Ljava/lang/String;)Vorg/quartz/Scheduler scheduleJob<(Lorg/quartz/JobDetail;Lorg/quartz/Trigger;)Ljava/util/Date;getContentModel1()Lcom/learningobjects/content/bb/BbContentModel;-com/learningobjects/content/bb/BbContentModel loadRootNode(Lblackboard/persist/BbPersistenceManager;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lcom/learningobjects/content/ContentNode;(Ljava/io/File;Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/SearchConfig;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Vgo;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;ZZZ)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;!klmnFopqrstuvwxyz{| }~M***Y:6 ;< KYSY SL+ ?@* **+ * ****M, , ,3Y,N*-YY- !*"N#Y**$:*% *-*&' *-(*)Y*"Y*+,-.*Y/*.01 2*34565:78:969::W*;<*==M* ,>,M* ,>,M* ,>,M* ,>YBN-,CW-ORO]?Oh@OsA*D EFI N)O0R8SJTaUiVzYZ[\^_bc df#g-h8iBjKkOzRlSm[n]o^pfqhrisqtsutv|wxy{am8r#,-"8S ^ i tT+DEM,FGH ~  |*I *.M* N*J<*JKL-*M*NO**"P-QO*J2*JRL#*M*NO*-S*,-T :V M* ,>Y,WU^ ,5>EOVox>rx(+,XN*YZ:[Y\]^:-_W'>((r(x" ~>*` *aL+*<* bM*cY*.,** de*ef 6= >-  ~= *<*e  (<=>gYh]i:EF*jW%4(x&$"PK UsY<^jzzYWEB-INF/classes/com/learningobjects/search/crawler/InvalidDeletedNodesFileException.class1.   ! " # $%&serialVersionUIDJ ConstantValue#(Ljava/io/File;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisELcom/learningobjects/search/crawler/InvalidDeletedNodesFileException;fileLjava/io/File; invalidLineLjava/lang/String; SourceFile%InvalidDeletedNodesFileException.javajava/lang/StringBuilder 'Invalid line: () in deleted nodes file: (* +, -Ccom/learningobjects/search/crawler/InvalidDeletedNodesFileExceptionjava/lang/Exception()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;)V!   c!*Y,+   !!!PK UsY<: KWEB-INF/classes/com/learningobjects/search/crawler/MergeDeltaIndexJob.class1 7k lm ln opq r s tuv kw x y z {| .}~   ,       . .  . & /c U /  TARGET_DELTA_DIR_DATA_KEYLjava/lang/String; ConstantValueSTATUS_RECORDER_DATA_KEY_config)Lcom/learningobjects/search/SearchConfig;()VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/search/crawler/MergeDeltaIndexJob;!misfireIfLaunchedWhileJobsRunning()[Ljava/lang/Class;list[Ljava/lang/Class;doWork#(Lorg/quartz/JobExecutionContext;)VcancelAndMergeZ mainIndex&Lcom/learningobjects/search/MainIndex;eLjava/lang/Exception;context Lorg/quartz/JobExecutionContext;deltaIndexRootDirLjava/io/File;statusRecorder:Lcom/learningobjects/search/status/IndexingStatusRecorder; ExceptionsgetTargetDeltaDir0(Lorg/quartz/JobExecutionContext;)Ljava/io/File; jobDetailLorg/quartz/JobDetail;getStatusRecorder\(Lorg/quartz/JobExecutionContext;)Lcom/learningobjects/search/status/IndexingStatusRecorder;dataLorg/quartz/JobDataMap;disposeinstantiateJobDetail`(Ljava/io/File;Lcom/learningobjects/search/status/IndexingStatusRecorder;)Lorg/quartz/JobDetail;targetDeltaDir volatility durabilityrecoverscheduleNextJob logMemoryInfo SourceFileMergeDeltaIndexJob.java >? <=java/lang/Class5com/learningobjects/search/crawler/MergeDeltaIndexJob XY \] java/lang/StringBuilderstarted index merging job  ? cancelMerge  1com/learningobjects/search/lucene/LuceneMainIndex > false  ? ? ?finished index merging job h?java/lang/Exception  org/quartz/JobExecutionException >   java/io/File8com/learningobjects/search/status/IndexingStatusRecorderorg/quartz/JobDetailmergeDeltaIndexJobgroup1 >   Index info:  com/learningobjects/core/BaseJob(com/learningobjects/search/SearchService getInstance,()Lcom/learningobjects/search/SearchService; getConfig+()Lcom/learningobjects/search/SearchConfig;&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/util/logging/Loggerinfo(Ljava/lang/String;)VstartedMerging'com/learningobjects/search/SearchConfiggetIndexCancelledMergeOrDiscardjava/lang/Stringequals(Ljava/lang/Object;)ZlookupLastCourseIdFile()Ljava/io/File;delete()ZlookupFullRunFileF(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)V$com/learningobjects/search/MainIndexupdate(Ljava/io/File;Z)VsetIsIndexCancelledsetIndexCancelledMergeOrDiscard commitChangesfinishedMergingAfterCancelMergefinishedMergingcaughtThrowable(Ljava/lang/Throwable;)V(Ljava/lang/Exception;)Vorg/quartz/JobExecutionContext getJobDetail()Lorg/quartz/JobDetail; getJobDataMap()Lorg/quartz/JobDataMap;org/quartz/JobDataMapget&(Ljava/lang/Object;)Ljava/lang/Object;;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;ZZZ)Vput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;$com/learningobjects/util/MemoryUtils getMemoryInfo getIndexInfo=(Lcom/learningobjects/search/SearchConfig;)Ljava/lang/String;!789:*;9:-<= >?@A**AB CDEF@E YSL+A ! "B CD GHIJ@*+M*+N Y  *-*6*W*WY* :,#***- -! "*#:-%&Y':*#)$)Ab&' (%)),7.<0G2R5b6k<p>y@ABFINOJKLNPBH7eKLb:MNOPCDQRST UVW&XY@T+(M,)*+,A STB CDQR Z[\]@T+()M,-+.A XYB CDQR ^_`?@+A^B CD ab@7=>6/Y012:):**3W-+3WA"abcef"g+h4iBH7cT7UV5dL3eL0fLZ["^_gJ@5AnBCDQRh?@[) 4 Y 5 *6 Aq r(sB )CDijPK UsY()VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/search/crawler/parsers/AsyncPDFParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;parser Lorg/pdfbox/pdfparser/PDFParser;tLjava/lang/Thread;ignoredLjava/lang/Exception;ereaderLjava/io/BufferedReader; Exceptionsrune2writerLjava/io/Writer;dispose SourceFileAsyncPDFParser.java [\ KLjava/lang/Stringapplication/NOTUSED.NOTUSED l  java/lang/StringBuilderSTARTING PDF READ: l java/util/Date l java/io/BufferedInputStreamjava/io/FileInputStream [c [ MNorg/pdfbox/util/PDFTextStripper UVorg/pdfbox/pdfparser/PDFParser [ \ STjava/io/PipedWriter OPjava/lang/Thread [ java/io/PipedReader [ QRjava/io/BufferedReader [ \java/lang/Exception \ IJ l java/io/IOException [STARTING PDF PARSER THREAD: java/io/BufferedWriter [ Non-Fatal Error parsing : EXITING PDF PARSER THREAD:  \EXITED PDF PARSER THREAD: 9com/learningobjects/search/crawler/parsers/AsyncPDFParserjava/lang/Object-com/learningobjects/search/crawler/FileParserjava/lang/Runnable java/io/FilegetName&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelINFOLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getAbsolutePath-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/util/logging/Loggerlog.(Ljava/util/logging/Level;Ljava/lang/String;)V(Ljava/io/InputStream;I)V(Ljava/io/InputStream;)Vparse getPDDocument!()Lorg/pdfbox/pdmodel/PDDocument;(Ljava/lang/Runnable;)V currentThread()Ljava/lang/Thread; getPriority()I setPriority(I)V(Ljava/io/PipedWriter;)V(Ljava/io/Reader;I)VstartcloseWARNING getMessageC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V(Ljava/lang/String;)V(Ljava/io/Writer;I)V writeText2(Lorg/pdfbox/pdmodel/PDDocument;Ljava/io/Writer;)Vjava/io/Writerflushorg/pdfbox/pdmodel/PDDocumentjava/io/InputStream!EFGHIJKLMNOPQRSTUVWXYZ [\]/*^_ `abc]>*+^ )+_`adLef]D YSL+^ . /_ `a ghif]D YSL+^ 3 4_ `a jhkl]-^8_ `aml]2*^<_ `anl]2*^@_ `aop]Ը Y  *  YL*YY* *YY*M,*, !*"Y#$%Y*&N-'()**Y*$+,-Y*, .L-/+M+1N23-4-56Y,47300^RD1E3GLHWIcJgKoLzMNOPQRSUXVWY_>cNqr.stuv"wv`a3xyz6{\]z6 Y 8 *  YL9Y*$ :L**!+;~M*,<3N3 Y = * > -4 -53 Y = * > ,4 ,5t:: Y ? *  Y+z+@6:3 Y = * > 4 5*$A6:3 Y = * > 4 5*!@*!B6:3 Y = * > 4 5*@*C6:3 Y = * > 4 5 Y D *  Y 3NT0U\_03QT 0=DG000^$^1_3cBdNeQTeUg\j_h`iklmnps q r=uDzGvIwz|~5_R`/|vUiwv 1wvI1wv1wv1wv6`a3}~\]+^_ `a\]2^PK UsY<dfLWEB-INF/classes/com/learningobjects/search/crawler/parsers/HTMLParser2.class1 7op o qr os t uv w x yz{ o| } ~       t    !t ! %~  . .    5t_fileLjava/io/File; _encodingLjava/lang/String;_title _contentsLjava/lang/StringBuffer;()VCodeLineNumberTableLocalVariableTablethis8Lcom/learningobjects/search/crawler/parsers/HTMLParser2;main([Ljava/lang/String;)Vargs[Ljava/lang/String;prLjava/io/BufferedReader;line Exceptionsinit(Ljava/io/File;)VparserLorg/htmlparser/Parser;e%Lorg/htmlparser/util/ParserException;filevisitTag(Lorg/htmlparser/Tag;)VtLorg/htmlparser/Tag;visitStringNode(Lorg/htmlparser/Text;)VLorg/htmlparser/Text;text getMimeTypes()[Ljava/lang/String; mimeTypes getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;dispose SourceFileHTMLParser2.java @Ajava/lang/StringBuffer >?6com/learningobjects/search/crawler/parsers/HTMLParser2 java/io/File @ QRjava/io/BufferedReader jk @ java/lang/StringBuilderTitle= hg g Summary= fg g 9:org/htmlparser/Parser  ;< #org/htmlparser/util/ParserExceptionjava/io/IOExceptionUnable to parse data org/htmlparser/tags/TitleTag =< g g  java/lang/String text/html.html.htm gjava/io/StringReader#org/htmlparser/visitors/NodeVisitor-com/learningobjects/search/crawler/FileParserjava/lang/Throwablejava/io/FileNotFoundException(Ljava/lang/String;)V(Ljava/io/Reader;)Vjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/io/PrintStreamprintlnreadLinetoURL()Ljava/net/URL; java/net/URL setEncodingvisitAllNodesWith((Lorg/htmlparser/visitors/NodeVisitor;)V initCause,(Ljava/lang/Throwable;)Ljava/lang/Throwable;org/htmlparser/TexttoPlainTextStringorg/htmlparser/util/Translatedecode&(Ljava/lang/String;)Ljava/lang/String;trimlength()I,(Ljava/lang/String;)Ljava/lang/StringBuffer;$com/learningobjects/util/StringUtilsabbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;getName!789:;<=<>? @AB>**YC D EF GHBsYL+Y*2 Y+ M Y+ Y+,N- -,NC*  "!>"Z#_$c%j&r(D*sIJkKF"QLM_N<OPQRB>*+Y+M* ,*,*M!Y"#,$!(+ C& +-./#1(4+2,3=5D*ST,UV>EF>W:OX!YZBO+%*+%&'C89;DEF[\]^Bm#+()*M,+*,,-,WC? @A"CD #EF#[_ `<abBD .Y/SL+C F GD EF cJdbBI.Y0SY1SL+C KLDEFeJfgB8*23CPD EFhgB/*'CTD EFigB2*4CXD EFjkB95Y*26C\D EFlAB4*C `aD EFmnPK UsY<RWEB-INF/classes/com/learningobjects/search/crawler/parsers/JournalPageParser.class17 "#$ % &' ( )*+, JOURNAL_CONTENT_RESOURCE_HANDLERLjava/lang/String; ConstantValue- MIME_TYPE(Ljava/io/File;)VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/search/crawler/parsers/JournalPageParser;fileLjava/io/File; Exceptions. getMimeTypes()[Ljava/lang/String;isPublic()ZgetCreatorUserName()Ljava/lang/String; SourceFileJournalPageParser.java java/lang/Stringjournal /01 2 345 6*+ 4 YS  :* 2*  !PK UsY<PE MWEB-INF/classes/com/learningobjects/search/crawler/parsers/MSWordParser.class1 H IJKL M NO PQRS T U VW H X YZ [ N\] ^_ `a bc d efg ^ hijkl_fileLjava/io/File;_inLjava/io/InputStream;_summaryLjava/lang/String;()VCodeLineNumberTableLocalVariableTablethis9Lcom/learningobjects/search/crawler/parsers/MSWordParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;wordTextExtractorFactory9Lorg/textmining/extraction/word/WordTextExtractorFactory; extractor)Lorg/textmining/extraction/TextExtractor;streLjava/lang/Exception; Exceptionsdispose SourceFileMSWordParser.java '( !"java/lang/Stringapplication/msword.doc %&m nop q8java/io/BufferedInputStreamjava/io/FileInputStream '/ 'r #$7org/textmining/extraction/word/WordTextExtractorFactory stu v8 w8 xyjava/io/StringReader 'zjava/lang/Exception{ |}~  8 java/io/IOException (7com/learningobjects/search/crawler/parsers/MSWordParserjava/lang/Object-com/learningobjects/search/crawler/FileParser$com/learningobjects/util/StringUtils defaultString&(Ljava/lang/String;)Ljava/lang/String; java/io/FilegetName(Ljava/io/InputStream;)V textExtractor@(Ljava/io/InputStream;)Lorg/textmining/extraction/TextExtractor;'org/textmining/extraction/TextExtractorgetTexttrimabbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;(Ljava/lang/String;)V&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level; getMessagejava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/io/InputStreamclose! !"#$%& '()/**+ ,-./)>*+* +,-0"12)D YSL+*  + ,- 3452)D YSL+* " #+ ,- 6478)2**)+ ,-98)2**-+ ,-:8)2**1+ ,-;<)`* Y Y* YL+* M,N*-Y-L++Y+DE*& 678'91:<;E<F=T>+4'=>'?@1A&FBC`,-DE()A* * *CDG+ ,-DFGPK UsY()VCodeLineNumberTableLocalVariableTablethis6Lcom/learningobjects/search/crawler/parsers/PDFParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;stripper!Lorg/pdfbox/util/PDFTextStripper;parser Lorg/pdfbox/pdfparser/PDFParser;streLjava/io/IOException;Ljava/lang/Exception;inLjava/io/BufferedInputStream;documentLorg/pdfbox/pdmodel/PDDocument; Exceptionsdispose SourceFilePDFParser.java 89 /0java/lang/Stringapplication/pdf.pdf 56 76 I java/io/BufferedInputStreamjava/io/FileInputStream 8@ 8org/pdfbox/util/PDFTextStripperorg/pdfbox/pdfparser/PDFParser 8 9   JI java/io/StringReader 8java/io/IOExceptionjava/lang/Exception 9  java/lang/StringBuilderNon-Fatal Error parsing I: I I 4com/learningobjects/search/crawler/parsers/PDFParserjava/lang/Object-com/learningobjects/search/crawler/FileParser$com/learningobjects/util/StringUtils defaultString&(Ljava/lang/String;)Ljava/lang/String; java/io/FilegetName8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;(Ljava/io/InputStream;I)V(Ljava/io/InputStream;)Vparse getPDDocument!()Lorg/pdfbox/pdmodel/PDDocument;org/pdfbox/pdmodel/PDDocumentgetDocumentInformation,()Lorg/pdfbox/pdmodel/PDDocumentInformation;(org/pdfbox/pdmodel/PDDocumentInformationgetText3(Lorg/pdfbox/pdmodel/PDDocument;)Ljava/lang/String;abbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;(Ljava/lang/String;)V initCause,(Ljava/lang/Throwable;)Ljava/lang/Throwable;close&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;getAbsolutePath getMessagetoStringjava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V!,-./012345676 89:/*;< =>?@:>*+; <=>A0BC:D YSL+;  < => DEFC:D YSL+;  !< => GEHI:2*;'< =>JI:9** ;-< =>KI:2* ;1< =>LM: LM Y Y*  LYNY+:M*,-,:*Y:!N-NY-::,=,6: !"Y#$%*&%'% (%) *+=++6: !"Y#$%*&%'% (%) *cfcicyf~y;j5689":,;1<7=B>I?U@fAgBiCjDyFHKIJMORPQR<f "DNO,:PQIR6gSTjSU1SU 1SU =>VWXYZ[9:+;X< =>\]PK UsY<7QWEB-INF/classes/com/learningobjects/search/crawler/parsers/PowerPointParser.class1e > ?@AB C DE FGHI J KL > M N DOP Q RSTUV MIME_TYPELjava/lang/String; ConstantValue_fileLjava/io/File;_summary()VCodeLineNumberTableLocalVariableTablethis=Lcom/learningobjects/search/crawler/parsers/PowerPointParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;indexer"Llius/index/PowerPoint/PPTIndexer;strinLjava/io/InputStream; ExceptionsWdispose SourceFilePowerPointParser.java  java/lang/Stringapplication/ms-powerpoint.ppt X YZ[ \/java/io/BufferedInputStreamjava/io/FileInputStream & ] lius/index/PowerPoint/PPTIndexer ^] _/ `ajava/io/StringReader bc d;com/learningobjects/search/crawler/parsers/PowerPointParserjava/lang/Object-com/learningobjects/search/crawler/FileParserjava/io/IOException$com/learningobjects/util/StringUtils defaultString&(Ljava/lang/String;)Ljava/lang/String; java/io/FilegetName(Ljava/io/InputStream;)VsetStreamToIndex getContentabbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;(Ljava/lang/String;)Vjava/io/InputStreamclose!  /*!" #$%& >*+! "#$'() D YSL+!  " #$ *+,) D YSL+!  " #$ -+./ 2*!#" #$0/ 2*!'" #$1/ 2*!+" #$23 P Y Y* L YM,+,N*-Y-:::+=@@E@!/12 4%506@8"*%45%6P#$=789:; 4*! =>" #$<=PK UsY<6s__PWEB-INF/classes/com/learningobjects/search/crawler/parsers/TeamsPageParser.class1$   !TEAMS_CONTENT_RESOURCE_HANDLERLjava/lang/String; ConstantValue" MIME_TYPE()VCodeLineNumberTableLocalVariableTablethis*+ 4 YS  PK UsY<0NWEB-INF/classes/com/learningobjects/search/crawler/parsers/TextCsvParser.class1 ()VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/search/crawler/parsers/TextCsvParser; getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts SourceFileTextCsvParser.java  java/lang/Stringtext/csvtext/comma-separated-values.csv8com/learningobjects/search/crawler/parsers/TextCsvParser5com/learningobjects/search/crawler/parsers/TextParser!  /*    IYSYSL+    D YSL+    PK UsY<0i KWEB-INF/classes/com/learningobjects/search/crawler/parsers/TextParser.class1x C DEF G H IJKLM NO P QRS TU VW X YZ[ N\ ]^_`a_fileLjava/io/File;_readerLjava/io/Reader;()VCodeLineNumberTableLocalVariableTablethis7Lcom/learningobjects/search/crawler/parsers/TextParser;init(Ljava/io/File;)Vfile Exceptionsb getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;nIchars[CindexstrLjava/lang/String;eLjava/io/IOException;readergetTitle getFileNamegetContentParser()Ljava/io/Reader;dispose SourceFileTextParser.java  java/io/BufferedReaderjava/io/FileReader & c java/lang/String text/plain.txt.ascd ef gh ijjava/io/IOExceptionk lmn op q1r stError uv w15com/learningobjects/search/crawler/parsers/TextParserjava/lang/Object-com/learningobjects/search/crawler/FileParserjava/io/FileNotFoundException(Ljava/io/Reader;)Vjava/io/Readerread([CII)I([CII)V$com/learningobjects/util/StringUtilsabbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelWARNINGLjava/util/logging/Level; getMessagejava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vclose java/io/FilegetName!  /*!" #$%& X*+*YY*!"#$'()*+ D Y SL+!  " #$ ,-.+ IY SY SL+!  "#$/-01 o LYY*LM>,+,,d Y6 `>Y, ::%M,,N -::++:   TWTnWlnnsn|!F$&'()3+;-G.W/X0f1n3|58678"R0 23<45:63G78X9:9: #$;<1 2*!>" #$=1 2*!B" #$>? /*!F" #$@ A* *!JKM" #$(ABPK UsY<Py  NWEB-INF/classes/com/learningobjects/search/crawler/parsers/TextRtfParser.class1 I JKLM N OP QRST U V WX I Y Z [\ [] O^_ `a bc de f ghi ` jklmn_fileLjava/io/File;_inLjava/io/InputStream;_summaryLjava/lang/String;()VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/search/crawler/parsers/TextRtfParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader; rtfEditorKit#Ljavax/swing/text/rtf/RTFEditorKit;docLjavax/swing/text/Document;streLjava/lang/Exception; Exceptionsdispose SourceFileTextRtfParser.java () "#java/lang/Stringtext/rtf.rtf &'o pqr s9java/io/BufferedInputStreamjava/io/FileInputStream (0 (t $%!javax/swing/text/rtf/RTFEditorKit uv wxy z{ |} ~java/io/StringReader (java/lang/Exception  9 java/io/IOException )8com/learningobjects/search/crawler/parsers/TextRtfParserjava/lang/Object-com/learningobjects/search/crawler/FileParser$com/learningobjects/util/StringUtils defaultString&(Ljava/lang/String;)Ljava/lang/String; java/io/FilegetName(Ljava/io/InputStream;)VcreateDefaultDocument()Ljavax/swing/text/Document;read4(Ljava/io/InputStream;Ljavax/swing/text/Document;I)Vjavax/swing/text/Document getLength()IgetText(II)Ljava/lang/String;abbreviateNicely'(Ljava/lang/String;I)Ljava/lang/String;(Ljava/lang/String;)V&com/learningobjects/util/ExtensionUtilgetLog()Ljava/util/logging/Logger;java/util/logging/LevelSEVERELjava/util/logging/Level; getMessagejava/util/logging/LoggerlogC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/io/InputStreamclose! !"#$%&' ()*/*+, -./0*>*++ ,-.1#23*D YSL++  , -. 4563*D YSL++ # $, -. 7589*2*+*, -.:9*2*+., -.;9*2*+2, -.<=*j* Y Y* YL+M+* ,,,N*-Y-L++Y+NO+* 789#:-;;<F=O>P?^@,41>?#,@A;B'PCDj-.EF)*A* * +EFI, -.EGHPK UsY<NWEB-INF/classes/com/learningobjects/search/crawler/parsers/TextTsvParser.class1 ()VCodeLineNumberTableLocalVariableTablethis:Lcom/learningobjects/search/crawler/parsers/TextTsvParser; getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts SourceFileTextTsvParser.java  java/lang/Stringtext/tsvtext/tab-separated-values.tsv8com/learningobjects/search/crawler/parsers/TextTsvParser5com/learningobjects/search/crawler/parsers/TextParser!  /*    IYSYSL+    D YSL+    PK UsY<ggRWEB-INF/classes/com/learningobjects/search/crawler/parsers/UnknownFileParser.class16 ' ()*+ ,-. /012_fileLjava/io/File;()VCodeLineNumberTableLocalVariableTablethis>Lcom/learningobjects/search/crawler/parsers/UnknownFileParser;init(Ljava/io/File;)Vfile getMimeTypes()[Ljava/lang/String; mimeTypes[Ljava/lang/String; getExtensionsexts getSummary()Ljava/lang/String;getTitle getFileNamegetContentParser()Ljava/io/Reader;dispose SourceFileUnknownFileParser.java  java/lang/Stringunknown3 4java/io/StringReader 5*+  D YSL+    ?L+ -  2*  !2*$ "#4 Y)  $+- %&PK UsY<ݣtllQWEB-INF/classes/com/learningobjects/search/crawler/parsers/WikiPageParser$1.class1-   ! "#$%()VCodeLineNumberTableLocalVariableTablethis InnerClasses=Lcom/learningobjects/search/crawler/parsers/WikiPageParser$1;accept#(Ljava/io/File;Ljava/lang/String;)ZdirLjava/io/File;nameLjava/lang/String; SourceFileWikiPageParser.javaEnclosingMethod& '( .wiki) *+~ ,+;com/learningobjects/search/crawler/parsers/WikiPageParser$1java/lang/Objectjava/io/FilenameFilter9com/learningobjects/search/crawler/parsers/WikiPageParsernewWikiFilenameFilter()Ljava/io/FilenameFilter;java/lang/StringendsWith(Ljava/lang/String;)Z startsWith   /* 7  V,, 8  PK UsY<:c OWEB-INF/classes/com/learningobjects/search/crawler/parsers/WikiPageParser.class1 -\ ,] ^ _ `a ,b ,c ,de ,f -]gh (_ ,ij \ (m ,n o pq \rs \ ,t uv w x yz{ "| !} ~  ( TEAMS_PAGE_EXTLjava/lang/String; ConstantValueprops3Lcom/learningobjects/wiki/container/WikiProperties; pageProps7Lcom/learningobjects/wiki/container/WikiPageProperties;()VCodeLineNumberTableLocalVariableTablethis;Lcom/learningobjects/search/crawler/parsers/WikiPageParser;(Ljava/io/File;)VfileLjava/io/File; Exceptionsinit storeRootfileName getExtensions()[Ljava/lang/String;exts[Ljava/lang/String;getTitle()Ljava/lang/String; displayNamenewWikiFilenameFilter()Ljava/io/FilenameFilter;generateWikiPageNameidgetPagePropertiesY(Ljava/io/File;Ljava/lang/String;)Lcom/learningobjects/wiki/container/WikiPageProperties;inLjava/io/InputStream; propsFileeLjava/io/IOException;pLjava/util/Properties;baseName&(Ljava/lang/String;)Ljava/lang/String; SourceFileWikiPageParser.java 56 @< I 12 OP 34UTF-8 /java/lang/String.wiki MI;com/learningobjects/search/crawler/parsers/WikiPageParser$1 InnerClasses I > java/util/Properties java/io/Filejava/lang/StringBuilder XY  .properties I 5 java/io/BufferedInputStreamjava/io/FileInputStream 5< 5  6java/io/IOException5com/learningobjects/wiki/container/WikiPageProperties 5 9com/learningobjects/search/crawler/parsers/WikiPageParser6com/learningobjects/search/crawler/parsers/HTMLParser2java/io/FileNotFoundException getParentFile()Ljava/io/File;getName1com/learningobjects/wiki/container/WikiPropertiesloadC(Ljava/io/File;)Lcom/learningobjects/wiki/container/WikiProperties; _encodinggetId_file lastIndexOf(Ljava/lang/String;)I substring(II)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString#(Ljava/io/File;Ljava/lang/String;)Vexists()Z(Ljava/io/InputStream;)Vjava/io/InputStreamclose(Ljava/util/Properties;)VendsWith(Ljava/lang/String;)Zlength()I!,-./0 1234 5673*8 9 :;5<7F **+8 9 :; =>?'@<7'+M+N*,*,-* *+ 8 ! "#$!%&&9*':;'=>"A> B/?C'DE7D  Y SL+8 ) *9 :; FGHI7S*L++*8./ 029:; J/ KL7 Y86MI7f"*L+*L++ L+8>? @A C9":;N/ OP7WYMY*Y+N- !Y"Y-#$:,%&N(Y,)JM'8& GI'J.K?LEMJPMONQ9>? QR'#S>NTUWA>WB/OVW XY7M* ***+ +dK*8U VX9 B/Z[l PK UsY<jl*l*GWEB-INF/classes/com/learningobjects/search/lucene/LuceneMainIndex.class1  ~ ~  ~ ~ ~ ~           ~    &  * * * *    ~ 9 !" 9# ~$ ~% &'( ) *+, - ./0 1 2345 6789 N: ; N< N = >?@ UAB CDE FGHI `J _K _LM NO NP NQ ~RS ~TU k# V _WX ~Y Z[\ N]^_ `a bcd *efghconfig)Lcom/learningobjects/search/SearchConfig;loggerLjava/util/logging/Logger;analyzer%Lorg/apache/lucene/analysis/Analyzer;lockFile%Lcom/learningobjects/nlocks/LockFile;F(Lcom/learningobjects/search/SearchConfig;Ljava/util/logging/Logger;)VCodeLineNumberTableLocalVariableTablethis3Lcom/learningobjects/search/lucene/LuceneMainIndex;logsearch(Lblackboard/platform/context/Context;Lcom/learningobjects/search/SearchQuery;)Lcom/learningobjects/search/results/SearchResults;ignoredLjava/lang/Exception;hitsLorg/apache/lucene/search/Hits;sr7Lcom/learningobjects/search/lucene/LuceneSearchResults;searcher(Lorg/apache/lucene/search/IndexSearcher; stopWatch(Lorg/apache/commons/lang/time/StopWatch;reader%Lorg/apache/lucene/index/IndexReader;e.Lorg/apache/lucene/queryParser/ParseException;Ljava/io/IOException;context%Lblackboard/platform/context/Context;query(Lcom/learningobjects/search/SearchQuery; ExceptionsindexP(Lcom/learningobjects/content/ContentNode;Lcom/learningobjects/search/Indexer;)VindexedRootNode1Lcom/learningobjects/content/ContentTreeLocation;rootNode)Lcom/learningobjects/content/ContentNode;indexer$Lcom/learningobjects/search/Indexer; mainIndexDirLjava/io/File;iupdate(Ljava/io/File;Z)VdeletedNodesFile-Lcom/learningobjects/nlocks/TimeoutException; deltaIndexDirduringZ deltaSizeJ indexSizej openReader5(Ljava/io/File;)Lorg/apache/lucene/index/IndexReader;Ljava/io/FileNotFoundException; openAppender5(Ljava/io/File;)Lorg/apache/lucene/index/IndexWriter;writer%Lorg/apache/lucene/index/IndexWriter;createEmptyIndex(Ljava/io/File;)VgetMainIndexDir()Ljava/io/File;createNodeTerm2(Ljava/lang/String;)Lorg/apache/lucene/index/Term;uidPathLjava/lang/String;createSubtreeTerm rootUidPath waitForRunningSearchesToComplete()V Ljava/lang/InterruptedException;deleteOutOfDateIndexEntries(Ljava/io/File;Ljava/io/File;)V deleteTermLorg/apache/lucene/index/Term;nextdeletedNodesReaderLjava/io/BufferedReader;mainIndexReaderwriteIndexEntriesdir#Lorg/apache/lucene/store/Directory;indexDirectory getIndexInfo=(Lcom/learningobjects/search/SearchConfig;)Ljava/lang/String;exnumDocs SourceFileLuceneMainIndex.java 1com/learningobjects/search/analysis/KStemAnalyzer k lm &org/apache/commons/lang/time/StopWatch n &org/apache/lucene/search/IndexSearcher op qr s5com/learningobjects/search/lucene/LuceneSearchResults tu vw xw y z{ |}queries~ java/lang/Exception ,org/apache/lucene/queryParser/ParseException*com/learningobjects/search/SearchException java/io/IOExceptionInside LuceneMainIndex.index   AAFA. W XYZ\!^2_;`>bAaRc>2 SSSE!2!z X* N**Y+,--./-+.01-2#+37**Y+4-5-2#* 6*7+8$9Y+:;:8 *-<*-+=::*>-:Y*Y+@--.2A:  : FB*Y+C-+.2#+D1: BE*Y+F-+.2 G+8+H *I#-37**Y+J-5-2#bZ?Z!~|}6~<Zbfmy$*39W\ y XXXS<9 k!s+KM*EM,G*+%+KL !dNY+YOM,*PQ,  !8NY+YOM,*PQ N-:,R*S""&""07 88'!2*T ? UYV+W ? UYX+W ^Y[L*]