• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java MetadataXpp3Writer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer的典型用法代码示例。如果您正苦于以下问题:Java MetadataXpp3Writer类的具体用法?Java MetadataXpp3Writer怎么用?Java MetadataXpp3Writer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MetadataXpp3Writer类属于org.apache.maven.artifact.repository.metadata.io.xpp3包,在下文中一共展示了MetadataXpp3Writer类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getSize

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
public long getSize()
    throws IOException
{
    try
    {
        Metadata metadata = store.getMetadata( path );
        MetadataXpp3Writer writer = new MetadataXpp3Writer();
        StringWriter stringWriter = new StringWriter();
        writer.write( stringWriter, metadata );
        return stringWriter.toString().getBytes().length;
    }
    catch ( MetadataNotFoundException e )
    {
        IOException ioe = new IOException( "File not found" );
        ioe.initCause( e );
        throw ioe;
    }
}
 
开发者ID:mojohaus,项目名称:mrm,代码行数:22,代码来源:MetadataFileEntry.java


示例2: getInputStream

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
public InputStream getInputStream()
    throws IOException
{
    try
    {
        Metadata metadata = store.getMetadata( path );
        MetadataXpp3Writer writer = new MetadataXpp3Writer();
        StringWriter stringWriter = new StringWriter();
        writer.write( stringWriter, metadata );
        return new ByteArrayInputStream( stringWriter.toString().getBytes() );
    }
    catch ( MetadataNotFoundException e )
    {
        return null;
    }
}
 
开发者ID:mojohaus,项目名称:mrm,代码行数:20,代码来源:MetadataFileEntry.java


示例3: write

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private void write( File metadataFile, Metadata metadata )
    throws RepositoryException
{
    Writer writer = null;
    try
    {
        metadataFile.getParentFile().mkdirs();
        writer = WriterFactory.newXmlWriter( metadataFile );
        new MetadataXpp3Writer().write( writer, metadata );
    }
    catch ( IOException e )
    {
        throw new RepositoryException( "Could not write metadata " + metadataFile + ": " + e.getMessage(), e );
    }
    finally
    {
        IOUtil.close( writer );
    }
}
 
开发者ID:gems-uff,项目名称:oceano,代码行数:20,代码来源:MavenMetadata.java


示例4: writeMetadataFile

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private void writeMetadataFile(Metadata metadata, File file) {
	try {
		MetadataXpp3Writer writer = new MetadataXpp3Writer();
		try (FileOutputStream outputStream = new FileOutputStream(file)) {
			writer.write(outputStream, metadata);
		}
	}
	catch (IOException ex) {
		throw new IllegalStateException(ex);
	}
}
 
开发者ID:spring-io,项目名称:artifactory-resource,代码行数:12,代码来源:MavenMetadataGenerator.java


示例5: updateMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private void updateMetadata( RepositoryMetadata artifactMetadata, ArtifactRepository targetRepository,
                             Metadata newMetadata, FileTransaction transaction )
    throws ArtifactConversionException
{
    File file = new File( targetRepository.getBasedir(),
                          targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );

    Metadata metadata;
    boolean changed;

    if ( file.exists() )
    {
        metadata = readMetadata( file );
        changed = metadata.merge( newMetadata );
    }
    else
    {
        changed = true;
        metadata = newMetadata;
    }

    if ( changed )
    {

        try (StringWriter writer = new StringWriter())
        {
            MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();

            mappingWriter.write( writer, metadata );

            transaction.createFile( writer.toString(), file, digesters );
        }
        catch ( IOException e )
        {
            throw new ArtifactConversionException( Messages.getString( "error.writing.target.metadata" ),
                                                   e ); //$NON-NLS-1$
        }
    }
}
 
开发者ID:ruikom,项目名称:apache-archiva,代码行数:40,代码来源:LegacyToDefaultConverter.java


示例6: setMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
@Override
public void setMetadata( String path, Metadata metadata )
    throws IOException
{
    if ( !canWrite )
    {
        throw new UnsupportedOperationException( "Read-only store" );
    }
    
    File file = root;
    String[] parts = StringUtils.strip( path, "/" ).split( "/" );
    for ( int i = 0; i < parts.length; i++ )
    {
        file = new File( file, parts[i] );
    }
    
    file = new File( file, "maven-metadata.xml" );

    MetadataXpp3Writer writer = new MetadataXpp3Writer();
    OutputStream outputStream = null;
    try
    {
        outputStream = new FileOutputStream( file );
        writer.write( outputStream, metadata );
    }
    finally {
        IOUtils.closeQuietly( outputStream );
    }
}
 
