Skip to content

Commit cee83c0

Browse files
authored
Merge pull request #163 from yma96/main
Add changelog for group member add
2 parents dfc9f7a + c4328bf commit cee83c0

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

src/main/java/org/commonjava/indy/service/repository/data/cassandra/CassandraStoreQuery.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,18 @@
3333
import org.slf4j.Logger;
3434
import org.slf4j.LoggerFactory;
3535

36+
import java.util.Date;
3637
import java.util.HashSet;
3738
import java.util.List;
3839
import java.util.Map;
3940
import java.util.Set;
4041
import java.util.stream.Collectors;
4142

4243
import static org.commonjava.indy.service.repository.data.cassandra.CassandraStoreUtil.CONSTITUENTS;
44+
import static org.commonjava.indy.service.repository.data.cassandra.CassandraStoreUtil.KOJI_PREFIX;
4345
import static org.commonjava.indy.service.repository.data.cassandra.CassandraStoreUtil.TABLE_AFFECTED_STORE;
4446
import 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
}

src/main/java/org/commonjava/indy/service/repository/data/cassandra/CassandraStoreUtil.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public class CassandraStoreUtil
7676
public static final String KEY = "key";
7777
public static final String AFFECTED_STORES = "affectedStores";
7878

79+
public static final String KOJI_PREFIX = "koji-";
80+
7981
public static final int MODULO_VALUE = 10;
8082

8183
public static String getSchemaCreateTableStore( String keySpace )

0 commit comments

Comments
 (0)