3333import org .slf4j .Logger ;
3434import org .slf4j .LoggerFactory ;
3535
36+ import java .util .Date ;
3637import java .util .HashSet ;
3738import java .util .List ;
3839import java .util .Map ;
3940import java .util .Set ;
4041import java .util .stream .Collectors ;
4142
4243import static org .commonjava .indy .service .repository .data .cassandra .CassandraStoreUtil .CONSTITUENTS ;
44+ import static org .commonjava .indy .service .repository .data .cassandra .CassandraStoreUtil .KOJI_PREFIX ;
4345import static org .commonjava .indy .service .repository .data .cassandra .CassandraStoreUtil .TABLE_AFFECTED_STORE ;
4446import static org .commonjava .indy .service .repository .data .cassandra .CassandraStoreUtil .TABLE_STORE ;
47+ import static org .commonjava .indy .service .repository .model .ArtifactStore .METADATA_CHANGELOG ;
4548
4649@ ApplicationScoped
4750//@Startup
@@ -164,13 +167,19 @@ public boolean addConstituentToGroup( StoreKey key, StoreKey member )
164167 dtxArtifactStore .setTypeKey ( CassandraStoreUtil .getTypeKey ( key .getPackageType (), key .getType ().name () ) );
165168 Map <String , String > extras = dtxArtifactStore .getExtras ();
166169 String members = extras .get ( CONSTITUENTS );
170+ String changelog = String .format ( "%s%s, %s" , "Adding repository: " , member .getName (), new Date () );
171+ if ( member .getName ().startsWith ( KOJI_PREFIX ) )
172+ {
173+ changelog = String .format ( "%s%s, %s" , "Adding remote repository for Koji build: " ,
174+ member .getName ().substring ( 5 ), new Date () );
175+ }
167176 if ( members == null || members .isEmpty () )
168177 {
169- return saveExtraValue ( member , extras , dtxArtifactStore );
178+ return saveExtraValue ( member , extras , dtxArtifactStore , changelog );
170179 }
171180
172181 List <String > memberStrList = readListValue ( members );
173- if ( memberStrList == null )
182+ if ( memberStrList == null )
174183 {
175184 return false ;
176185 }
@@ -184,7 +193,7 @@ public boolean addConstituentToGroup( StoreKey key, StoreKey member )
184193 else
185194 {
186195 memberList .add ( member );
187- return saveExtraValue ( memberList , extras , dtxArtifactStore );
196+ return saveExtraValue ( memberList , extras , dtxArtifactStore , changelog );
188197 }
189198 }
190199
@@ -201,12 +210,18 @@ private List<String> readListValue( String value )
201210 }
202211 }
203212
204- private boolean saveExtraValue ( Object value , Map <String , String > extras , DtxArtifactStore dtxArtifactStore )
213+ private boolean saveExtraValue ( Object value , Map <String , String > extras , DtxArtifactStore dtxArtifactStore ,
214+ String changelog )
205215 {
206216 try
207217 {
208218 extras .put ( CONSTITUENTS , objectMapper .writeValueAsString ( value ) );
209219 dtxArtifactStore .setExtras ( extras );
220+
221+ Map <String , String > metas = dtxArtifactStore .getMetadata ();
222+ metas .put ( METADATA_CHANGELOG , changelog );
223+ dtxArtifactStore .setMetadata ( metas );
224+
210225 storeMapper .save ( dtxArtifactStore );
211226 return true ;
212227 }
0 commit comments