开发者ID:mojohaus,项目名称:mrm,代码行数:30,代码来源:DiskArtifactStore.java


示例7: mavenMetadataToString

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
/**
 * Create xml string from the input <code>Metadata</code>.
 *
 * @param metadata Maven metadata object
 * @return Xml string for the input metadata
 */
public static String mavenMetadataToString(Metadata metadata) throws IOException {
    MetadataXpp3Writer writer = new MetadataXpp3Writer();
    StringWriter stringWriter = new StringWriter();
    writer.write(stringWriter, metadata);
    return stringWriter.toString();
}
 
开发者ID:alancnet,项目名称:artifactory,代码行数:13,代码来源:MavenModelUtils.java


示例8: updateMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private void updateMetadata( RepositoryMetadata artifactMetadata, ArtifactRepository targetRepository,
                             Metadata newMetadata, FileTransaction transaction )
    throws ArtifactConversionException
{
    Path file = Paths.get( targetRepository.getBasedir(),
                          targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );

    Metadata metadata;
    boolean changed;

    if ( Files.exists(file) )
    {
        metadata = readMetadata( file );
        changed = metadata.merge( newMetadata );
    }
    else
    {
        changed = true;
        metadata = newMetadata;
    }

    if ( changed )
    {

        try (StringWriter writer = new StringWriter())
        {
            MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();

            mappingWriter.write( writer, metadata );

            transaction.createFile( writer.toString(), file, digesters );
        }
        catch ( IOException e )
        {
            throw new ArtifactConversionException( Messages.getString( "error.writing.target.metadata" ),
                                                   e ); //$NON-NLS-1$
        }
    }
}
 
开发者ID:apache,项目名称:archiva,代码行数:40,代码来源:LegacyToDefaultConverter.java


示例9: setupMetadataVersions

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private byte[] setupMetadataVersions( final String... versions )
    throws IOException
{
    final Metadata md = new Metadata();
    final Versioning v = new Versioning();
    md.setVersioning( v );
    v.setVersions( Arrays.asList( versions ) );

    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new MetadataXpp3Writer().write( baos, md );

    return baos.toByteArray();
}
 
开发者ID:release-engineering,项目名称:pom-manipulation-ext,代码行数:14,代码来源:VersioningCalculatorTest.java


示例10: generateMavenMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
/**
 * Generate the maven-metadata-local.xml for the given Maven <code>Artifact</code>.
 *
 * @param artifact the Maven <code>Artifact</code>.
 * @param target   the target maven-metadata-local.xml file to generate.
 * @throws IOException if the maven-metadata-local.xml can't be generated.
 */
static void generateMavenMetadata(Artifact artifact, File target) throws IOException {
    target.getParentFile().mkdirs();
    Metadata metadata = new Metadata();
    metadata.setGroupId(artifact.getGroupId());
    metadata.setArtifactId(artifact.getArtifactId());
    metadata.setVersion(artifact.getVersion());
    metadata.setModelVersion("1.1.0");

    Versioning versioning = new Versioning();
    versioning.setLastUpdatedTimestamp(new Date(System.currentTimeMillis()));
    Snapshot snapshot = new Snapshot();
    snapshot.setLocalCopy(true);
    versioning.setSnapshot(snapshot);
    SnapshotVersion snapshotVersion = new SnapshotVersion();
    snapshotVersion.setClassifier(artifact.getClassifier());
    snapshotVersion.setVersion(artifact.getVersion());
    snapshotVersion.setExtension(artifact.getType());
    snapshotVersion.setUpdated(versioning.getLastUpdated());
    versioning.addSnapshotVersion(snapshotVersion);

    metadata.setVersioning(versioning);

    MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();
    Writer writer = new FileWriter(target);
    metadataWriter.write(writer, metadata);
}
 
开发者ID:retog,项目名称:karaf-maven-plugin,代码行数:34,代码来源:MavenUtil.java


示例11: writeMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
private static void writeMetadata(Artifact a, File repository) {
    Versioning v = new Versioning();

    // while multiple POMs get downloaded for the same groupId+artifactId,
    // there'll be only one jar for each groupId+artifactId, so we just need
    // to record that
    v.setRelease(a.getVersion());
    v.setLatest(a.getVersion());
    v.addVersion(a.getVersion());

    ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata(
            new DefaultArtifact(a.getGroupId(), a.getArtifactId(),
            VersionRange.createFromVersion(a.getVersion()),
            null, a.getExtension(), null,new DefaultArtifactHandler()),v );

    File metadataFile = new File(repository,
            a.getGroupId().replace('.', '/')+"/" +
            a.getArtifactId() +"/maven-metadata.xml");

    MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();

    Writer writer = null;
    try {
        writer = new FileWriter(metadataFile);

        metadataWriter.write(writer, metadata.getMetadata());
    } catch (IOException e) {
        throw new Error("Error writing artifact metdata.", e);
    } finally {
        IOUtil.close(writer);
    }

}
 
开发者ID:ndeloof,项目名称:bees-cli-bootstrap,代码行数:34,代码来源:Assembler.java


示例12: fixTimestamp

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
/**
 * Ensures the last updated timestamp of the specified metadata does not refer to the future and fixes the local metadata if necessary to allow
 * proper merging/updating of metadata during deployment.
 */
private void fixTimestamp( File metadataFile, Metadata metadata, Metadata reference )
{
    boolean changed = false;

    if ( metadata != null && reference != null )
    {
        Versioning versioning = metadata.getVersioning();
        Versioning versioningRef = reference.getVersioning();
        if ( versioning != null && versioningRef != null )
        {
            String lastUpdated = versioning.getLastUpdated();
            String now = versioningRef.getLastUpdated();
            if ( lastUpdated != null && now != null && now.compareTo( lastUpdated ) < 0 )
            {
                getLogger().warn(
                                  "The last updated timestamp in " + metadataFile + " refers to the future (now = "
                                      + now + ", lastUpdated = " + lastUpdated
                                      + "). Please verify that the clocks of all"
                                      + " deploying machines are reasonably synchronized." );
                versioning.setLastUpdated( now );
                changed = true;
            }
        }
    }

    if ( changed )
    {
        getLogger().debug( "Repairing metadata in " + metadataFile );

        Writer writer = null;
        try
        {
            writer = WriterFactory.newXmlWriter( metadataFile );
            new MetadataXpp3Writer().write( writer, metadata );
        }
        catch ( IOException e )
        {
            String msg = "Could not write fixed metadata to " + metadataFile + ": " + e.getMessage();
            if ( getLogger().isDebugEnabled() )
            {
                getLogger().warn( msg, e );
            }
            else
            {
                getLogger().warn( msg );
            }
        }
        finally
        {
            IOUtil.close( writer );
        }
    }
}
 
开发者ID:gems-uff,项目名称:oceano,代码行数:58,代码来源:DefaultRepositoryMetadataManager.java


示例13: updateRepositoryMetadata

import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; //导入依赖的package包/类
protected void updateRepositoryMetadata( ArtifactRepository localRepository,
                                         ArtifactRepository remoteRepository )
    throws IOException, XmlPullParserException
{
    MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();

    Metadata metadata = null;

    File metadataFile = new File( localRepository.getBasedir(),
        localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );

    if ( metadataFile.length() == 0 )
    {
        metadataFile.delete();
    }
    else if ( metadataFile.exists() )
    {
        Reader reader = null;

        try
        {
            reader = ReaderFactory.newXmlReader( metadataFile );

            metadata = mappingReader.read( reader, false );
        }
        finally
        {
            IOUtil.close( reader );
        }
    }

    boolean changed;

    // If file could not be found or was not valid, start from scratch
    if ( metadata == null )
    {
        metadata = this.metadata;

        changed = true;
    }
    else
    {
        changed = metadata.merge( this.metadata );
    }

    // beware meta-versions!
    String version = metadata.getVersion();
    if ( version != null && ( Artifact.LATEST_VERSION.equals( version ) || Artifact.RELEASE_VERSION.equals(
        version ) ) )
    {
        // meta-versions are not valid <version/> values...don't write them.
        metadata.setVersion( null );
    }

    if ( changed || !metadataFile.exists() )
    {
        Writer writer = null;
        try
        {
            metadataFile.getParentFile().mkdirs();
            writer = WriterFactory.newXmlWriter( metadataFile );

            MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();

            mappingWriter.write( writer, metadata );
        }
        finally
        {
            IOUtil.close( writer );
        }
    }
    else
    {
        metadataFile.setLastModified( System.currentTimeMillis() );
    }
}
 
开发者ID:gems-uff,项目名称:oceano,代码行数:77,代码来源:AbstractRepositoryMetadata.java



注:本文中的org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java HasMouseOutHandlers类代码示例发布时间:2022-05-22
下一篇:
Java Command类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap